Правила ссылочной целостности 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Правила ссылочной целостности



Эти правила предусматривают действия, которые должны выполняться при вставке, обновлении или удалении экземпляра в одной из связанных сущностей. Основными правилами являются:

1) restrict – ограничение, запрет.

2) none – отсутствие действия.

3) cascade – каскад.

4) set default – установка значения по умолчанию.

Так, например, для вставки экземпляра в главную сущность предусмотрено правило none, а при вставке в подчиненную сущность, если нет соответствующей записи в главной сущности, установлено правило restrict.

Связь иерархия наследования (категориальная или иерархия категорий)

Это особый вид объединения нескольких (3 и более) сущностей, имеющих общие атрибуты. Эти атрибуты включаются в сущности «Предок», а каждая из сущностей «Потомок» может иметь, дополнительно к общим атрибутам, свои специфические атрибуты.

Все сущности имеют одинаковые ключи, связь “предок”à“потомок”: 1:1.

               
   
атрибутN
 
 
АтрПот1L
 
АтрПот2K
 
АтрПот3M
дискриминатор

 


Рекурсивная связь

Одна и та же сущность является главной и подчиненной одновременно. При введении рекурсивной связи ключ должен мигрировать в качестве FK в не ключевую область. Однако сущность не может включать атрибуты с одинаковыми именами. Поэтому вводится имя роли - синоним имени ключа, указывающий, какую роль играет атрибут в подчиненной сущности.

Рекурсивная связь – не идентифицирующая необязательная всегда, т.к. экземпляр “руководитель” никому не подчиняется, и FK для него имеет пустое значение.

4.2.5. ∞:∞

Эта связь имеет смысл только на логическом уровне, т.к. не поддерживается современными СУБД. Эта связь развивается на две связи 1:∞ с использованием объекта-связки.

Заключение по логической модели:

Логическая модель позволяет получить формализованное описание предметной области практически для любой СУБД, использующую модель CASE-средства (в нашем случае – реляционную модель). Например: Access, MS SQL Server, Oracle, Informix. Логическая модель создается при участии заказчика (пользователя) и должна быть понятна ему.

Физическая модель

Формируется в результате автоматического преобразования в CASE-средстве логической модели и определяется свойствами выбранной СУБД. Одной логической модели может соответствовать несколько физических (для различных СУБД).

Основными элементами модели являются:

1) таблицы

2) колонки

3) связи между таблицами

Таблицы и колонки

Таблицы и колонки физического уровня соответствуют сущностям и атрибутам логического уровня и по умолчанию им присваиваются те же имена. В то же время таблицы и колонки полностью определяют будущие таблицы и поля БД в среде выбранной СУБД.

В физической модели указываются типы данных выбранной СУБД, соответствующие обобщенным типам данных логической модели. При необходимости разработчиком могут быть внесены изменения:

1) переименование таблицы или колонки

2) изменение типа данных

3) денормализация части таблиц

Эти изменения никак не отражаются на логическом уровне модели.

Колонкам на физическом уровне по умолчанию устанавливается запрет нулевых значений для ключевых колонок и разрешение пустых значений для не ключевых. Разработчик должен изменить те типы данных, которые не отвечают установленным по умолчанию. Так, нельзя оставлять тип данных Integer для поля “цена” – нужен тип данных Currency или Single (одинарное с плавающей запятой). Для колонок могут задаваться значения по умолчанию и правила валидации (проверки допустимых значений).

На физическом уровне могут быть созданы представления – временные таблицы, содержащие результаты запросов к таблице или нескольким связанным таблицам. Представления обозначаются пунктирными прямоугольниками, создаются с использованием конструкций SQL.

5.2. Связи между таблицами

При передаче связи ∞:∞ с логического уровня на физический она автоматически преобразуется в 2 связи 1:∞ и автоматически добавляется объект-связка.

Преобразуется в:

Объект-связка обязательно редактируется разработчиком.

Прямое проектирование

– переход от логической системы к физической и генерация структуры (схемы) новой БД в среде выбранной СУБД.

При этом разработчику доступен для просмотра и изменения script на языке SQL Ии встроенном языке SQL, содержащий инструкции, описывающие все действия, производимые CASE-средством при генерации.

При генерации схемы для каждой таблицы будут созданы уникальные индексы на основе первичного ключа и неуникальные индексы для всех FK и для неуникальных полей, часто используемых при обращении к таблице (называемых инверсионными кодами). Создаваемым индексам присваиваются имена по шаблонам. Так для версии 3.5.2 4.1 имя индекса начинается с “X”, дальше - обозначение ключа: “PK” и имя таблицы: XPKизделие

Для версии 7.1 имя индекса: ИмяКлючаИмяТаблицы

Про индексы (дополнение к пункту II.6)

Используются следующие виды организации индексов:

Индексно-последовательный

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

Пример: дан массив: 14 26 31 35 39 42 47 52 54 58 63 66 68 72 75 d=3

индекс: 31 42 54 66 75

Поиск искомого значения ключа q при такой организации происходит в две стадии:

1) среди индексов, значения которых отсортированы в силу упорядоченности основного массива – находим соседние значения индекса

2) среди записей основного массива, расположенных между соседними значениями, найденными на 1-ой стадии



Поделиться:


Последнее изменение этой страницы: 2017-01-27; просмотров: 488; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 44.201.64.238 (0.012 с.)