![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Одной из главных задач при эксплуатации БД, является задача поддержания правил ссылочной целостности, которые были определены при проектировании. Эти правила отражают заданные связи между сущностями и порядок выполнения операций вставка, замена и удаление. Если эти правила не будут соблюдены, то БД быстро деградирует, и не будет отражать те бизнес – правила, которые были заложены при ее проектировании.
Правила контроля и выполнения этих операций может быть возложена на специально разработанные пользователем программы, но данное решение крайне не надежное и трудоемкое для его реализации. Задача поддержания правил ссылочной целостности обычно реализуется автоматически при генерации схемы БД на основе режимов реализации связей (отношений) с помощью триггеров, обеспечивающих ссылочную целостность. Данные триггера представляют собой программы, выполняемые всякий раз при выполнении операций вставка, замена и удаление. Таким образом, при проектировании автоматически обеспечивается правильная эксплуатация БД.
На рис. 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; Прочитано: 1013 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!