Реляционная модель...

25
Базы данных Лекция №2 Реляционная модель данных Михаил Моисеев

Transcript of Реляционная модель...

Page 1: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

Базы данных

Лекция №2

Реляционная модель данных

Михаил Моисеев

Page 2: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

2Базы данных. Лекция №2

Модели данных

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

Модель данных должна определить

� Структуры

� Ограничения

� Операции

Page 3: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

3Базы данных. Лекция №2

Структуры – сущности БД

� Элемент данных - наименьшая единица данных с помощью

которой выполняется построение всех остальных структур

� Группа - именованная совокупность элементов данных, которые можно рассматривать, как единое целое

Ограничения используются СУБД для контроля целостности данных при выполнении различных операций

Модели данных #2

Page 4: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

4Базы данных. Лекция №2

Модели данных #3Операции над данными – переводят БД из одного допустимого состояния в другое

Основные операции:� Идентификация данного и нахождение его позиции в БД;� Выборка (чтения) данных;� Добавление новых данных (запись);� Удаление данных;� Модификация данных.

Отбор данных выполняется с учетом:� Значений атрибутов данного;� Связей между данными.

По получаемому результату:� Изменение или извлечение одной сущности;� Изменение или извлечение нескольких сущностей.

Page 5: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

5Базы данных. Лекция №2

Реляционная модель данных

РМД - модель данных основанная на реляционной алгебре

Реляционная алгебра представляет собой набор операторов, использующих отношения в качестве аргументов и возвращающие отношения в качестве результата

Декартово произведение - для заданных конечных

множеств D1,D2…Dn декартовым произведением D1*D2*…*Dn

называется множество произведений вида: d1*d2*…*dn, где di принадлежит Di

Множества D1,D2…Dn называются доменами.

Page 6: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

6Базы данных. Лекция №2

Отношения

Отношением на множествах D1,D2…Dn называется подмножество

декартова произведения D1*D2*…*Dn

Элементы декартова произведения d1*d2*…*dn называются кортежами.

Множества A (a1,a2,a3) и B (b1,b2): Декартово произведение: A*B = (a1*b1, a2*b1, a3*b1, a1*b2, a2*b2, a3*b2)Примеры отношений: R1 = (a1*b1, a1*b2),

R2 = (a1*b2, a2*b2, a3*b1), R3 =()

Число доменов в отношении (n) – степень отношения

Количество кортежей в отношении – мощность отношения

Page 7: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

7Базы данных. Лекция №2

Отношения #2Отношения удобно представлять в виде таблиц:

� Строка таблицы – один кортеж - сущность;

� Таблица – отношение - набор сущностей;

� Столбец – домен – атрибут;

� Поле – элемент множества – значение атрибута.

Набор именованных отношений называется схемой БД.

Page 8: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

8Базы данных. Лекция №2

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

Первичный ключ сущности (PK) – атрибуты, уникально

определяющие данную сущность

Предметная область: кафедра КСПТ

Отображение: студенты, группы, специальности, изучаемые предметы, преподаватели, участие студентов в НИР кафедры.

Студент: (Имя, Фамилия, Отчество, Дата рождения, Номер паспорта, Номер аттестата, Место проживания, …)

Группа: (Номер группы, Куратор, …)

НИР: (Название темы, Руководитель, Заказчик работы, …)

Page 9: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

9Базы данных. Лекция №2

Суррогатный ключ

Сущности без первичного ключа

Суррогатный первичный ключ используется для увеличения эффективности, гарантии уникальности PK, наглядности.

Студент: (Имя, Фамилия, Отчество, Дата рождения, Место проживания, Номер паспорта, Номер аттестата, Ссылка на НИР, Ссылка на группу,…).

Студент: (ID, Имя, Фамилия, Отчество, Дата рождения, Место проживания, Номер паспорта, Номер аттестата, Ссылка на НИР, Ссылка на группу,…).

Page 10: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

10Базы данных. Лекция №2

Внешний ключ Связи организуются с помощью ограничений внешнего ключа (FK)

Внешний ключ – добавляется для подчиненного набора сущностей

� Атрибута подчиненной сущности

� Главной сущности

� Атрибута главной сущности (обычно PK)

Студент: (Имя, Фамилия, Отчество, Дата рождения, Номер паспорта, Аттестат, Место проживания, Ссылка на группу, Ссылка на НИР …).

FK1: Ссылка на группу, Группа, Номер группы FK2: Ссылка на НИР, НИР, Название темы

Группа: (Номер группы, Куратор, Ссылка на специальность, …).

FK1: Ссылка на специальность

НИР: (Название темы, Руководитель, Заказчик работы, …).

Page 11: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

11Базы данных. Лекция №2

Свойства отношений

� Отсутствие кортежей-дубликатов. Из этого свойства вытекает наличие у каждого кортежа первичного ключа

� Отсутствие упорядоченности кортежей

� Отсутствие упорядоченности атрибутов. Для ссылки на значение атрибута всегда используется имя атрибута

� Атомарность значений атрибутов, среди значений домена не могут содержаться множества значений (отношения)

Page 12: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

12Базы данных. Лекция №2

Целостность и ограничения

Целостность данных - это механизм поддержания

соответствия базы данных предметной области

Для поддержания целостности данных используются ограничения различных типов

� ограничения на допустимые значения для атрибута

� ограничения первичного ключа (PK)� ограничения уникальности атрибута

� ограничения связей (внешних ключей FK)

Page 13: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

13Базы данных. Лекция №2

Операции над данными

Все операции в РМД выполняются над отношениями, результатамопераций также являются отношения.

Операции изменяющие кортежи отношения или их состав:

� ДОБАВИТЬ - необходимо задать имя отношения, ключ и другие атрибуты кортежа

Page 14: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

14Базы данных. Лекция №2

Операции над данными #2

� УДАЛИТЬ - необходимо указать имя отношения, а также указать кортеж или группу кортежей, подлежащих удалению

Page 15: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

15Базы данных. Лекция №2

Операции над данными #3

� ИЗМЕНИТЬ - необходимо указать имя отношения, указать кортеж или группу кортежей, подлежащих изменению, а также правила изменения для каждого изменяемого атрибута

Page 16: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

16Базы данных. Лекция №2

Операции над отношениями

� Проекция

� Выборка

� Пересечение

� Объединение

� Разность

� Соединение

� …

Page 17: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

17Базы данных. Лекция №2

Проекция отношения

Операция проекции представляет из себя выборку из каждого кортежа отношения некоторых атрибутов и удаление из полученного отношения одинаковых кортежей

Page 18: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

18Базы данных. Лекция №2

Выборка из отношения

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

Page 19: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

19Базы данных. Лекция №2

Объединение отношенийОперация объединение содержит все кортежи исходных отношений за исключением повторяющихся Отношения должны быть определены по одной схеме

Aleksandr353

Oleg351

Andrey350

Petr349

Ivan352

Id Name Age

22

21

25

19

27

UNION

Oleg357

Aleksandr353

Ivan352

Id Name Age

19

21

25

R1

R2

Aleksandr353

Oleg351

Andrey350

Petr349

Ivan352

Id Name Age

22

21

25

19

27

Aleksandr353 21

Oleg357 25

Page 20: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

20Базы данных. Лекция №2

Пересечение отношенийОперация пересечение содержит все кортежи, которые присутствуют в обоих исходных отношениях, повторяющиеся кортежи исключаются

Отношения должны быть определены по одной схеме

Page 21: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

21Базы данных. Лекция №2

Разность отношений

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

Page 22: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

22Базы данных. Лекция №2

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

Page 23: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

23Базы данных. Лекция №2

Объединение операцийОбычно над отношениями выполняются операции являющиеся декомпозицией нескольких исходных операций

Page 24: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

24Базы данных. Лекция №2

Объединение операций #2

Page 25: Реляционная модель данныхkspt.icc.spbstu.ru/media/files/2013/DB/4081v/lec2.pdf · 2013-02-12 · Базы данных . Лекция №2 3 Структуры

25Базы данных. Лекция №2

Вопросы� В чем отличия между БД и СУБД ?

� Что такое модель данных ?

� Чем отличается декартово произведение от отношения ?

� Какие типы операций определяются в модели данных ?

� Может ли отношение содержать все кортежи декартового произведения ?

� Может ли степень отношения быть больше мощности отношения ?

� Сколько доменов может быть в отношении ?

� Может ли отношение иметь мощность равную нулю ?

� Что такое РМД и РА ?

� Перечислите основные свойства отношений в РМД ?

� Чем отличается суррогатный ключ от внешнего ключа ?

� Как определяется внешний ключ ?