
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.08.2004, 11:12
|
|||
|---|---|---|---|
|
|||
Периоды в MySQL. |
|||
|
#18+
Проектирую интернет-магазин. Товар имеет следующие свойства: это аренда площадей, каждый месяц возможен новый заказ, соответственно товар может продаваться каждый месяц один раз, а может вообще не продаться. И совершенно замучился в каком виде лучше сделать схему базы данных. Вот такой вариант есть. Делаем таблицу товаров (например goods). А в ней просто периоды (месяцы) выставляем полями. Например, m1, m2, m3 и так далее. По мере "продвижения во времени" редактируем таблицу и добавляем новые периоды, соответственно редактируем. Остается (кроме прочих) проблема с выборкой значения за период, имена полей нужно будет также изменять где-то в скриптах. Занятость показываем просто изменением значения для товара в поле m?. Но нельзя ли как-то периоды определить в отдельную таблицу? И какова должна быть схема базы данных? Как я понимаю, должны быть три таблицы: "товары", "периоды" и "заказы". Ну и еще таблица "клиенты" соответственно. Вот как это будет наиболее верно реализовать. Подскажите, пожалуйста, если есть какие-то идеи по схеме. Был бы очень благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.08.2004, 13:02
|
|||
|---|---|---|---|
|
|||
Периоды в 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:04
|
|||
|---|---|---|---|
Периоды в MySQL. |
|||
|
#18+
Имхо - лучше периоды выборкой регулировать - т.е. в таблицу писать ID товара и дату продажи, а в выборке - группировать по monthname(дата продажи). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.08.2004, 13:09
|
|||
|---|---|---|---|
|
|||
Периоды в MySQL. |
|||
|
#18+
Если период представляет из себя только месяц, только дату, то тогда его действительно лучше в ProductsPeriods ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&mobile=1&tid=1854904]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
204ms |
get topic data: |
7ms |
get forum data: |
1ms |
get page messages: |
22ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 457ms |

| 0 / 0 |
