Почему я должен избегать циклов при проектировании отношений для базы данных?

Кто-то сказал мне, что циклы в модели данных - это плохой дизайн. Я слышал это раньше пару раз, но не придал этому значения. Например, у вас есть сущности User, Project, Activity. Проект принадлежит пользователю, поэтому у нас есть отношение "один-ко-многим" от пользователя к проекту. Деятельность может быть назначена одному пользователю, еще одно отношение "один-ко-многим" от пользователя к деятельности. Конечно, проект определяется набором работ, еще одно отношение "один-ко-многим" от проекта к работе. Таким образом, образуется петля.

Я спросил этого парня, почему это плохой дизайн, но он сказал мне, что тоже не знает, ему тоже так сказали, обезьянье обучение в лучшем виде.

Я пытался искать, но, похоже, я не использовал подходящих слов, однако мне кажется, что это то, что должно быть фундаментальным для того, кто пытается спроектировать БД.

Итак, может ли кто-нибудь указать мне на полезную информацию о циклах в диаграммах er/db, следует ли их избегать?

52
задан pgpb.padilla 16 December 2011 в 06:51
поделиться