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

Содержание

Слайд 2

Марченко Е.И. 07/31/2023 1. Основные определения

Марченко Е.И.

07/31/2023

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

Слайд 3

Марченко Е.И. 07/31/2023 Теоретической основой модели стала теория отношений, основу которой

Марченко Е.И.

07/31/2023

Теоретической основой модели стала теория отношений, основу которой заложили Чарльз

Содерс Пирс (1839-1914), Эрнст Шредер (1841-1902).
«… множество отношений замкнуто относительно некоторых специальных операций, то есть образует вместе с этими операциями абстрактную алгебру»
Слайд 4

Марченко Е.И. 07/31/2023 Американский математик Э. Ф. Кодд в 1970 году

Марченко Е.И.

07/31/2023
Американский математик Э. Ф. Кодд в 1970 году впервые сформулировал

основные понятия и ограничения реляционной модели.
Слайд 5

Марченко Е.И. 07/31/2023 Реляционной моделью (relational model) данных называется совокупность реляционной

Марченко Е.И.

07/31/2023
Реляционной моделью (relational model) данных называется совокупность реляционной структуры и

реляционной алгебры.
Основной структурой данных в модели является отношение (от анг. relation — отношение).
Слайд 6

Марченко Е.И. 07/31/2023 N-арным отношением R называют подмножество декартова произведения D1

Марченко Е.И.

07/31/2023

N-арным отношением R называют подмножество декартова произведения D1 x D2

x … Dn множеств D1 x D2 x … Dn (n≥1) необязательно различных.
Исходные множества D1 x D2 x …Dn называют в модели доменами.
R D1 x D2 x … Dn ,
где D1 x D2 x … Dn — полное декартово
произведение.
Слайд 7

Марченко Е.И. 07/31/2023 Полное декартово произведение — это набор всевозможных сочетаний

Марченко Е.И.

07/31/2023

Полное декартово произведение — это набор всевозможных сочетаний из n

элементов каждое, где каждый элемент берется из своего домена.
Слайд 8

Марченко Е.И. 07/31/2023 Например. D1 = {Иванов, Крылов, Степанов}; D2 =

Марченко Е.И.

07/31/2023

Например.
D1 = {Иванов, Крылов, Степанов};
D2 = {Теория автоматов, Базы

данных};
D3 = {3, 4, 5}
Слайд 9

Марченко Е.И. 07/31/2023 ; ; ; : ; ; ; ;

Марченко Е.И.

07/31/2023

<Иванов, Теория автоматов,3>; <Иванов, Теория автоматов,4>; <Иванов, Теория автоматов,5>;
<Крылов, Теория

автоматов,3>: <Крылов, Теория автоматов,4>; <Крылов, Теория автоматов,5>;
<Степанов, Теория автоматов,3>; <Степанов, Теория автоматов,4>; <Степанов, Теория автоматов,5>;
<Иванов, Базы данных,3>; <Иванов, Базы данных,4>; <Иванов, Базы данных.5>;
<Крылов, Базы данных.3>; <Крылов, Базы данных,4>; <Крылов, Базы данных,5>;
<Степанов, Базы данных,3>; <Степанов, Базы данных,4>; < Степанов, Базы данных,5>;
Слайд 10

Марченко Е.И. 07/31/2023 Данная таблица обладает рядом специфических свойств: в таблице

Марченко Е.И.

07/31/2023

Данная таблица обладает рядом специфических свойств:
в таблице нет двух

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

Марченко Е.И. 07/31/2023 Вхождение домена в отношение называют атрибутом. Строки отношения

Марченко Е.И.

07/31/2023

Вхождение домена в отношение называют атрибутом.
Строки отношения называются кортежами.


Количество атрибутов в отношении – степень отношения.
Слайд 12

Марченко Е.И. 07/31/2023 Экземпляр отношения – отражает состояние данного объекта в

Марченко Е.И.

07/31/2023

Экземпляр отношения – отражает состояние данного объекта в текущий момент

времени, и понятие схемы отношения, которая определяет структуру отношения.
Схемой отношения R называется перечень имен атрибутов данного отношения с указанием домена, к которому они относятся:


Слайд 13

Марченко Е.И. 07/31/2023 Схемы двух отношений будут эквивалентными, если они имеют

Марченко Е.И.

07/31/2023

Схемы двух отношений будут эквивалентными, если они имеют одинаковую степень

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

Марченко Е.И. 07/31/2023 Первичный ключ отношения (PRIMARY KEY) каждое отношение имеет

Марченко Е.И.

07/31/2023

Первичный ключ отношения
(PRIMARY KEY)
каждое отношение имеет один и

только один PK;
значения PK не могут принимать значения null;
значения PK не должны повторяться;
Слайд 15

Марченко Е.И. 07/31/2023 PK не оказывает ни какого влияния на порядок

Марченко Е.И.

07/31/2023

PK не оказывает ни какого влияния на порядок атрибутов в

отношении;
PK не оказывает ни какого влияния на порядок кортежей в отношении;
PK не оказывает ни какого влияния на доступ к данным.
Слайд 16

Марченко Е.И. 07/31/2023 Внешний ключ (FOREIGN KEY) значение FK должно ссылаться

Марченко Е.И.

07/31/2023

Внешний ключ (FOREIGN KEY)
значение FK должно ссылаться на существующее значение

соответствующего первичного ключа;
значения FK – могут быть null.
Слайд 17

Марченко Е.И. 07/31/2023 Например

Марченко Е.И.

07/31/2023

Например

Слайд 18

Марченко Е.И. 07/31/2023 2. ОПЕРАЦИИ НАД ОТНОШЕНИЯМИ. РЕЛЯЦИОННАЯ АЛГЕБРА

Марченко Е.И.

07/31/2023

2. ОПЕРАЦИИ НАД ОТНОШЕНИЯМИ.
РЕЛЯЦИОННАЯ АЛГЕБРА

Слайд 19

Марченко Е.И. 07/31/2023 Алгеброй называется множество объектов с заданной на нем

Марченко Е.И.

07/31/2023

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

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

Марченко Е.И. 07/31/2023 2.1. Теоретико-множественные операции реляционной алгебры

Марченко Е.И.

07/31/2023

2.1. Теоретико-множественные операции реляционной алгебры

Слайд 21

Марченко Е.И. 07/31/2023 1). Объединением двух отношений называется отношение, содержащее множество

Марченко Е.И.

07/31/2023

1). Объединением двух отношений называется отношение, содержащее множество кортежей, принадлежащих

либо первому, либо второму исходным отношениям, либо обоим отношениям одновременно.
R1 = {r 1}, R2 = {r 2}, где r1 и r2 — соответственно кортежи отношений R1 и R2
R1 U R2 = { r | r R1 r R2}
Слайд 22

Марченко Е.И. 07/31/2023

Марченко Е.И.

07/31/2023

Слайд 23

Марченко Е.И. 07/31/2023 Результат объединения:

Марченко Е.И.

07/31/2023

Результат объединения:

Слайд 24

Марченко Е.И. 07/31/2023 2). Пересечением отношений называется отношение, которое содержит множество

Марченко Е.И.

07/31/2023

2). Пересечением отношений называется отношение, которое содержит множество кортежей, принадлежащих

одновременно и первому и второму отношениям R1 и R2
R4 = R1 R2 = { r | r R1 r R2 }


Слайд 25

Марченко Е.И. 07/31/2023 Результат пересечения отношений R1 и R2 :

Марченко Е.И.

07/31/2023

Результат пересечения отношений R1 и R2 :

Слайд 26

Марченко Е.И. 07/31/2023 3). Разностью отношений R1 и R2 называется отношение,

Марченко Е.И.

07/31/2023

3). Разностью отношений R1 и R2 называется отношение, содержащее множество

кортежей, принадлежащих R1 и не принадлежащих R2 :
R5 = R1 \ R2 = { r | r R1 r R2 }
R6 = R2 \ R1 = { r | r R2 r R1 }
Слайд 27

Марченко Е.И. 07/31/2023 Результат разности отношений R1 и R2 :

Марченко Е.И.

07/31/2023

Результат разности отношений R1 и R2 :

Слайд 28

Марченко Е.И. 07/31/2023 ЗАДАНИЕ R1= (ФИО, Паспорт, Школа) - список абитуриентов,

Марченко Е.И.

07/31/2023

ЗАДАНИЕ
R1= (ФИО, Паспорт, Школа)
- список абитуриентов, сдававших подготовительные экзамены;


R2= (ФИО, Паспорт, Школа)
- список абитуриентов, сдававших экзамены на общих условиях;
R3=(ФИО, Паспорт, Школа)
- список абитуриентов, принятых в институт.
Слайд 29

Марченко Е.И. 07/31/2023 Вопросы: список абитуриентов, которые поступали два раза и

Марченко Е.И.

07/31/2023

Вопросы:
список абитуриентов, которые поступали два раза и не поступили;
список абитуриентов,

которые поступили с первого раза;
список абитуриентов, которые поступили только со второго раза;
список абитуриентов, которые поступали только один раз и не поступили.
Слайд 30

Марченко Е.И. 07/31/2023 4). Расширенное декартово произведение. Сцеплением (конкатенацией) кортежей r

Марченко Е.И.

07/31/2023

4). Расширенное декартово произведение.
Сцеплением (конкатенацией) кортежей
r = <

r1, r2, ... , rn> и q = называется кортеж, полученный добавлением значений второго в конец первого:
(r, q) = < r1, r2, ... , rn, q1, q2, ..., qm >
где n - число элементов в первом кортеже r;
m - число элементов во втором кортеже q.
Слайд 31

Марченко Е.И. 07/31/2023 Расширенным декартовым произведением отношения R1 степени n и

Марченко Е.И.

07/31/2023

Расширенным декартовым произведением отношения R1 степени n и отношения R2

степени m называется отношение R3 степени n+m содержащее кортежи, полученные сцеплением каждого кортежа r отношения R1 с каждым кортежем q отношения R2 . То есть R1 = {r}, R2 = {q}, тогда
R1 R2 = { (r, q) | r R1 q R2}
Слайд 32

Марченко Е.И. 07/31/2023

Марченко Е.И.

07/31/2023

Слайд 33

Марченко Е.И. 07/31/2023

Марченко Е.И.

07/31/2023

Слайд 34

Марченко Е.И. 07/31/2023 2.2. Специальные операции реляционной алгебры

Марченко Е.И.

07/31/2023

2.2. Специальные операции реляционной алгебры

Слайд 35

Марченко Е.И. 07/31/2023 1). Горизонтальный выбор или операция фильтрации. Результатом операции

Марченко Е.И.

07/31/2023

1). Горизонтальный выбор или операция фильтрации.
Результатом операции выбора, заданной на

отношении R в виде булевского выражения, определенного на атрибутах отношения R, называется отношение R [ ], включающее те кортежи из исходного отношения, для которых истинно условие выбора или фильтрации:
R [ (r) ] = { r | r R (r)=”Истина”}
Слайд 36

Марченко Е.И. 07/31/2023 Например: R12 = R10 [Шифр детали = «75»]

Марченко Е.И.

07/31/2023

Например:
R12 = R10 [Шифр детали = «75»]

Слайд 37

Марченко Е.И. 07/31/2023 2). Вертикальный выбор или операция проектирования. Проекцией отношения

Марченко Е.И.

07/31/2023

2). Вертикальный выбор или операция проектирования.
Проекцией отношения R на набор

атрибутов В, обозначаемой R[B], называется отношение со схемой соответствующей набору атрибутов В S R[B]=B, содержащему кортежи, получаемые из кортежей исходного отношения R путем удаление из них значений, не принадлежащих атрибутам из набора В
R[B] = { r[B] }
Слайд 38

Марченко Е.И. 07/31/2023 Например: R13 = R10 [Название детали = «Гайка М2»] R14 = R13 [Цех]

Марченко Е.И.

07/31/2023

Например:
R13 = R10 [Название детали = «Гайка М2»]
R14 = R13

[Цех]
Слайд 39

Марченко Е.И. 07/31/2023 3). Операция условного соединения. Операция условного соединения является

Марченко Е.И.

07/31/2023

3). Операция условного соединения.
Операция условного соединения является бинарной, то

есть исходными для нее являются два отношения, а результатом – одно.
Слайд 40

Марченко Е.И. 07/31/2023 Пусть схема отношения R содержит набор атрибутов N,

Марченко Е.И.

07/31/2023

Пусть схема отношения R содержит набор атрибутов N, а схема

отношения S - набор атрибутов M. Пусть N и M - θ-сравнимы.
Тогда соединением отношений R и S по условию М θ N называется такое отношение U, обозначаемое R[М θ N]S, которое имеет схему U(R,S) и кортежи которого получаются сцеплением тех кортежей отношений R и R , для которых на наборах атрибутов N и M условие сравнения дает значение истина:
U = R[М θ N]S ={r, s⏐r ∈ R ∧ s ∈ S ∧ r[М] θ s[N]}
Слайд 41

Марченко Е.И. 07/31/2023 Иногда обозначается: R S, где F – условие соединения.

Марченко Е.И.

07/31/2023

Иногда обозначается:
R S,
где F – условие соединения.

Слайд 42

Марченко Е.И. 07/31/2023 Соединение по условию равенства (=) называется экви-соединением

Марченко Е.И.

07/31/2023

Соединение по условию равенства (=) называется экви-соединением

Слайд 43

Марченко Е.И. 07/31/2023 Соединение по условию равенства, когда один из сравниваемых

Марченко Е.И.

07/31/2023

Соединение по условию равенства, когда один из сравниваемых атрибутов (или

группа сравниваемых атрибутов) удаляется из результирующего отношения, называется естественным соединением
Слайд 44

Марченко Е.И. 07/31/2023 Например: R(А, В, С, D) и S(С, D,

Марченко Е.И.

07/31/2023

Например:
R(А, В, С, D) и S(С, D, E),
в результате выполнения операции Q = R * S получится отношение

со схемой
Q(A, B, C, D, E)
Слайд 45

Марченко Е.И. 07/31/2023 Операция полусоединение - при которой из результата исключаются

Марченко Е.И.

07/31/2023

Операция полусоединение - при которой из результата исключаются все атрибуты

одного из соединяемых отношений.
Обозначается как R<М θ N]S
R<М θ N]S = {r⏐r ∈ R ∧ s ∈ S ∧ r[М] θ s [N]}
Слайд 46

Марченко Е.И. 07/31/2023 выражение через соединение и проекцию R где А

Марченко Е.И.

07/31/2023

выражение через соединение и проекцию
R<М θ N]S = (R[М θ

N]S)[A],
где А – множество всех атрибутов отношения R.
Слайд 47

Марченко Е.И. 07/31/2023

Марченко Е.И.

07/31/2023

Слайд 48

Марченко Е.И. 07/31/2023 4). Операция деления.

Марченко Е.И.

07/31/2023

4). Операция деления.

Слайд 49

Марченко Е.И. 07/31/2023 ЗАДАНИЕ R1 = – информация о попытках (как

Марченко Е.И.

07/31/2023

ЗАДАНИЕ
R1 = <ФИО, Дисциплина, Оценка>
– информация о попытках (как

успешных, так и неуспешных) сдачи экзаменов студентами ;
R2 = <ФИО, Группа>
– состав групп ;
R3 = <Группа, Дисциплина>
– список дисциплин, которые надо сдавать каждой группе.
Слайд 50

Марченко Е.И. 07/31/2023 Вопросы: список студентов, которые сдали экзамен по БД

Марченко Е.И.

07/31/2023

Вопросы:
список студентов, которые сдали экзамен по БД на «отлично»;
список студентов,

которые должны сдавать экзамен по БД, но пока не сдавали;
список студентов, которые сдавали экзамен по БД;
список студентов, которые имеют несколько двоек;
список студентов, сдавших всё на «отлично».
Слайд 51

Марченко Е.И. 07/31/2023 Задание для самостоятельной работы

Марченко Е.И.

07/31/2023

Задание для самостоятельной работы

Слайд 52

Марченко Е.И. 07/31/2023 Даны отношения, моделирующие работу банка и его филиалов.

Марченко Е.И.

07/31/2023

Даны отношения, моделирующие работу банка и его филиалов.
Клиент может

иметь несколько счетов, при этом они могут быть размещены как в одном, так и в разных филиалах банка. В отношении R1 содержится информация обо всех клиентах и их счетах в филиалах нашего банка. Каждый клиент, в соответствий со своим счетом, может рассчитывать на кредит от банка (сумма допустимого кредита зафиксирована).
Слайд 53

Марченко Е.И. 07/31/2023

Марченко Е.И.

07/31/2023

Слайд 54

Марченко Е.И. 07/31/2023 С использованием языка реляционной алгебры составить запросы, позволяющие

Марченко Е.И.

07/31/2023

С использованием языка реляционной алгебры составить запросы, позволяющие выбрать:
филиалы, клиенты

которых имеют счета с остатком, превышающим 5000грн.
клиентов, которые имеют счета во всех филиалах данного банка.
клиентов, которые имеют только по одному счету в разных филиалах (т.е. в общем у этих клиентов может быть несколько счетов, но в одном филиале не более одного счета).