Реляционная модель данных
Элементы теории множеств
Операции над множествами
Объединение
Пересечением
Разность
Декартово произведение множеств
Отношение
Реляционная алгебра
Типы данных, используемые в реляционной модели
Домен
Отношение
Пример
Отношения, совместимые по типу
Теоретико-множественные операторы
Объединение
Пример
A UNION B
Пересечение
Пример
Вычитание
Пример
Декартово произведение
Пример
Декартово произведение отношений
Специальные реляционные операторы
Выборка (ограничение, селекция)
Пример
Проекция
Пример
Соединение
Общая операция соединения
Тэта-соединение
ЭКВИ-СОЕДИНЕНИЕ
Пример
PD
P[PNUM=PNUM]PD
Естественное соединение A JOIN B
P JOIN PD JOIN D
Деление A DEVID BY A
Пример
X DEVIDEBY Y
Примеры
Заключение
644.50K
Категория: Базы данныхБазы данных

Реляционная модель данных. (Лекция 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

PNUM
PNAME
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.

46. Заключение

English     Русский Правила