Лекция 4
План лекции
Основные определения
Основные определения
Основные определения
Основные определения
Связи между отношениями
Связи между отношениями
Реляционные ключи
Реляционные ключи
Первичный ключ
Суррогатный первичный ключ
Реляционная целостность
Целостность сущностей
1.82M
Категория: Базы данныхБазы данных

Реляционная модель данных (лекция № 4)

1.

Федеральное государственное бюджетное
образовательное учреждение
высшего образования
«Оренбургский государственный университет»
Кафедра прикладной информатики в экономике и
управлении
БАЗЫ ДАННЫХ
1

2. Лекция 4

Тема : Реляционная модель
данных
2 часа
Разработчик Панова Н.Ф.
2

3. План лекции

1 Основные определения
2 Реляционные ключи
3 Реляционная целостность

4. Основные определения

N-арным отношением R называют подмножество
декартова произведения D1xD2x…Dn множеств D1,
D2,…Dn
(n>=1),
необязательно
различных.
Исходные множества D1, D2,…Dn называются
доменами.
D1={Иванов, Петров, Сидоров};
D2={история, базы данных};
D3={3,4,5};
Множество D1 представляет множество фамилий
студентов, D2 - множество изучаемых предметов,
D3 - множество оценок, которые могут получить
студенты при сдаче экзаменов.
4

5. Основные определения

Тогда полное декартово произведение состоит из
18 троек :
{Иванов,история,3},{ Иванов,история,4},{
Иванов,история,5};
{ Иванов,базы данных,3},{ Иванов,базы данных,4},{
Иванов,базы данных,5};
{Петров,история,3},{ Петров,история,4},{
Петров,история,5};
{ Петров,базы данных,3},{ Петров,базы данных,4},{
Петров,базы данных,5};

….
5

6. Основные определения

Отношение можно представить в виде таблицы,
состоящей из строк и столбцов
Студент
Предмет
Оценка
Иванов
История
5
Иванов
Базы данных
4
Петров
История
3
Сидоров
История
4
Сидоров
Базы данных
5
6

7. Основные определения

Атрибут – это вхождение домена в отношение;
Кортеж – это элемент отношения;
Степень, ранг или арность - количество атрибутов
в отношении;
Схемой отношения R называется имя отношеня и
перечень атрибутов с указанием доменов, к
которым они относятся:
SR(A1, A2, … An) , где Ai⊆Di
Кардинальность или мощность - это количество
кортежей, которое содержит отношение.
Сессия(студент, предмет, оценка)
7

8. Связи между отношениями

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

9. Связи между отношениями

Как правило, главное отношение образуется раньше
и содержит меньше кортежей.
Корпус
Аудитория
номер
площадь
1
500
3
650
Номер
аудитории
назначение
корпус
1102
кафедра
1
1101
лекционная 1
1103
лекционная 1
3305
Компьютер
ный класс
3
3307
Компьютер
ный класс
3
9

10.

Терминология
В реляционной модели допустимо использование
основной и альтернативной терминологии.
Основной термин
Альтернативный термин
отношение
таблица
атрибут
столбец
кортеж
строка
10

11.

Свойства отношений
отношение не содержит одинаковых кортежей;
порядок
следования
кортежей
не
имеет
значения;
каждый атрибут имеет уникальное имя;
значения атрибута берутся из одного и того же
домена;
значения
каждого
атрибута
являются
атомарными, то есть не делимыми;
атрибуты не упорядочены.
Отношение, в котором значения всех атрибутов
атомарны,
называется
приведённым
к
1-й
нормальной форме(1НФ).
11

12. Реляционные ключи

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

13. Реляционные ключи

Сотрудник (табельный номер, фамилия, имя,
отчество, дата рождения, серия паспорта, номер
паспорта, должность).
Потенциальными ключами данного отношения
являются:
серия паспорта + номер паспорта;
табельный номер;
фамилия + имя + отчество + дата рождения
13

14. Первичный ключ

– это потенциальный ключ,
выбранный
для
уникальной
идентификации
кортежей внутри отношения.
В качестве первичных следует выбирать простые
числовые ключи.
Для отношения Сотрудник первичным ключом
будет атрибут табельный номер.
Альтернативный ключ – это потенциальный
ключ, не выбранный в качестве первичного.
Внешний ключ – это атрибут или множество
атрибутов отношения, которые соответствуют
первичному ключу некоторого отношения.
14

15. Суррогатный первичный ключ

Если все потенциальные ключи составные или
текстовые, следует добавить в отношение простой
числовой атрибут. Значения этого атрибута должны
генерироваться
автоматически
по
принципу
счетчика,
что
обеспечивает
уникальность
первичного ключа.
Такой первичный ключ называется суррогатным.
Он упрощает связи между отношениями.
Каждая СУБД имеет средства поддержки
первичных ключей. Например, специальный тип
данных.
В СУБД Access это тип Счетчик.
15

16. Реляционная целостность

Целостность (непротиворечивость данных) – это
соответствие информационной модели предметной
области
объектам
реального
мира
и
их
взаимосвязям. В реляционной модели различают
следующие виды целостности:
целостность сущностей;
ссылочная целостность;
16

17. Целостность сущностей

Ни один атрибут первичного ключа не может
иметь отсутствующих значений, т.е. значений,
заданных определителем null.
Отсутствующее значение – это значение, не
определенное пользователем. Может участвовать в
логических операциях
NULL or false = NULL
NULL or true = NULL
NULL or NULL = NULL
NULL and false = false
NULL and true = NULL
NULL and NULL = NULL
17

18.

Ограничение ссылочной целостности
Если в отношении существует внешний ключ, то
его значение должно либо соответствовать значению
первичного ключа основного отношения либо
задаваться определителем null.
Класс
Компьютер
Номер
класса
площадь
3305
45
3307
53
6204
45
Инвентарный
номер ПК
Дата
класс
приобретения
123
01.09.2017
3305
124
01.09.2017
3305
126
05.06.2018
3307
127
05.06.2018
null
18

19.

Стратегии обеспечения ссылочной
целостности
При выполнении операций вставки, удаления и
обновления ссылочная целостность может быть
нарушена. Современные СУБД предлагают выбрать
одну из следующих стратегий, предотвращающих
нарушение целостности.
Cascade – каскадное удаление кортежей или
обновление внешнего ключа в
подчиненном
отношении при удалении кортежей или обновлении
первичного ключа в основном отношении;
19

20.

Стратегии обеспечения ссылочной
целостности
Restrict -запрет на удаление кортежа или
обновление
первичного
ключа
в
основном
отношении, если в подчиненном есть связанные
кортежи;
set
null.
Значение
внешнего
ключа
в
подчиненном
отношении
становится
неопределённым;
set default. Внешний ключ принимает значение
по умолчанию.
20

21.

Ограничения семантической
целостности
Ограничения
семантической
целостности
касаются содержимого БД. Различают следующие
виды ограничений:
ограничения целостности атрибута. Требую
проверки значения одного атрибута. Например,
номер семестра варьируется от 1 до 8;
ограничения целостности на уровне доменов. В
этом случае определяется пользовательский тип,
задающий ограничение сразу для нескольких
однотипных атрибутов. Например, любая дата
рождения должна быть меньше текущей даты.
21

22.

Ограничения семантической целостности
Ограничения на уровне нескольких отношений
Требуют проверки значений нескольких атрибутов
в разных отношениях.
ограничения целостности на уровне отношений.
Требуют проверки значений сразу нескольких
атрибутов. Например, дата окончания вуза должна
быть больше даты поступления.
22

23.

Способы обеспечения реляционной и
семантической целостности
декларативный - ограничения задаются при
создании базы данных. Поддерживается всеми
СУБД.
процедурный - этот способ связан с созданием с
специальных программ – хранимых процедур и
триггеров.
Процедурный
способ
поддерживается
удаленными СУБД.
23

24.

Вопросы
1.
2.
3.
4.
5.
6.
7.
8.
Дайте определение понятия отношение.
Как можно назвать отношение с использованием
альтернативной терминологии?
Как реализуются связи между отношениями?
Сколько потенциальных ключей может иметь
отношение?
Может ли атрибут первичного ключа иметь пустое
значение?
Можно ли пробел назвать пустым значением?
Может ли внешний ключ принимать пустое
значение?
Может ли нарушиться ссылочная целостность при
удалении строки из подчиненного отношения?
24
English     Русский Правила