Выберите исключительно поле из таблицы - PullRequest
2 голосов
/ 22 октября 2008

Я должен добавить таблицу купонов к моей базе данных. Есть 3 типа купонов: процент, сумма или 2 на 1.

До сих пор я придумал таблицу купонов, которая содержит эти 3 поля. Если процентное значение не равно нулю, то это купон такого типа.

Я чувствую, что это неправильный способ сделать это. Должен ли я создать таблицу CouponType и как бы вы ее увидели? Где бы вы хранили эти значения?

Любая помощь или кий приветствуется!

Спасибо

Teebot

Ответы [ 3 ]

4 голосов
/ 22 октября 2008

Вы правы, я думаю, что таблица CouponType подойдет для вашей проблемы.

Две таблицы: Купоны и Типы купонов. Сохраните CouponTypeId в таблице купонов.

Так, например, у вас будет запись о купоне, называемая «скидка 50%», если вы будете ссылаться на процент от записи купона с типом купона, и оттуда вы сможете определить логику для получения 50% от стоимости товара.

Так что теперь вы можете создавать неограниченные купоны, если это купон типа суммы в долларах, он возьмет столбец «сумма» и будет рассматривать его как сумму в долларах. Если это процент в процентах, он будет обрабатываться как процент, а если это сделка «х для 1», он будет воспринимать значение как х.

- Table Coupons
  - ID
  - name
  - coupon_type_id # (or whatever fits your style guidelines)
  - amount # Example: 10.00 (treated as $10 off for amount type, treated as  
           # 10% for percent type or 10 for 1 with the final type) 
  - expiration_date

- Table CouponTypes
  - ID
  - type # (amount, percent, <whatever you decided to call the 2 for 1> :))
2 голосов
/ 22 октября 2008

В будущем у вас может быть гораздо больше разных типов купонов. С ними также может быть связана другая бизнес-логика - вы никогда не узнаете. В этом случае всегда полезно делать все правильно, поэтому, да, определенно, создайте поле типа купона и соответствующую таблицу словаря, чтобы идти с ним.

1 голос
/ 22 октября 2008

Я бы определенно создал таблицу поиска CouponType. Таким образом, вы избегаете всех пустых значений и получаете больше типов купонов в будущем.

Купон coupon_id INT имя VARCHAR coupon_type_id INT <- внешний ключ </p>

CouponType coupon_type_id INT type_description VARCHAR ...

Или, я полагаю, в таблице купонов может быть столбец типа купона CHAR (1)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...