Лекция №4 РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ
Определение отношения
Основные определения
Основные определения
Пример 1. Пусть имеется два домена:
Пример 2. Пусть имеется четыре домена:
Табличное представление
Схема отношения.
Реляционная база данных
Пример фрагмента БД Отношение 1. Радиоэлементы (транзисторы)
Отношение 2. Склад
Существующие ключи.
Классы отношений
Объектное отношение "Детали"
Объектное отношение "Материалы"
Связное отношение "Технологический процесс"
Условия, позволяющие считать таблицу отношением.
Индексирование
Индексирование
Пример схемы
Продолжение
Продолжение
Продолжение
Связи между отношениями (таблицами) Преимущества:
Разновидности связей между отношениями
Разновидности связей между отношениями
Разновидности связей между отношениями
Обеспечение целостности данных
Обеспечение целостности данных
Обеспечение целостности данных
Обеспечение целостности данных
Обеспечение целостности данных
Семантическая поддержка
Семантическая поддержка
Виды декларативных ограничений целостности:
Виды декларативных ограничений целостности:
882.50K
Категория: Базы данныхБазы данных

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

1. Лекция №4 РЕЛЯЦИОННАЯ МОДЕЛЬ ДАННЫХ

2. Определение отношения

Математически отношение определяется следующим
образом.
Пусть даны n множеств D1,D2,…,Dn.
Тогда R есть отношение над этими множествами,
если R есть множество упорядоченных кортежей длины n вида
(d1,d2,…,dn),
где d1 – элемент из D1, d2 – элемент из D2, dn – элемент из Dn.
D1,D2,…,Dn называют доменами отношения R. Заметим, что
данное определение эквивалентно определению декартова
произведения множеств D1,D2,…,Dn.

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

Отношение – подмножество декартова
произведения одного или более доменов.
Домен – множество возможных значений
конкретного атрибута.
Атрибут – свойство объекта, явления или
процесса. Примеры атрибутов: фамилия, имя,
отчество, дата рождения.

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

Кортеж - элемент отношения, это отображение
имен атрибутов в значения, взятые из
соответствующих доменов. Конечное
множество кортежей образует отношение.
Если отношение создается из n доменов, то
каждый кортеж имеет n компонент.

5. Пример 1. Пусть имеется два домена:

D1 = (0,1); D2 = (a,b,c).
Построим декартово произведение доменов D1,D2:
D1 x D2 = {(0,a),(0,b),(0,c),(1,a),(1,b),(1,c)}.
В качестве отношения, построенного на доменах D1,
D2, можно выбрать, например, следующее:
R = {(0,a),(0,c),(1,b),(1,c)}.
Отношение R состоит из четырех кортежей, в каждом
кортеже по два элемента, первый выбирают из
домена D1, второй – из домена D2.

6. Пример 2. Пусть имеется четыре домена:

D1 – множество целых чисел, например, множество номеров
деталей (101, 34, 23, 109, 147).
D2 – множество символьных строк, например, множество
названий деталей (втулка, кронштейн, скоба, муфта, болт).
D3 – множество символьных строк, например, множество
названий видов обработки (холодная штамповка,
металлическое литье, литье из пластмасс, механическая
обработка).
D4 – множество вещественных чисел, например, множество
весов деталей (45.8, 6.9, 123, 69.3, 5.2, 2.34).
В качестве отношения, построенного на доменах D1, D2, D3,
D4, можно выбрать, например, следующее:
R = {(34, втулка, литье из пластмасс, 69.3), (23, кронштейн,
холодная штамповка, 45.8), (101, болт, механическая
обработка, 5.2)}.
Отношение R состоит из трех кортежей, в каждом кортеже по
четыре элемента.

7. Табличное представление

Номер детали
Название детали
Вид обработки
Вес
401000
Втулка
Литье из
пластмасс
69.3
409857
Кронштейн
Холодная
штамповка
45.8
409900
Стойка
Механическая
обработка
5.2
409870
Скоба
Холодная
штамповка
0.2
409859
Шайба
Токарная
обработка
0.3
409887
Шасси
Механическая
обработка
1.4

8. Схема отношения.

Поименованный список имен атрибутов отношения
называют схемой отношения. Пример схемы:
Детали (Номер детали, Название детали, Вид
обработки, Вес).
Ключевой атрибут в схеме отношения подчеркивают.
Совокупность схем отношений, используемых для
представления информации, называется схемой
реляционной базы данных.
Число столбцов в отношении называют степенью.
Текущее число кортежей в отношении называют
мощностью.

9. Реляционная база данных

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

10. Пример фрагмента БД Отношение 1. Радиоэлементы (транзисторы)

Тип прибора
Материал
Структура
Технология
Мощность
коллектора
ГТ109Г
Ge
p-n-p
C
30
ГТ115Б
Ge
p-n-p
C
50
КТ208А
Si
p-n-p
ПЭ
200

11. Отношение 2. Склад

Номер
стеллажа
Тип прибора
Количество
10
ГТ109Г
100
11
ГТ109Г
50
10
КТ208А
12

12. Существующие ключи.

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

13. Классы отношений

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

14. Объектное отношение "Детали"

Объектное отношение "Детали"
Номер детали
Название детали
401000
Втулка
409857
Кронштейн

15. Объектное отношение "Материалы"

Объектное отношение
"Материалы"
Код материала
Марка
Вид материала
181508
АД1Н
Лист
181440
АМГ2М
Лист

16. Связное отношение "Технологический процесс"

Связное отношение
"Технологический процесс"
Номер
детали
Код материала
Норма расхода
материала
401000
181508
23.78
409857
181440
112.6

17. Условия, позволяющие считать таблицу отношением.

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

18. Индексирование

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

19. Индексирование

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

20. Пример схемы

Студенты (Номер зачетки, Фамилия, Имя,
Отчество, Дата рождения).
Фрагмент таблицы с исходными данными
следующий:
06023 Петров Сергей Алексеевич
12.09.89
06010 Волков Максим Михайлович 30.09.89
06002 Антипов Петр Андреевич
09.01.89
06018 Орлов Алексей Викторович 23.06.89

21. Продолжение

Вид индексной таблицы, построенной по номеру
зачетки следующий:
06002 3
06010 2
06018 4
06023 1

22. Продолжение

Вид индексной таблицы, построенной по фамилии
следующий:
Антипов 3
Волков
2
Орлов
4
Петров
1

23. Продолжение

Вид индексной таблицы, построенной по дате
рождения:
09.01.89
3
23.06.89
4
12.09.89
1
30.09.89
2

24. Связи между отношениями (таблицами) Преимущества:

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

25. Разновидности связей между отношениями

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

26. Разновидности связей между отношениями

Связь «один-к-одному» имеет место, когда одной
записи в родительской таблице соответствует только
одна запись в дочерней таблице. Наличие двух таблиц
говорит
о
желании
разделить
основную
и
второстепенную информацию на два отношения.
Связь «один-к-одному» приводит к тому, что для чтения
связанной информации в нескольких таблицах
приходится производить несколько операций чтения, что
замедляет получение нужной информации. Связь «одинк-одному» может быть жесткой и нежесткой.

27. Разновидности связей между отношениями

Третий вид связи – связь «многие-ко-многим».
Данный вид связи означает, что несколько записей
одной таблицы связаны с несколькими записями
другой таблицы и наоборот.
Например: между таблицами «Учебные группы и
дисциплины»
и
«Преподаватели»
может
существовать связь «многие-ко-многим».

28. Обеспечение целостности данных

Поддержка структурной целостности, которая
трактуется как то, что реляционная СУБД должна
допускать работу только с однородными
структурами
данных
типа
«реляционное
отношение». При этом понятие «реляционное
отношение»
должно
удовлетворять
всем
ограничениям, накладываемым на него в
классической теории реляционной БД (отсутствие
дубликатов кортежей, обязательное наличие
первичного
ключа,
отсутствие
понятия
упорядоченности кортежей).

29. Обеспечение целостности данных

Поддержка языковой целостности, которая
состоит в том, что реляционная СУБД должна
обеспечивать языки описания и манипулирования
данными, соответствующие стандарту SQL. Не
должны быть доступны иные низкоуровневые
средства
манипулирования
данными,
не
соответствующие стандарту.

30. Обеспечение целостности данных

Поддержка ссылочной целостности (Declarative
Referential Integrity, DRI).
Ссылочная целостность – это совокупность связей
между отдельными таблицами во всей базе данных.

31. Обеспечение целостности данных

СУБД при корректировке базы данных обеспечивает для
связанных таблиц контроль за соблюдением следующих
правил:
1. в подчиненную таблицу не может быть добавлена
запись с несуществующим в главной таблице
значением ключа связи;
2. в главной таблице нельзя удалить запись, если не
удалены связанные с ней записи в подчиненной
таблице;
3. изменение значений ключа связи в записи главной
таблицы невозможны, если в подчиненной таблице
имеются связанные с ней записи.

32. Обеспечение целостности данных

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

33. Семантическая поддержка

Семантическая поддержка
декларативный
процедурный путь.

34. Семантическая поддержка

Декларативный путь связан с наличием
механизмов в рамках СУБД, обеспечивающих
проверку и выполнение ряда декларативно
заданных правил-ограничений, называемых чаще
всего «бизнес-правилами» (Business Rules) или
декларативными ограничениями целостности.

35. Виды декларативных ограничений целостности:

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

36. Виды декларативных ограничений целостности:

Ограничения целостности, задаваемые на
уровне отношения. Некоторые семантические
правила невозможно преобразовать в выражения,
которые будут применимы только к одному
столбцу.
Ограничения целостности, задаваемые на
уровне связи между отношениями: задание
обязательности связи, принципов каскадного
удаления и каскадного обновления данных,
задание поддержки ограничений по мощности
связи.
English     Русский Правила