Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ссылочная целостность  [new]
bacalavr
Member

Откуда:
Сообщений: 311
Есть рабочая бд с организацией ссылочной целостности посредством громадного количества триггеров и практически очень небольшого количества внешних ключей.
Пишется модуль для этой бд, в котором предлагается организовать ссылочную целостность именно посредством внешних ключей. Могут ли при этом возникнуть проблемы при внедрении модуля?
именно из-за различия организации целостности?
заранее благодарен.
25 авг 09, 17:31    [7578763]     Ответить | Цитировать Сообщить модератору
 Re: Ссылочная целостность  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
Вы можете снизить до минимума вероятность появления проблем при внедрении,
если проведете качественную отладку и тестирование разрабатываемой Вами функциональности
25 авг 09, 17:36    [7578796]     Ответить | Цитировать Сообщить модератору
 Re: Ссылочная целостность  [new]
Edkonst2008
Member

Откуда:
Сообщений: 503
bacalavr
Есть рабочая бд с организацией ссылочной целостности посредством громадного количества триггеров и практически очень небольшого количества внешних ключей.
Пишется модуль для этой бд, в котором предлагается организовать ссылочную целостность именно посредством внешних ключей. Могут ли при этом возникнуть проблемы при внедрении модуля?

Скорее всего, только если была каким-то образом наружена сслочная целостность на момент обновления
25 авг 09, 17:38    [7578811]     Ответить | Цитировать Сообщить модератору
 Re: Ссылочная целостность  [new]
bacalavr
Member

Откуда:
Сообщений: 311
Паганель
Вы можете снизить до минимума вероятность появления проблем при внедрении,
если проведете качественную отладку и тестирование разрабатываемой Вами функциональности

на данный момент интересует теоретически возможные недоразумения.
на практике само собой будет все обкатываться не одну сотню раз.
25 авг 09, 17:40    [7578823]     Ответить | Цитировать Сообщить модератору
 Re: Ссылочная целостность  [new]
Паганель
Member

Откуда: Винница
Сообщений: 22552
теоретически - не знаю
25 авг 09, 17:42    [7578834]     Ответить | Цитировать Сообщить модератору
 Re: Ссылочная целостность  [new]
Glory
Member

Откуда:
Сообщений: 104760
bacalavr
Есть рабочая бд с организацией ссылочной целостности посредством громадного количества триггеров и практически очень небольшого количества внешних ключей.
Пишется модуль для этой бд, в котором предлагается организовать ссылочную целостность именно посредством внешних ключей. Могут ли при этом возникнуть проблемы при внедрении модуля?
именно из-за различия организации целостности?
заранее благодарен.

Т.е. вы параллельно к ссылочной целостности на триггерах добавите для тех же таблиц еще ссылочную целостность на внешних ключах ?
25 авг 09, 17:46    [7578854]     Ответить | Цитировать Сообщить модератору
 Re: Ссылочная целостность  [new]
bacalavr
Member

Откуда:
Сообщений: 311
факстически, в каких-то местах - и ключи и триггера, где-то будут только внешние ключи, где-то - только триггера
25 авг 09, 17:50    [7578871]     Ответить | Цитировать Сообщить модератору
 Re: Ссылочная целостность  [new]
iap
Member

Откуда: Москва
Сообщений: 46975
Попробуйте, например, сделать у таблицы два каскадных FK, ссылающиеся разными полями на одну и ту же таблицу.
Различен и момент срабатывания: если триггеры AFTER (FOR) вызываются после действия с таблицей, то в случае с нарушением FK - до.
Не знаю, правда, хорошо это или плохо.
Невозможно с помощью FK создать ссылочную целостность объектов из разных баз. А триггером - запросто.
25 авг 09, 17:50    [7578872]     Ответить | Цитировать Сообщить модератору
 Re: Ссылочная целостность  [new]
Glory
Member

Откуда:
Сообщений: 104760
bacalavr
факстически, в каких-то местах - и ключи и триггера,

Проверка внешних ключей производится до запуска триггеров. И соответственно ошибка на этом шаге не позволит триггерам вообще сработать.
25 авг 09, 17:52    [7578889]     Ответить | Цитировать Сообщить модератору
 Re: Ссылочная целостность  [new]
bacalavr
Member

Откуда:
Сообщений: 311
Glory
Проверка внешних ключей производится до запуска триггеров. И соответственно ошибка на этом шаге не позволит триггерам вообще сработать.

то есть, лишних ключей на уже реализованные таблицы лучше не вешать, дабы не нарушать логику вызова триггеров. на вновь созданные таблицы _со своей логикой_ можно вешать что угодно.
я правильно вас понял?
25 авг 09, 17:54    [7578903]     Ответить | Цитировать Сообщить модератору
 Re: Ссылочная целостность  [new]
Glory
Member

Откуда:
Сообщений: 104760
bacalavr
Glory
Проверка внешних ключей производится до запуска триггеров. И соответственно ошибка на этом шаге не позволит триггерам вообще сработать.

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

Да. Нужно выбрать один способ реализации ссылочной целостности. Потому что два параллельных способа будут только мешать.
25 авг 09, 17:56    [7578911]     Ответить | Цитировать Сообщить модератору
 Re: Ссылочная целостность  [new]
bacalavr
Member

Откуда:
Сообщений: 311
Благодарю
25 авг 09, 17:57    [7578934]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить