Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Ссылочная целостность



Одной из главных задач при эксплуатации БД, является задача поддержания правил ссылочной целостности, которые были определены при проектировании. Эти правила отражают заданные связи между сущностями и порядок выполнения операций вставка, замена и удаление. Если эти правила не будут соблюдены, то БД быстро деградирует, и не будет отражать те бизнес – правила, которые были заложены при ее проектировании.

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

На рис. 5.4. приведен пример определения правил ссылочной целостности для реализации связи F_COU_AD в среде Erwin.

Рис. 5.4. Пример определения правил ссылочной целостности

Cascade – задает каскадное действие (например, удаление родительской записи влечет удаление всех записей у потомков), Restrict – задает ограничение на выполнение действия, (на пример, нельзя удалить родительскую запись, пока есть записи у потомков и наоборот), Set Null – задает действие по установлению FK равным NULL, при удалении родительской записи, Set Default – задает действие по установлению FK равным Default, при удалении родительской записи, None Action – ни каких действий не требуется, если удалены потомки (например, D:R – для родителя, D:S – для потомка или I:R – для потомка, если нет родителя).

Домены

Стандарт IDEF1x определяет домен как – поименованный и определенный набор значений, такой что один или более атрибутов получают значения из этого домена.

Домен, как и класс, который фиксирует и определяет допустимое множество значений. Например, домен «код–страны» (см. рис. 5.5.) – определяет код страны, который может состоять из двух специальных букв. Домен – это неизменный класс значения, которого не изменяются во времени. В противоположность этому значения сущности меняются во времени. Каждое значение домена уникальное в этом домене.

Рис. 5.5. Пример домена

Существуют два типа доменов: базовые домены (Character, Numeric, Boolean в IDEF1x, а в Erwin: String, Number, Datetime, Blob) и типизированные домены (производные), например, «код–страны–СНГ». Все базовые домены имеют правила использования значений данных из домена. Наиболее используемые это два правила: список значений и диапазоны. Для каждого домена могут быть установлены свои правила определения значений.

Типизированные домены – это подтипы базовых типов или другие типизированные домены.

На логическом уровне домены можно описать без конкретных физических свойств, а уже на физическом уровне они получают конкретные специфические свойства. Например, домен «код–страны–СНГ» на логическом уровне может иметь тип String, а на физическом уровне (DB2) будет присвоен тип Char(2) и указано конкретное множество значений домена и правила валидации. Для другой БД физический уровень значений может быть задан свой.





Дата публикования: 2014-10-25; Прочитано: 965 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...