Ограничения целостности реляционной модели данных 


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



ЗНАЕТЕ ЛИ ВЫ?

Ограничения целостности реляционной модели данных



Запрет дублирования кортежей в отношении.

Порядок кортежей не определен. В БД они хранятся в произвольном порядке.

Порядок атрибутов не определен. Обращение по имени.

Два правила целостности:

Целостность по сущностям: ключевые атрибуты не допускают NULL.

Целостность по ссылкам: FK содержат значения либо PK, либо NULL.

Операции над данными в реляционной модели данных.

Операции обновления отношения.

Операция добавления кортежа в отношение

] r(A1,..,An) - обновляемое отношение, {d1,..,dn} - добавляемый кортеж.

ADD(r; A1 = d1,.., An = dn);

Операция удаления кортежа из отношения

] r(A1,..,An) - обновляемое отношение, {d1,..,dn} - удаляемый кортеж.

DEL(r; A1 = d1,.., An = dn);

Удаление по PK: DEL(r; k = <k>), k = PK;

Изменение значения данных в одном из кортежей

] r(A1,..,An) - обновляемое отношение, {d1,..,dn} - старый кортеж, {e1,..,en} - новый кортеж.

CH(r; A1 = d1,.., An = dn; A1 = e1,.., An = en);

Изменение по PK: CH(r; k = <k>; A1 = e1,.., An = en), k = PK;

 

Операции реляционной алгебры(операции над множествами и специальные операции).

Операции над множествами.

Пересечение отношений

] R(A1,..,An) - схема отношения, тогда:

r(R) = a(R)*b(R), где r(R) = (t1,..,tm), причем ti: ti \in a(R) и ti \in b(R);

Объединение двух отношений

] R(A1,..,An) - схема отношения, тогда:

r(R) = a(R)+b(R), где r(R) = (t1,..,tm), причем ti: ti \in a(R) или ti \in b(R);

Разность двух отношений

] R(A1,..,An) - схема отношения, тогда:

r(R) = a(R)-b(R), где r(R) = (t1,..,tm), причем ti: ti \in a(R) и ti \notin b(R);

Дополнение отношения

Дополнение к отношению r, это множество r^ = D - r, причем D конечное множество, иначе операция дополнения не определена.

Активное дополнение отношения

Активное дополнение к отношению r, это множество r" = D-r;

D = adom(A1,r)x,..,x(An,r) -декартово произведение активных доменов.

adom(Ai,r) = {d\inDi| \exsist t \in r: t(Ai) = d}; - активный домен.

Активное дополнение используется в случае, если D бесконечно.

Специальные операции

Операция проекции

Результат - новое отношение со схемой состоящей из выбранных атрибутов и содержащее все значения этих атрибутов в проецируемом отношении.

R1(A1,..,An);

Map(r(R1),Ai) = s(R2), где R2(Ai,..,Ak);

или: П(r,A) = {t(A) | t\in r}; r(R), A \in R;

Операция селекции

Результат - новое отношение, содержащее кортежи со значениями a на атрибуте A.

Ъ(a,A=a) = {t \in r | t(A) = a};

Операция естественного соединения

Результат - новое отношение r(R), полученное из отношений a(A), b(B), причем R это A+B-A*B;

r(R) = a(A) |><| b(B) = {t \in A+B| \exist ta \in A, \exist tb \in B
: ta = t(A), tb = t(B), ta(A*B) = tb(A*B) = t(A*B)};

Операция эквисоединения

]r(R(A)),s(S(B)) -отношения, причем R*S = \emptyset;

dom(A) = dom(B);

r(R)[A=B]s(S) = {t \in R+S| \exist tr \in R, \exist ts \in S: tr = t(R), ts = t(S), tr(A) = ts(B)};

Эквисоединение используется вместо естественного соединения, когда атрибуты имеют разные имена.

Операция деления

Результат - новое отношение a содержащее значения атрибутов R-S кортежей из отношения r, для которых соответствующие значения атрибутов S включают все значения из отношения s.

] S \in R, тогда

r(R) % s(S) = {t(R-S)| \all ts \in s \exist tr \in r: tr(R-S) = t \and tr(S) = ts};

Ограничения выполнения операций

Операция добавления:

Добавленный кортеж не соответствует схеме отношения.

Некоторые значения кортежа не принадлежат соответствующим доменам.

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

Операция удаления:

Удаляемый кортеж не соответствует схеме отношения.

Удаляемого кортежа нет в отношении.

Операция изменения:

Все ограничения операции удаления и добавления.

КЛАСТЕРИЗАЦИЯ

37.Кластеризация - процесс как можно более близкого физического размещения на диске логически связанных между собой и часто используемых данных. Записи физически лежат друг за другом. Кластеризация хорошо работает при считывании массивов данных. Для еще большего ускорения используют индексацию и хеширование.

Для безпроблемного добавления последующих записей, первоначальные записи добавляются разрежено. Когда все заполнено и ничего нельзя поставить или передвинуть, выделяется новая память.

37.Внутрифайловая кластеризация - кластеризация в рамках одного логического объекта БД. Записи расположены друг за другом в рамках одной таблицы.

38.Межфайловая кластеризация - кластеризация в рамках нескольких логических объектов БД. Друг за другом расположены записи из связанных таблиц. Запись поочередно считывается то из одной то из другой таблицы.

ИНДЕКСЫ

Индексы служат для ускорения выборки данных из БД и делятся на два типа:

39. Кластерные индексы - физическое упорядочивание записей по атрибуту(только одно на таблицу).

40. Некластерные индексы - структура из ссылок на физические данные, ссылки упорядочены по выбранному атрибуту(можно много на одну таблицу, но это замедляет обновление данных). Некластерный индекс состоит из упорядоченых записей выбранного атрибута и RID указателя для каждой записи. Данная структура называется индексным файлом(41).

42. RID - ReadID указатель состоящий из физического адреса страницы и адреса ячейки слота(последовательности байт в конце с транице). Ячейка слота содержит указатели на записи в таблице.

43.Плотный индекс - индекс, содержащий столько записей, сколько записей в индексируемой таблице. Структура (Запись, RID).

44.Неплотный индекс - индекс по плотному индексу, содержит столько записей, сколько страниц в индексируемой таблице. Структура (Первая запись со страницы, ссылка на страницу).

45.Древовидный индекс - дерево, листьями которого являются страницы плотного индекса, все остальные узлы - построеные друг на друге снизу-вверх неплотные индексы. Преимущество древовидного индекса - фиксированное число читаемых страниц при обращении к данным.

46.Уникальный индекс - индекс, состоящий из одного или нескольких полей, позволяет расположить все записи в таблице в определенном порядке. Каждое сочетание значений атрибутов в индексе является уникальным.

47.Первичный индекс - уникальный индекс, использующийся для связывания таблиц, поля входящие в него не допускают NULL.

48.Вторичный индекс -любой индекс, не являющийся первичным. Может не быть уникальным.

ХРАНИМЫЕ ПРОЦЕДУРЫ

41.Хранимая процедура - программа, написанная на языке манипулирования данными СУБД и хранящаяся вместе с метаданными в БД.



Поделиться:


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

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