Выбирать исключительно поле из таблицы

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

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

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

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

Спасибо,

Teebot

ReactJs | Supabase | Добавление данных в базу данных
ReactJs | Supabase | Добавление данных в базу данных
Это и есть ваш редактор таблиц в supabase.👇
2
0
146
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

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

Две таблицы: Coupons и CouponTypes. Сохраните CouponTypeId внутри таблицы Coupons.

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

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

- 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> :))

Большое спасибо, mwilliams. Я определенно иду туда. спасибо вам всем за ваши ответы

teebot 22.10.2008 18:12

Вы могли бы это сделать, но тогда столбец суммы используется для хранения двух разных типов данных. Это укусит вас дальше по дороге. Вы заменили 2 столбца на один столбец и соединение - я бы оставил 2 столбца!

AJ. 23.10.2008 19:44

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

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

CouponType coupon_type_id INT type_description VARCHAR ...

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

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

Другие вопросы по теме