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

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

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


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


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