Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как переделать структуру базы? / 5 сообщений из 5, страница 1 из 1
04.07.2009, 11:11
    #36073301
Pilot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переделать структуру базы?
Други, хэлп ми.

Есть таблица рекламаций клиентов с полем, ссылающимся на виновное подразделение, допустившее оплошность.
Т.е. грубо говоря, таблица:
reclamations...guilty_department_id...
и таблица
departmentsid...

Теперь вот пришло требование, что в качестве виновной структуры может быть не только подразделение фирмы, но и какая-то сторонняя причина (например, "Брак поставщика").
И вот я теперь ломаю голову, как бы так переделать структуру таблиц, чтобы в случае косяка фирмы хранить виновное подразделение, в случае иной причины - тоже как-то отразить сей факт.


P.S. Все хранится в MySQL 5, если это важно.
...
Рейтинг: 0 / 0
04.07.2009, 13:29
    #36073358
an0nym
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переделать структуру базы?
Pilot, у guilty_department_id разрешить NULL и добавить поле под др. причину - когда guilty_department_id IS NULL должно проставляться второе поле.
...
Рейтинг: 0 / 0
05.07.2009, 13:17
    #36073764
Pilot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переделать структуру базы?
guilty_department_id и так обнуляемое - виновное подразделение не всегда определено (например, если идет расследование).
В принципе, да. Ваше решение подходит. Возможно, есть альтернативы?
...
Рейтинг: 0 / 0
05.07.2009, 17:13
    #36073885
ChA
ChA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переделать структуру базы?
Pilotguilty_department_id и так обнуляемое - виновное подразделение не всегда определено (например, если идет расследование).
В принципе, да. Ваше решение подходит. Возможно, есть альтернативы?Сделать таблицу связи, что-то типа "reclamations_causes" между "reclamations" и справочником "сторонняя причина", с добавлением уникальности(или PK) по идентификатору рекламации, если может быть только одна причина.
Аналогично можно было бы сделать и с заменой поля "guilty_department_id" на такую же таблицу связи. Но так как, по факту, оно уже в таблице есть, то оставить всё как было, дабы не переписывать зависимый код, если таковой существует.
...
Рейтинг: 0 / 0
10.07.2009, 16:14
    #36084685
Pilot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как переделать структуру базы?
ChA
Спасибо! Интересное решение. Попробую реализовать.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как переделать структуру базы? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]