Правило ограничения (3.6.1), когда можно удалить кортеж?

Как на SQL реализуется естественное соединение (inner join)?(2.9.3)

Операция естественного соединения является частным случаем операции внутреннего соедине­ния inner join по условию равенства кортежей на пересечении схем отношений, например:

R1(A, B, C), R2(B, C, D)

select A, R1.B, R1.C, D

from R1 inner join R2 on R1.B = R2.B and R1.C = R2.C

Здесь ссылаться на общие атрибуты B и C просто по именам нельзя, так как будет неясно, к како­му отношению они относятся. Использованная формулировка условия соединения (после ключевого слова on) предполагает, что общие атрибуты соединяемых отношений null-значений не допускают.

Операции левого, правого и полного внешних соединений реализуются аналогичным образом с заменой ключевого слова inner на left outer, right outer и full outer соответственно.

Примечание к 2.9.3. Что произойдет, если условный запрос будет являться пустым?(может понадобиться с примером)

Тогда формально внутренний подзапрос вернет null-значение, условие выборки станет тождественно ложным, а запрос с псевдонимом, как и результирующий запрос – пустым.

Проверка условий (2.3.4)

if P then A else B – при IsNull(P) выполнится B

if not P then B else A – при IsNull(P) выполнится A

while P do A; B – при IsNull(P) выполнится B

(встроенный предикат IsNull(выражение) – «есть null». Предикат возвращает значение false или true (но не null) и может применяться к выражению любого типа)

Производные операции реляционной алгебры (2.5.4)

Введенные варианты операций соединения(левое,правое,внутреннее)являлись производными операциями от 8-ми исходных операций реляционной алгебры. Но и среди исходных операций имеются производные.(и еще смотреть таблицы из методички, как раз про исходные операции)

Пример отношения, находящегося в третьей нормальной форме, но не находящейся в форме Бойса-Кодда.(4.2.4)

Рассмотрим пример отношения R с атрибутами X, Y, Z, находящего в третьей нормальной форме, но не находящегося в форме Бойса-Кодда:

R(X, Y,Z)

primary key(X, Y)

{Z} → {Y}

Если, как обычно, провести декомпозицию так, чтобы ненавязанная функциональная зависимость {Z} → {Y} была навязана объявлением ключа Z в выделяемом отношении R1(Z, Y), то получим

R1(Z, Y)

primary key(Z)

R2(X, Z)

foreign key(Z) references R1(Z)

Что такое функциональная зависимость?(см. 4.1)

функциональная зависимость - это однозначная зависимость, затабулированная в базе данных.

Какие бывают кратности?(5.1)

Связь между двумя классами сущностей может характеризоваться наименованием и кратно­стью роли класса в связи, а также наименованием связи (безотносительно к роли). Типичными кратностями являются:

1) 1 – один,

2) 0 . . . 1 – не-более-один,

3) 0 . ..∞ – много («много» допускает и «ничего»),

4) 1 . ..∞ – один-или-более.

Иерархическая рекурсия (5.4)

тип связи- не-более-один-ко-многим

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

Правило ограничения (3.6.1), когда можно удалить кортеж? - student2.ru

Рис. 5.6.: Иерархическая рекурсия. Абстрактная ключевая диаграмма

Сетевая рекурсия (5.5)

тип связи – многое-ко-многим

вид связи – неполностью идентифицирующая

  Узлы     0.   . оо   Дуги  
РК КодУ Атрибуты PF PF КодУ-Из КодУ-На  
0. . оо  
           

Рис. 5.12.: Сетевая рекурсия. Абстрактная ключевая диаграмма

Ассоциация (5.6)

тип связи – многое-ко-многим

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

Правило ограничения (3.6.1), когда можно удалить кортеж? - student2.ru

Рис. 5.19.: Детализация связей многие-ко-многим. Абстрактная ключевая диаграмма

Обобщение (5.7)

тип связи – многие-ко-многим

вид связи – полностью идентифицирующая

Правило ограничения (3.6.1), когда можно удалить кортеж? - student2.ru

Рис. 5.27.: Обобщение. Абстрактная ключевая диаграмма

Композиция (5.8)

тип связи – один-ко-многим.

вид связи – связи трех типов- полностью и неполностью идентифицирующие и обязательные неидентифицирующие на родительском конце связи

Правило ограничения (3.6.1), когда можно удалить кортеж? - student2.ru

Рис. 5.33.: Композиция. Абстрактная ключевая диаграмма

Агрегация (5.9)

тип связи – не-более-один-ко-многим

вид связи – необязательные неидентифицирующие связи

Правило ограничения (3.6.1), когда можно удалить кортеж? - student2.ru

Рис. 5.38.: Агрегация. Абстрактная ключевая диаграмма

Правило ограничения (3.6.1), когда можно удалить кортеж?

restrict– правило ограничения. Обновление ключа в родительском отношении или удаление кортежа из родительского отношения не выполняется, если на этот кортеж родительского от­ношения ссылается хотя бы один кортеж дочернего отношения. В примере на рис. 3.2 кортежи родительского отношения лишь со значением первичного ключа 1 и 4 допускают обновление ключа PK-РодОтн или удаление кортежа.

Правило ограничения (3.6.1), когда можно удалить кортеж? - student2.ru

Наши рекомендации