1: Лекция 5. Реляционная структура данных Национальный авиационный университет Факультет компьютерных наук Кафедра инженерии программного обеспечения
2: СОДЕРЖАНИЕ Отношение в математике Определение отношения Домены, атрибуты, схемы и экземпляры реляционных отношений Отношения и таблицы Ключи отношений
3: Неформальное введение в отношения Форма представления: табличная С помощью условия
4: Определение отношения
5: Сопутствующие понятия
6: Представление бинарных отношений
7: Основные операции над отношениями
8: Свойства бинарных отношений
9: Примеры бинарных отношений
10: Схема реляционного отношения
11: Свойства атрибутов и схемы Свойства атрибутов в реляционной модели данных: Любой атрибут в отношении имеет имя Множество допустимых значений каждого из атрибутов называется его доменом Различные атрибуты могут быть определены на одном и том же домене Значения атрибутов должны быть атомарными
12: Экземпляр отношения Свойства экземпляра отношения: Порядок значений атрибутов в кортеже не фиксирован (он определен схемой отношения) Порядок кортежей в экземпляре произволен Кортежи должны быть уникальными в экземпляре отношения
13: Реляционная структура данных Реляционная структура должна удовлетворять следующим требованиям: Все имена отношений должны быть различными
14: Реляционные отношения и таблицы
15: Соответствие терминов
16: Ключи
17: Простые и составные ключи
18: Избыточные и минимальные ключи
19: Первичный ключ Пример. В отношении: СТУДЕНТ(НомЗК, ФИО, Серпасп, Номпасп, Курс) имеется два минимальных (а значит и возможных) ключа: НомЗК Серпасп, Номпасп
20: Свойства первичного ключа Основные свойства (ограничения целостности): Значения первичного ключа не могут повторяться, но допускается повторение частей составного первичного ключа. Значения всех атрибутов первичного ключа не могут принимать значения NULL. Дополнительные свойства: В реляционном отношении может быть определено не более одного первичного ключа. Первичный ключ не влияет на порядок расположения кортежей в отношении. Первичный ключ не влияет на доступ к кортежам, который можно произвести по значениям любого набора атрибутов, а не только по атрибутам первичного ключа.
21: Пример первичного ключа
22: Внешний ключ
23: Пример внешнего ключа
24: Свойства внешнего ключа Основное свойство (ограничение целостности): Значение внешнего ключа не может ссылаться на отсутствующее значение первичного ключа родительского отношения. Это так называемое ссылочное (или референциальное) ограничение целостности внешнего ключа. Дополнительные свойства: Значения внешнего ключа могут повторяться. Внешний ключ может принимать значение NULL.
25: Поддержание ссылочной целостности Манипулирование кортежами дочернего отношения: При вставке и замене проверяется ссылочная целостность и в случае ее нарушения действие не производится. При удалении ничего не проверяется. Манипулирование кортежами родительского отношения: При вставке ничего не проверяется. При удалении и замене: Запретить удаление/замену, если имеется ссылка в дочерней таблице, приводящая к нарушению ссылочной целостности. Удаляя/заменяя родительский кортеж, также удалить/заменить все ссылающиеся на него кортежи дочернего отношения. Удаляя/заменяя родительский кортеж, разорвать связь с ним кортежей дочерней таблицы и вместо ссылки поставить NULL. Удаляя/заменяя родительский кортеж, разорвать связь с ним кортежей дочерней таблицы и вместо ссылки поставить значение по умолчанию.
26: Поддержания ссылочной целостности в SQL
27: Поддержание ссылочной целостности - RESTRICT
28: Поддержание ссылочной целостности – CASCADE
29: Поддержание ссылочной целостности – SET NULL
30: Поддержание ссылочной целостности – SET DEFAULT
31: Рекурсивный внешний ключ
32: Перекрестные внешние ключи
33: Внешний ключ в составе первичного