Логика реляционная. Понятие реляционной модели презентация

Содержание

Слайд 2

Понятие реляционной модели

А:=«Иванов учится в КГТУ»,
В:=«Сидоров учится в БГА»,
С:=«Петров учится в БФУ».
Синтаксическая модель

высказываний:
<фамилия>"учится"<название ВУЗа>
<фамилия> - {Иванов, Сидоров, Петров},
<название ВУЗа> - {КГТУ, БГА, БФУ}.
Реляционная модель высказываний:
r="учится"∈{<фамилия>}⊗{<название ВУЗа>}

Слайд 3

Определения РЛ

атрибут (Аi) – имя столбца таблицы - Фамилия,
домен (Dj) - область определения

атрибута : для Название ВУЗа - {КГТУ, БГА, БФУ},
мощность - число строк таблицы,
кортеж (t)– строка таблицы, содержащая значения атрибутов - (Иванов, КГТУ). Если дано множество атрибутов A={A1,A2,…,An} и множество доменов D={D1,D2,..., Dm}, то t=(d1,d2,...,dn) где di∈Dj. Кортежи называют совместимыми, если они имеют одинаковые характеристики: число атрибутов и имена, а также их порядок в кортеже,
отношение (r) - множество совместимых кортежей, r={t| t=(d1,d2,...,dn), di∈Dj}⊆⊗nD; характеризуется схемой отношения rel(r)=(A1, A2,…, An) и арностью n,
ключ – один или несколько атрибутов, выделяющих единственный кортеж отношения,
реляционная база данных (R) - множество отношений для определенной области деятельности - R={ri}; характеризуется схемой реляционной базы данных REL(R)={rel(r)}.

Слайд 4

Схема связи между таблицей, отношением и файлом

ТАБЛИЦА ←→ ОТНОШЕНИЕ ←→ ФАЙЛ
строка ←→

кортеж ←→ запись
имя столбца←→ имя атрибута ←→ имя поля
тип атрибута←→тип домена ←→ тип поля

Слайд 5

Структура операций над отношениями

традиционные операции над множествами: дополнение, объединение, пересечение, разность, декартово произведение,

деление;
специальные реляционные операции: проекция, соединение и выбор.

Слайд 6

Языки управления БД

языки реляционной алгебры (РА) - описывают последовательность действий для получения желаемого

результата - процедурные языки,
языки реляционного исчисления (РИ) - предоставляют пользователю набор правил для записи запросов к БД, в которых содержится только информация о желаемом результате. Пример - язык запросов SQL (Structured Query Language).

Слайд 7

Реляционная алгебра

Слайд 8

Предметный язык РЛ

Алфавит Т:
отношения из множества {r1,r2,…},
операторы над отношениями:
∪- объединение,
∩-

пересечение,
\ - разность,
⊗ - прямое произведение,
¬ - дополнение,
δ(r,B) - выбор кортежа из отношения r по условию B,
πrel(r) - проекция отношения r на схему rel,
>< - естественное соединение,
>θ< - θ-соединение,
: - деление,
логические операторы {&,∨,¬},
операторы сравнения {=, ≠, >, ≥, <, ≤},
арифметические операторы {+, -, *, /}
кванторы {∃, ∀},
круглые скобки и запятая.

Слайд 9

Исходные таблицы

Слайд 10

Оператор выбора δ(r)

r’=δ(r,B)={t’|t’⊆r,B,rel(r’)=rel(r)}
Правила записи условия В:
простое условие: B=Аiθki, где θ∈{=, ≠, >,

≥, <, ≤}, kj∈Dj,
2) условие:
простое условие – условие,
если В – условие, то ¬B – условие,
если В1 и В2 – условия, то B1&B2, B1∨B2 – условия.

Слайд 11

Примеры использования оператора выбора

1. Дано:
Выбрать кортежи отношения r1 по значению ключа А1=а2:
r’=δ(r1,(A1=a2))={t’|t’⊆r,(A1=a2),rel(r’)=rel(r1)}
Результат:

Слайд 12

2. Дано:
Выбрать кортежи отношения r2 по значению A3=1:
r’=δ(r2,(А3=1))={t’|t’⊆r,(А3=1),rel(r’)=rel(r2)}
Результат:

Слайд 13

3. Дано:
Выбрать кортежи отношения r5 по значениям атрибутов {A1=a1,A2=b1,A3=1}:
r'=δ(r5,((A1=a1)&(A2=b1)&(A3=1)))={t’|t’⊆r, ((A1=a1)&(A2=b1)&(A3=1)),rel(r’)=rel(r5)}
Результат:

Слайд 14

Оператор проекции πrel(r)

r’=πAi, Aj, …,Ak(r)={t’|rel(r’)=Ai, Aj, …, Ak },
где 1 ≤ i, j,

k ≤ n

Слайд 15

Примеры использования оператора проекции

1. Дано:
Выбрать только ключи отношения r1:
r’= πA1(r1)={t’|rel(r’)=(A1)}
Результат:

Слайд 16

2. Дано:
Выбрать только ключи отношения r3:
r'= πA1,A5(r3)={t’|rel(r’)=(A1, A5)}
Результат:

Слайд 17

Оператор дополнения ¬r (пример)

Дано:
Найти дополнение для отношения r3:
r'=¬r3

Слайд 18

1) Определить прямое произведение доменов отношения r3:

Слайд 19

2) Исключить из таблицы кортежи, принадлежащие r3 :

Слайд 20

3) Результат:

Слайд 21

Оператор объединения ∪(r1,r2)

r’=∪(r1,r2)={t’|t’=t1∈r1 или t'=t2∈r2, rel(r’)=rel(r1)=rel(r2)}

Слайд 22

Пример оператора объединения

Дано:
Выполнить объединение r1∪r2: r’=r1∪r2={t’|t’=t1∈r1 или t'=t2∈r2, rel(r’)=rel(r1)=rel(r2)}
Результат:

Слайд 23

Оператор прямого произведения ⊗(r1,r2)

r`=⊗(r1,r2)={t`|t'= (t1,t2),t1∈r1 и t2∈r2, rel(r’)=(rel(r1), rel(r2))}

Слайд 24

Пример оператора прямого произведения

Дано:
Выполнить прямое произведение ⊗(r1 ,r4): r`=r1 ⊗r4=
{t`|t‘=(t1,t4),t1∈r1 и t4∈r4,

rel(r’)=(rel(r1),rel(r4))}

Слайд 25

Результат:

Слайд 26

Оператор разности \(r1,r2)

r’=\(r1,r2)={t’|t’=t1∈r1 и t1≠t2∈r2, rel(r')=rel(r1)=rel(r2)}

Слайд 27

Пример оператора разности

Дано:
Выполнить разность \(r1,r2): r’=r1\r2={t’|t’=t1∈r1 и t1≠t2∈r2, rel(r')=rel(r1)=rel(r2)}
Результат:

Слайд 28

Оператор пересечения ∩(r1,r2)

r’=∩(r1,r2)={t’|t’=t1∈r1 и t'=t2∈r2,rel(r')=rel(r1)=rel(r2)}

Слайд 29

Пример оператора пересечения

Дано:
Выполнить пересечение ∩( r1,r2): r'=r1∩r2= {t’|t’=t1∈r1 и t'=t2∈r2,rel(r')=rel(r1)=rel(r2)}
Результат:

Слайд 30

Оператор естественного соединения ><(r1,r2)

r’=><(r1,r2)={t’=(t1,t2)|t1∈r1 и t2∈r2, rel(r’)⊆rel(r1)∪rel(r2)}

Слайд 31

Пример оператора естественного соединения

Дано:
Выполнить естественное соединение ><(r3,r4):
r’= r3> (r3.A5=r4.A5))}

Результат:

Слайд 32

Оператор θ-соединения >θ<(r1,r2)

r’=>θ<(r1,r2,B)={t`=(t1,t2)|(t1,t2)∈r1⊗r2,rel(r’)=(rel(r1),rel(r2)),B}

Слайд 33

Пример оператора θ-соединения

Дано:
Выполнить θ-соединение >θ<(r1,r4) при условии В=(r1.A3r’=>θ<(r1,r4, (r1.A3

Результат:

Слайд 34

Оператор деления :(r1,r2)

r’=:(r1,r2)={t’|t1=(t’,t2), rel(r’)=rel(r1)\rel(r2)}

Слайд 35

Пример оператора деления

Дано:
Выполнить деление :(r5,r4): r’=:(r5,r4) ={t’|t5=(t’,t4), rel(r’)=rel(r5)\rel(r4)}

Результат:

Слайд 36

Правила реляционной алгебры

r’=δB1(δB2 (r))=δB2(δB1(r))
r’=δB(r1∩r2)=δB(r1)∩δB(r2)
r’=δB(r1∪r2)=δB(r1)∪δB(r2)
r’=δB(r1\r2)=δB(r1)\δB(r2)
r’=δB(r1>r’=δB(πrel(r1))=πrel(δB(r1))
r’=(r1>r’=(r1><(r2>

Слайд 37

Алгоритм реализации языка РА

1) в словесной формулировке запроса выделяются имена атрибутов, вход и

выход запроса, а также условия выборки;
2) анализируются атрибуты:
если все атрибуты находятся в одном отношении, то последующие операции (описаны в п.3) проводятся только с ним;
если атрибуты распределены по нескольким отношениям, то эти отношения необходимо соединить в одном отношении;
3) отношение обрабатывается операциями выборки и проекции, причем выборка по значениям атрибута должна предшествовать проекции, в которой этот атрибут выводится из отношения;
4) если запрос можно разделить на части (подзапросы), то его реализация также делится на части, где результатом подзапроса является отдельное отношение.

Слайд 38

Задание по РЛ

Слайд 39

1) согласно варианту удалить из отношений r1 и r2 четыре пары (столбец, строка)

и сформировать из оставшихся строк и столбцов отношения индивидуального задания (r1 и r2); имена атрибутов не изменять: 

Слайд 40

Таблицы для работы

Слайд 41

2) выполнить операции (r1∪r2), (r1∩r2), (r1\r2) (r1⊗r2):
написать формулы реляционной алгебры и реляционного исчисления,


нарисовать результирующие таблицы r’.

Слайд 42

r’=r1∪r2

Слайд 43

r’= r1∩r2

Слайд 44

r’= r1\r2

Слайд 45

r’= r1⊗r2

Слайд 46

3) выполнить операции >< или >θ<, δ, π (в соответствии с вариантом из

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

Таблица 4
π(r1.A4, r2.A4, r2.A3)(δ((r1>θ

Таблица 4
π(r1.A4, r2.A7, r2.A3)(δ((r1>

Слайд 47

r’= r1>θ

Слайд 48

r’’= δ(r’,r1.A3≠c1 and r2.A3≠c1)

Слайд 49

r‘’’=πr1.A4, r2.A4, r2.A3(r’’)

Слайд 50

r’= r1>

Слайд 51

r’’= δ(r’,r1.A3≠c1 or r2.A3≠c1)

Имя файла: Логика-реляционная.-Понятие-реляционной-модели.pptx
Количество просмотров: 55
Количество скачиваний: 0