Similar presentations:
Реляционная модель данных. (Лекция 3)
1. Реляционная модель данных
Элементы теории множествОпределения РМД
Основные операции над отношениями
(реляционная алгебра)
2. Элементы теории множеств
Понятие множества являетсянеопределяемым понятием.
Множество не обладает внутренней
структурой.
Множество можно представить себе как
совокупность элементов, обладающих
некоторым общим свойством.
3. Операции над множествами
Основными операциями над множествамиявляются
объединение,
пересечение
разность.
4. Объединение
Определение 1. Объединением двухмножеств называется новое множество
5. Пересечением
Определение 2. Пересечение двухмножеств называется новое множество
6. Разность
Определение 3. Разностью двухмножеств называется новое множество
7. Декартово произведение множеств
8. Отношение
Определение6.
Подмножество
декартового произведения множеств
называется отношением степени n (nарным отношением).
R
9. Реляционная алгебра
10. Типы данных, используемые в реляционной модели
Для реляционной модели данных типиспользуемых данных не важен.
Требование, чтобы тип данных был
простым, нужно понимать так, что в
реляционных операциях не должна
учитываться внутренняя структура
данных.
11. Домен
Домен можно рассматривать как подмножествозначений некоторого типа данных имеющих
определенный смысл.
Домен характеризуется следующими свойствами:
Домен имеет уникальное имя (в пределах базы
данных).
Домен определен на некотором простом типе
данных или на другом домене.
Домен может иметь некоторое логическое
условие, позволяющее описать подмножество
данных, допустимых для данного домена.
Домен несет определенную смысловую
нагрузку.
12. Отношение
Определение 1. Атрибут отношения естьпара вида
<Имя_атрибута : Имя_домена>.
Имена атрибутов должны быть уникальны в
пределах отношения. Часто имена атрибутов
отношения совпадают с именами
соответствующих доменов.
Определение 2. Отношение , определенное
на множестве доменов (не обязательно
различных), содержит две части: заголовок и
тело.
13.
14. Пример
Сотрудники (Номер_сотрудника, Фамилия,Зарплата, Номер_отдела)
Номер_сотрудника
Фамилия Зарплата Номер_отдела
1
Иванов
1000
1
2
Петров
2000
2
3
Сидоров
3000
1
15. Отношения, совместимые по типу
Определение Будем называть отношениясовместимыми по типу, если они имеют
идентичные заголовки, а именно,
Отношения имеют одно и то же множество
имен атрибутов, т.е. для любого атрибута в
одном отношении найдется атрибут с таким
же наименованием в другом отношении,
Атрибуты с одинаковыми именами
определены на одних и тех же доменах.
16. Теоретико-множественные операторы
ОбъединениеПересечение
Вычитание
Декартово произведение
17. Объединение
Определение 2. Объединением двухсовместимых по типу отношений A и B
называется отношение с тем же
заголовком, что и у отношений A и B , и
телом, состоящим из кортежей,
принадлежащих или A, или B, или
обоим отношениям.
Синтаксис операции объединения:
A UNION B
18. Пример
Пусть даны два отношения А и В с информацией осотрудниках:
1
Иванов
Зарпл
ата
1000
2
Петров
2000
3
Сидоров
3000
Фамилия
N
1
Иванов
Зарпл
ата
1000
2
Пушников
2500
4
Сидоров
3000
Фамилия
N
19. A UNION B
Табельный номер ФамилияЗарплата
1
Иванов
1000
2
Петров
2000
3
Сидоров
3000
2
Пушников
2500
4
Сидоров
3000
20. Пересечение
ОпределениеПересечением
двух
совместимых по типу отношений A и B
называется отношение с тем же
заголовком, что и у отношений A и B , и
телом,
состоящим
из
кортежей,
принадлежащих одновременно обоим
отношениям A и B .
A INTERSECT B
21. Пример
Для тех же отношений А и В , что и впредыдущем примере пересечение имеет вид:
Табельный номер
1
Фамилия
Иванов
Зарплата
1000
22. Вычитание
Определение 4. Вычитанием двухсовместимых по типу отношений А и В
называется отношение с тем же
заголовком, что и у отношений А и В , и
телом,
состоящим
из
кортежей,
принадлежащих отношению А
и не
принадлежащих отношению В.
A MINUS B
23. Пример
Для тех же отношений А и В , что и впредыдущем примере вычитание имеет вид:
Табельный номер
Фамилия
Зарплата
2
Петров
2000
3
Сидоров
3000
24. Декартово произведение
25. Пример
1Наименова
ние
детали
Болт
2
Гайка
2
Петров
3
Винт
3
Сидоров
Номер
детали
Номер
постав
щика
1
Наименование
поставщика
Иванов
26. Декартово произведение отношений
НомерНаименование
поставщика
поставщика
1
Иванов
1
Иванов
1
Иванов
Номер
детали
1
2
3
Наименовани
е детали
Болт
Гайка
Винт
2
2
2
Петров
Петров
Петров
1
2
3
Болт
Гайка
Винт
3
3
Сидоров
Сидоров
1
2
Болт
Гайка
3
Сидоров
3
Винт
27. Специальные реляционные операторы
ВыборкаПроекция
Соединение
Деление
28. Выборка (ограничение, селекция)
Определение.Выборкой
(ограничением,
селекцией) на отношении А с условием с
называется отношение с тем же заголовком,
что и у отношения А , и телом, состоящем из
кортежей, значения атрибутов которых при
подстановке в условие с
дают значение
ИСТИНА.
с представляет собой логическое выражение,
в которое могут входить атрибуты отношения
и (или) скалярные выражения.
А where c
29. Пример
Табельный номер1
2
3
Фамилия
Иванов
Петров
Сидоров
Зарплата
1000
2000
3000
Результат выборки A WHERE зарплпта < 3000 будет иметь вид:
Табельный номер
1
2
Фамилия
Иванов
Зарплата
1000
Петров
2000
30. Проекция
Определение 7. Проекцией отношения A поатрибутам (X,Y,….Z), где каждый из атрибутов
принадлежит отношению A , называется
отношение с заголовком
и телом,
содержащим множество кортежей вида
(x,y,…z), таких, для которых в отношении A
найдутся кортежи со значением атрибута X
равным x, значением атрибута Y равным y,
…, значением атрибута Z равным z .
A[X,y…Z]
31. Пример
Номер1
2
3
Наименование
Иванов
Петров
Сидоров
4
Сидоров
Отношение
A[Город поставщика]
Город
Уфа
Москва
Москва
Челябинск
Город поставщика
Уфа
Москва
Челябинск
32. Соединение
Общая операция соединениятэта-соединение
Экви-соединение
Естественное соединение
33. Общая операция соединения
Определение. Соединением отношенийА
и В по условию с называется
отношение
(A TIMES B) Where c
c представляет собой логическое
выражение, в которое могут входить
атрибуты отношений A и B и (или)
скалярные выражения.
34. Тэта-соединение
Определение.Пусть
отношение
А
содержит атрибут X, отношение B
содержит атрибут Y, а θ
- один из
операторов сравнения ( и т.д.). Тогда соединением отношения A по атрибуту
X
с отношением B по атрибуту Y
называют отношение
(A TIMES B) WHERE X θ Y
35. ЭКВИ-СОЕДИНЕНИЕ
Наиболее важным частным случаем θ соединения является случай, когда естьпросто равенство.
A[X=Y]B
36. Пример
Номер Наименованиедетали
детали
DNUM DNAME
1
2
3
Болт
Гайка
Винт
Номер
постав
щика
PNUM
Наименование
поставщика
PNAME
1
Иванов
2
Петров
3
Сидоров
37. PD
Номерпоставщика
PNUM
1
Номер
детали
DNUM
1
Поставляемое
количество
VOLUME
100
1
2
200
1
3
300
2
1
150
2
2
250
3
1
1000
38. P[PNUM=PNUM]PD
Номерпоставщ
ика
PNUM1
1
Наименова
Номер
ние
постав
поставщик
щика
а
PNUM2
PNAME
Иванов
1
Номе
детали
DNUM
Поставляем
ое
количество
VOLUME
1
100
1
Иванов
1
2
200
1
Иванов
1
3
300
2
Петров
2
1
150
2
Петров
2
2
250
3
Сидоров
3
1
1000
39. Естественное соединение A JOIN B
40. P JOIN PD JOIN D
PNUMPNAME
DNUM
DNAME VOLUME
1
Иванов
1
Болт
100
1
Иванов
2
Гайка
200
1
Иванов
3
Винт
300
2
Петров
1
Болт
150
2
Петров
2
Гайка
250
3
Сидоров
1
Болт
1000
41. Деление A DEVID BY A
42. Пример
ПроекцияY=D[DNUM]
X=PD[PNUM,
DNUM]
DNUM
PNUM
1
2
3
DNUM
1
1
1
2
1
3
2
1
2
2
3
1
43. X DEVIDEBY Y
Номерпоставщика
PNUM
1
44. Примеры
Получить имена поставщиков,поставляющих деталь номер 2.
Получить имена поставщиков, поставляющих по
крайней мере одну гайку.
45.
Получить имена поставщиков,поставляющих все детали.
Получить имена поставщиков, не
поставляющих деталь номер 2.