Курсовые работы, лабораторные, доклады для студентов
можете скачать и поделиться с другими,
если не жалко.

 
на правах рекламы


Реляционная модель данных. Реляционные ключи. Реляционная целостность.


Вопрос № 6. Реляционная модель данных. Реляционные ключи. Реляционная целостность.

Реляционная модель данных.
Основоположником этой модели считается американский математик Кодд, который еще в 1973 году опубликовал первые статьи по теории отношения.



Основным приемом реляционной модели это простота и наглядность. В 1916 году появляются первые СУБД поддерживающие реляционную модель.

Основные понятия и определения модели. n-арным отношением R называют подмножество декартового произведения множеств D1 ,D2 ... Dn , n≥1 обязательных различных обозначений D1 *D2 *... Dn , а сами множества называются домены. Отношения отражают конкретную ситуацию и может содержать меньшее количество элементов (кортежей). Отношение может быть записано в виде таблицы. Схемой отношения называется имя отношения и перечень его атрибутов. Степень (арность) отношения - это количество атрибутов в отношении. Кардинальность (мощность) - количество кортежей в отношении, кол-во строк в таблице. Как и в предыдущих моделях между отношениями могут существовать различные связи, каждая связь носит иерархический характер, т.е. 2 отношения связанны друг с другом только в том случае, если у них имеется общий столбец. При чем общими считаются не те столбцы которые имеют общее название, а те которые являются общими по смыслу. Атрибутами отношения называют столбец таблицы или вхождение домена отношения.

Ограничения моделей
1) в отношении не может быть одинаковых строк;
2) на пересечении каждой строки и столбца таблицы должно стоять одно значение (Атрибуты отношения неделимы) Отношение в котором это ограничение реализовано называется отношением приведенным 1НФ;
3) порядок следования строк в таблице не важен. Он имеет значение только при реализации запроса;
4) значения в каждом столбце таблицы берутся из одного домена.

Реляционные ключи. Потенциальным ключом K в отношении R называется атрибут или совокупность атрибутов, которые единственным образом идентифицирует кортеж отношения. Ключ K обладает следующими свойствами: а) уникальность; б) неприводимость(из ключа К нельзя вычеркнуть ни один атрибут без потери свойств уникальности). В каждом отношении должен быть хотя бы 1 потенциальный ключ. Потенциальный ключ состоящий из 1 атрибута называется простым, из нескольких - составным. Первичным ключом отношения R называют один из ключей потенциальных выбранных для уникальной идентификации кортежей внутри отношения.

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

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

Реляционная целостность. Этот вид целостности касается только реляционных БД и содержит 2 вида ограничений:1) ограничение целостности сущности. Ни один атрибут первичного ключа не должен содержать пустые значения. Пустые значения в реляционной модели обозначаются как null ( не 0 и не пробел). Пустые значения означают неопределенное, не введенные пользователем. 2) ограничение ссылочной целостности Если в отношении R имеется внешний ключ, то его значение должно либо соответствовать некоторого значения первичного ключа, либо задается определителем null.

При выполнении операций вставки, удаления и обновления БД ссылочной целостность может быть нарушена.

Операции над подчиненными таблицами:
1) удаление строки из подчиненной таблице(ссылочная целостность не нарушается);
2) обновление строки в подчиненной таблице(внешний ключ должен соответствовать первичному);
3) вставка новой строки в подчиненную таблицу(аналогично обновлению).
Действия на основными таблицами:
1) вставка новой строки в основную таблицу(ссылочная целостность не нарушается);
2) удаление строки из основной таблицы (ссылочная целостность нарушается, если в подчиненной таблице есть строки связанные с удаленной. Для обеспечения целостности можно выбрать одну из следующих операций: restrict - запрет на удаление строк в основной таблице , если существует связанные с ними строки в подчиненной таблице; cascade - каскадное удаление строк в подчиненном отношении. При выборе этой стратегии следует помнить что она может привести к удалению многих строк в подчиненной таблице. Удаление строк редкая операция; set null - внешние ключи в строках подчиненного отношения связанные с удаленной принимают неопределенное значение; set default - принимают значения по умолчанию; no check (ignore) - СУБД не проверяет ограничения ссылочной целостности).
3) обновление первичного ключа в строках основного отношения операция крайне редкая, как правило выполняется вручную администратором БД.

Ссылочную целостность может быть нарушена, если с обновленной строкой связанны строки из подчиненной таблицы. Можно выбрать одну из стратегий, а cascade будет каскадное обновление внешнего ключа в строках подчиненной таблице связанной с обновленной строкой в обновленной основной таблице. Ограничение семантической целостности: Эти ограничения касаются не структуры БД, а ее содержимого. Эти ограничения обеспечивают запрет на ввод в БД не корректных значений. Ограничения бывают:
1) ограничения значений атрибутов (эти ограничения задаются при описании таблицы средствами языка DDL/ )
2) ограничения на уровне доменов (можно задать не в каждой СУБД. На уровне доменов удобно задавать такие ограничения, когда многие атрибуты имеют одинаковые домены. в этом случае пользователь задает тип общий для всех атрибутов. этот тип также наз. доменом)
3) ограничения на уровне таблиц (задается в том случае когда условие требует проверки значения 2-х или более таблиц)
Такие ограничения могут быть заданы 2 способами: а) декларативным; б) процедурным.

Комментарии:

Оставить комментарий
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.