Слайд 1ПОНЯТИЯ РЕЛЯЦИОННОЙ МОДЕЛИ ДАННЫХ
Учебная дисциплина «Технологии баз данных в
управленческой деятельности»,
Тема 2.3, 4 ч.
Попова Е.Э.
Слайд 2Реляционная модель данных. Преимущества и недостатки реляционной модели данных
Эдгар Франк
Тед Кодд
Идеи:
связь между данными должна устанавливаться в соответствии с их
внутренними логическими взаимоотношениями;
в реляционных системах одной командой могут обрабатываться целые файлы данных, в то время как в ранних СУБД одной командой обрабатывалась только одна запись. Реализация этого принципа существенно повысила эффективность программирования баз данных.
Слайд 3Реляционная модель данных. Преимущества и недостатки реляционной модели данных
Реляционная модель
данных – логическая модель данных, описывающая:
структуры данных в виде (изменяющихся
во времени) наборов отношений;
теоретико-множественные операции над данными: объединение, пересечение, разность и декартово произведение;
специальные реляционные операции: селекция, проекция, соединение и деление;
специальные правила, обеспечивающие целостность данных.
Слайд 4Реляционная модель данных. Преимущества и недостатки реляционной модели данных
Слайд 5Реляционная модель данных. Преимущества и недостатки реляционной модели данных
Слайд 6Реляционная модель данных. Преимущества и недостатки реляционной модели данных
Слайд 7Реляционная модель данных. Преимущества и недостатки реляционной модели данных
Слайд 8Реляционная модель данных. Преимущества и недостатки реляционной модели данных
Слайд 9Принципы построения реляционных БД
Правила Кодда:
Правило 1. Основное правило (Foundation Rule).
Правило 2. Явное представление данных (The Information Rule).
Правило 3. Гарантированный
доступ к данным (Guaranteed Access Rule).
Правило 4. Полная обработка неизвестных значений (Systematic Treatment of Null Values).
Правило 5. Доступ к словарю данных в терминах реляционной модели (Active On-Line Catalog Based on the
Relational Model).
Правило 6. Полнота подмножества языка (Comprehensive Data Sublanguage Rule).
Правило 7. Возможность модификации представлений (View Updating Rule).
Правило 8. Наличие высокоуровневых операций управления данными (High-Level Insert, Update, and Delete).
Правило 9. Физическая независимость данных (Physical Data Independence).
Правило 10. Логическая независимость данных (Logical Data Independence).
Правило 11. Независимость контроля целостности (Integrity Independence).
Правило 12. Дистрибутивная независимость (Distribution Independence).
Правило 13. Согласование языковых уровней (The Nonsubversion Rule).
Слайд 10Понятие отношения. Таблица как отношение, свойства реляционной таблицы
Теоретическая основа: теория
отношений, основу которой заложили Чарльз Содерс Пирс и Эрнст Шредер.
Структура
данных реляционной модели:
отношение;
атрибут;
домен;
кортеж;
степень;
кардинальность;
первичный ключ.
Слайд 11Понятие отношения. Таблица как отношение, свойства реляционной таблицы
Слайд 12Понятие отношения. Таблица как отношение, свойства реляционной таблицы
Свойства реляционной таблицы:
таблица
состоит из строк (кортеж, запись) и столбцов (атрибут, поле) и
имеет имя, уникальное внутри базы данных;
каждый элемент таблицы – один элемент данных;
все столбцы в таблице однородны, т.е. все элементы одного столбца имеют одинаковый тип (числовой, текстовый и т.д.) и длину;
каждый столбец имеет уникальное имя;
одинаковые строки в таблице отсутствуют;
порядок следования строк и столбцов может быть произвольным;
любая таблица может иметь один или несколько столбцов, значения в которых однозначно идентифицируют каждую ее строку – первичный ключ (PRIMARY KEY). В таблице не должно быть строк, имеющих одно и то же значение первичного ключа.
Слайд 13Установление связей. Первичный и внешний ключи
Главная (родительская)
Вспомогательная (дочерня)
Слайд 14Установление связей. Первичный и внешний ключи
Слайд 15Установление связей. Первичный и внешний ключи
PRIMARY KEY отношения «Сотрудник» атрибут
Паспорт является FOREIGHN KEY для отношения «Карьера».
Связь – ассоциирование двух или
более отношений.
Слайд 16Установление связей. Первичный и внешний ключи
Виды связей:
один к одному 1:1;
один
ко многим 1:М;
многие к одному М:1;
многие ко многим М:М.
Слайд 17Установление связей. Первичный и внешний ключи
Виды связей:
один к одному 1:1.
Номер
паспорта
Фамилия гражданина
1:1
Слайд 18Установление связей. Первичный и внешний ключи
Виды связей:
один ко многим 1:М.
Город
Поставщики
1:М
Слайд 19Установление связей. Первичный и внешний ключи
Виды связей:
многие к одному М:1.
Ученики
Класс
М:1
Слайд 20Установление связей. Первичный и внешний ключи
Виды связей: многие ко многим
М:М.
Документы
Сотрудники
М:М
Документы
Согласование
Сотрудники
?
?
Слайд 21Установление связей. Первичный и внешний ключи
Виды связей:
многие ко многим М:М.
Слайд 22Ограничение целостности
Целостность данных — механизм поддержания соответствия БД предметной области.
Целостность базы данных — свойство БД, означающее, что в ней
содержится полная, непротиворечивая и адекватно отражающая предметную область информация.
Требования обеспечения целостности
Целостность отношений
Целостность ссылок
Слайд 23Ограничение целостности
Целостность отношений. Объект реального мира представляется в реляционной БД
как кортеж некоторого отношения.
Требование целостности отношений заключается в следующем:
каждый
кортеж любого отношения должен отличатся от любого другого кортежа этого отношения (т.е. любое отношение должно обладать первичным ключом).
Слайд 24Ограничение целостности
Целостность ссылок. Сложные объекты представляются в реляционной БД в
виде кортежей нескольких нормализованных отношений, связанных между собой.
Требование целостности
по ссылкам состоит в следующем:
для каждого значения внешнего ключа, появляющегося в дочернем отношении, в родительском отношении должен найтись кортеж с таким же значением первичного ключа.
ОТДЕЛ (N_ОТДЕЛА, ИМЯ_ОТДЕЛА)
СОТРУДНИК (N_СОТРУДНИКА, N_ОТДЕЛА, ИМЯ_СОТРУДНИКА)
Слайд 25Ограничение целостности
Основные стратегии поддержания ссылочной целостности:
RESTRICT (ОГРАНИЧИТЬ) .
CASCADE (КАСКАДИРОВАТЬ) .
Дополнительные:
IGNORE
(ИГНОРИРОВАТЬ).
SET NULL (ЗАДАТЬ ЗНАЧЕНИЕ NULL).
SET DEFAULT (ЗАДАТЬ ЗНАЧЕНИЕ ПО
УМОЛЧАНИЮ).
Слайд 26Ограничение целостности
Обязательные данные. Поля, которые не могут иметь пустого значения.
Ограничения
для доменов полей. Каждое поле имеет свой домен, представляющий собой
набор его допустимых значений.
Корпоративные ограничения целостности. Дополнительные правила поддержки целостности данных, определяемые пользователями, принятые на предприятии или администраторами баз данных. Ограничения предприятия называются бизнес-правилами.
Слайд 27Ограничение целостности
Нарушения условий целостности
аномалия
Аномалия (anomaly)
– противоречие между моделью предметной области и моделью данных, поддерживаемой средствами конкретной СУБД.
избыточности;
обновления;
включения;
удаления.
ПОСТАВЩИКИ
(НАЗВАНИЕ ПОСТАВЩИКА, АДРЕС ПОСТАВЩИКА,
ТОВАР,
ЦЕНА)
Слайд 29Ограничение целостности
Аномалии избыточности
Студент (ФИО, Группа, Староста)
Студент (ФИО, Группа)
Избыточное дублирование данных
Неизбыточное дублирование данных
Слайд 30Процесс нормализации базы данных
Нормализация — процесс организации данных в БД, включающий
создание таблиц и установление отношений между ними в соответствии с
правилами, которые обеспечивают защиту данных и делают БД более гибкой, устраняя избыточность и несогласованные зависимости.
Цель нормализации: исключить избыточное дублирование данных, которое является причиной аномалий, возникших при добавлении, редактировании и удалении кортежей(строк таблицы).
Слайд 31Процесс нормализации базы данных
Правило нормализации БД – «нормальная форма».
Нормальная
форма — требование, предъявляемое к структуре таблиц в теории реляционных
БД для устранения избыточных функциональных зависимостей между атрибутами.
Метод нормальных форм (НФ): сбор информации об объектах решения задачи в рамках одного отношения и последующая декомпозиция этого отношения на несколько взаимосвязанных отношений на основе процедур нормализации.
Существует несколько нормальных форм.
1НФ
2НФ
3НФ, Нормальная форма Бойса-Кодда
4НФ
5НФ
Доменно-ключевая нормальная форма
6НФ
Слайд 32Процесс нормализации базы данных
1НФ
Слайд 33Процесс нормализации базы данных
1НФ
2НФ
Слайд 34Процесс нормализации базы данных
2НФ
3НФ
Модель → Магазин, Магазин → Телефон,
Модель
→ Телефон.
Слайд 35Процесс нормализации базы данных
Для 1НФ
Устраните повторяющиеся группы в отдельных таблицах.
Создайте
отдельную таблицу для каждого набора связанных данных.
Идентифицируйте каждый набор связанных
данных с помощью первичного ключа.
Для 2НФ
Создайте отдельные таблицы для наборов значений, относящихся к нескольким записям.
Свяжите эти таблицы с помощью внешнего ключа.
Для 3НФ
Устраните поля, не зависящие от ключа.