|
|
|
Периоды в MySQL.
|
|||
|---|---|---|---|
|
#18+
Проектирую интернет-магазин. Товар имеет следующие свойства: это аренда площадей, каждый месяц возможен новый заказ, соответственно товар может продаваться каждый месяц один раз, а может вообще не продаться. И совершенно замучился в каком виде лучше сделать схему базы данных. Вот такой вариант есть. Делаем таблицу товаров (например goods). А в ней просто периоды (месяцы) выставляем полями. Например, m1, m2, m3 и так далее. По мере "продвижения во времени" редактируем таблицу и добавляем новые периоды, соответственно редактируем. Остается (кроме прочих) проблема с выборкой значения за период, имена полей нужно будет также изменять где-то в скриптах. Занятость показываем просто изменением значения для товара в поле m?. Но нельзя ли как-то периоды определить в отдельную таблицу? И какова должна быть схема базы данных? Как я понимаю, должны быть три таблицы: "товары", "периоды" и "заказы". Ну и еще таблица "клиенты" соответственно. Вот как это будет наиболее верно реализовать. Подскажите, пожалуйста, если есть какие-то идеи по схеме. Был бы очень благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2004, 11:12 |
|
||
|
Периоды в MySQL.
|
|||
|---|---|---|---|
|
#18+
Я бы сделал так: Products(ProductID, ProdField1, ..., ProdFieldN) Periods(PeriodID, Year, Month, ...) ProductsPeriods(ProductPeriodID, ProductID, PeriodID, ...) Выборка за период: SELECT Field1, ..., FieldK Products INNER JOIN ProductsPeriods USING(ProductID) INNER JOIN Periods USING(PeriodID) WHERE Products.ProductID = 134123 AND Periods.Year = 2004 AND Periods.Month = 8 Преимущества налицо: одни раз создав, не надо ничего больше редактировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2004, 13:02 |
|
||
|
Периоды в MySQL.
|
|||
|---|---|---|---|
|
#18+
Имхо - лучше периоды выборкой регулировать - т.е. в таблицу писать ID товара и дату продажи, а в выборке - группировать по monthname(дата продажи). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2004, 13:04 |
|
||
|
Периоды в MySQL.
|
|||
|---|---|---|---|
|
#18+
Если период представляет из себя только месяц, только дату, то тогда его действительно лучше в ProductsPeriods ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.08.2004, 13:09 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32644444&tid=1854904]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 211ms |
| total: | 457ms |

| 0 / 0 |
