Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS SQL Server > Курговые связи в БД


Автор: N1ko 19.4.2010, 17:40
Здравствуйте. Когда нам читали лекции по SQL Server, преподаватель говорил, что при составлении связей между таблицами не желательно наличие круговых связей. То есть таблица Tab_А связывается с Tab_B по какому нить полю. Tab_B с Tab_С. И Tab_С в свою очередь с Tab_А. Или я что то неправильно восстановил в памяти? Насколько вообще это актуально? Чем это может грозить? И стоит ли стремиться к уменьшению их количества?

Автор: Akina 19.4.2010, 17:50
Deadlock

Автор: N1ko 19.4.2010, 17:57
Значит это весьма критично... Как я понял таких моментов в БД вообще быть  не должно. Спасибо за заданное направление=)

Автор: kobra 24.4.2010, 14:12
Цитата(N1ko @  19.4.2010,  17:57 Найти цитируемый пост)
Как я понял таких моментов в БД вообще быть  не должно
не совсем так. но как говорил лектор
Цитата(N1ko @  19.4.2010,  17:40 Найти цитируемый пост)
не желательно наличие круговых связей.

кстати, иногда даже полезно smile

Автор: DimW 27.4.2010, 10:16
Цитата(kobra @  24.4.2010,  14:12 Найти цитируемый пост)
кстати, иногда даже полезно

в чем польза и для кого?

Автор: Akina 27.4.2010, 10:23
Не надо путать круговые и псевдокруговые связи. Настоящая круговая связь - это когда кольцо замыкается на уровне записи, а не таблицы. Это - зло, без вариантов.
А вот псевдокруги действительно допустимы - это позволяет уменьшить количество таблиц и собирать сходные подсущности в одну таблицу.

Автор: kobra 28.4.2010, 11:36
Akina прояснил. правда
Цитата(DimW @  27.4.2010,  10:16 Найти цитируемый пост)
в чем польза и для кого?

делал я такое (на уровне записи) один рас. результат: все работало отлично, но для удаления записи требовалось разрыв кольца, иначе никак. а удалять из базы, было запрещено.
так что пригадилос smile

Автор: Zloxa 28.4.2010, 12:16
Цитата(Akina @  19.4.2010,  17:50 Найти цитируемый пост)
Deadlock 

Можешь показать? Я не смог

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)