|
|
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
Проблеман, наверное не нова. Есть сущность заказ. Заказ может находится в нескольких стадиях. С каждой стадией добавляются новые атрибуты заказа. Стадий всего несколько штук, причем, новых атрибутов в них по одному, два. Певрое, что приходит в голову, засунуть атрибуты всех стадий в одну таблицу Заказы + добавить поле Текущая стадия. Заказы (IDзаказа, атрибут1Стадии1, атрибут2Стадии2, ..., атрибутkСтадииm) НО! Большую часть времени в атрибутах большинства стадий будет NULL, т. к. заказ не сразу проходит все стадии. Не все заказы могут доходить до финальной стадии, соответсвенно NULL будет вечно. Второй вариант, для каждой стадии отдельная таблица. НО! Придется делать постоянно JOIN. Т. к. данные, которые храняться на первых стадия нужны постоянно. Подозреваю, что ситуация шаблонная, подскажите как лучше спроектировать БД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 17:54 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
В принципе, у каждого подхода можно назвать свои преимущества, но в общем случае первый, пожалуй, удобнее. "Пятая стадия заказа" вряд ли представляет из себя настолько осмысленную сущность, чтобы было удобно вынести ее в отдельную таблицу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 18:24 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
Лучше смотреть на нормализацию таблиц и отсюда выбирать схему. Кстати - а что подразумевается ввиду под "Заказы и стадии" ? (очень много разных можно придумать задач - от оформления корзины в интернет магазине до провода заказа производства дизеля на заводе). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 18:48 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
Вставляй NULL поля и не парься. Если конечно при этом нормализована будет таблица. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 19:47 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
Че-та я не понял. >> Заказ может находится в нескольких стадиях имеется в виду одновременно? Хм... тогда налицо должна быть таблица - список текущих стадий. Чтобы можно было одним запросом выбирать заказы которые прошли несколько стадий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 19:54 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
ASCRUS Кстати - а что подразумевается ввиду под "Заказы и стадии" ? (очень много разных можно придумать задач - от оформления корзины в интернет магазине до провода заказа производства дизеля на заводе). Скорее второе, первая стадия это дата, id_заказчика, описание заказа, на других стадия появляются: отвественный за заказ, сумма, и т. п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 20:59 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
gardenmanЧе-та я не понял. >> Заказ может находится в нескольких стадиях имеется в виду одновременно? Нет в одном из них. Причем, историю отслеживать не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2006, 21:02 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
NULL однозначно! (с)ВВЖ Все связанные с этим вариантом ограничения в Вашем случае выполнены -только одна стадия в любой момент, нет истории, мало специфических данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 15:29 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
2 XORR А почему нельзя просто в заказы вставить ссылку на таблицу стадий (текущее), которая ссылается на перечень своих атрибутов? Плюс таблица значений атрибутов, имеющая ссылку на заказ (типа история значений по стадиям). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 16:29 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
Серега А почему нельзя? Можно. Если нужно занять ближайшее время круто выглядящей бесполезной работой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 17:11 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
Всем спасибо, решено - NULL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 18:52 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
А завтра появится N+1 стадия , что делать бушь? перестраивать таблицу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 22:05 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
dvmА завтра появится N+1 стадия , что делать бушь? перестраивать таблицу? Фся наша жисть - ихра!! сегодня так таблицу перестраиваить, завтра эдак. А что поделать !! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.02.2006, 22:14 |
|
||
|
JOIN vs NULL
|
|||
|---|---|---|---|
|
#18+
пользуем мы такую табличку Код: plaintext И не отказаться от этого безобразия. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2006, 02:57 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=33519615&tid=1545428]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
140ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 200ms |
| total: | 428ms |

| 0 / 0 |
