Я работаю с базой данных со следующим дизайном. Я читал, что не очень хорошая практика иметь замкнутые контуры в дизайне базы данных, и у меня их более одного. Но я не могу вспомнить, почему. Поэтому не уверен, как это может повлиять на меня. Любые примеры того, как это может быть опасно?sql замкнутые отношения; что может пойти не так?
Edit: прошел через мои книги, нашел то, что я читал было Начало проектирования баз данных От новичка до профессионального, издатель: Apress.
они просто предупреждают об этом, но дают неопределенную причину. Нет, мы не используем триггеры. У кого-то есть более четкое объяснение?
Благодаря Выдержки, стр.109:
Небольшая компания имеет сотрудников, каждый из которых для одного из целого ряда различных небольших проектных групп. Каждая группа и всех ее сотрудники размещены в одном конкретного помещения с большими комнатами корпусом несколько groups.We может потребовать информации, таких как, где каждый сотрудник находится, номер телефона конкретного сотрудника, где найти конкретной группу , сотрудники которого работают в каждой группе, кто находится в каждом номере , и так далее. Одна возможная информация показана на рисунке 5-7. Возьмите момент, чтобы понять модель данных и информацию о нем количество групп в комнате и так для этой конкретной проблемы. Модель имеет избыточную информацию. Может вы видите, что это такое?
В отношении примера 5-3, если мы регулярно хотите найти номер телефона сотрудника, мы могли бы думать, что верх отношения на рисунке 5-7 между Employee и номер будет полезным прямым маршрутом. Однако эта же информация очень легко доступна по альтернативному маршруту через группу. Мы можем найти группу сотрудников (только одну) , а затем найти номер этой группы (только один номер ). Это очень простой поиск (это не связано со всеми осложнениями с датами, которые преследовали небольшое общежитие в примере 5-2). Однако дополнительные отношения не являются просто лишним, это опасно. С двумя маршрутами для тех же информации, мы рискуем получить два ответа , если только данные очень тщательно сохранены. Всякий раз, когда сотрудник меняет группу или группу сменяет номера, для обновления потребуется два экземпляра отношений . Без очень осторожны обновлениями процедур, мы могли бы в конечном итоге, , что Джим находится в группе А, которая находится в номере 12, в то время как другой маршрут может у Джима связан непосредственно с номером 15. Избыточной информации склонна к несоответствиям и всегда должен быть удален .
Ваша картина не работает. –
Невозможно увидеть «следующий дизайн». Вы имеете в виду, что TableA имеет FK ref для TableB имеет FK ref для TableC имеет FK ref для TableA? –
фиксированная ссылка на проект URL – devio