Слайд 1Теория реляционных баз данных
Слайд 2Литература
Мейер Д. Теория реляционных баз данных. М.:«Мир», 1987
Дейт К.Дж. Введение
в системы баз данных. , 6-е изд.:Пер. с англ.. ,К.;
СПб.:Издательский дом «Вильямс», 2000.
Кодд Э.
Джексон Г. Проектирование реляционных баз данных для использования с микроЭВМ, М.:«Мир», 1991
Хансен Г., Хансен Дж. Базы данных. Разработка и управление. - Издательство Бином
Мишенин А.И. Теория экономических информационных систем. М.:ФиС, 2005.
Слайд 4Реляционная модель. Информационные единицы.
База данных
Отношение → таблица
Запись
(строка, ряд, запись,row, кортеж)
Атрибут (поле)
Домен – множество значений атрибута
Слайд 5Реляционная модель данных
Реляционная база данных - совокупность взаимосвязанных плоских таблиц
Особенности
реляционной модели:
Простая линейная структура записи
Связи между таблицами устанавливаются динамически, в
момент выполнения запроса по равенству значений полей связи
ЯМД – теоретико-множественный
Слайд 6Влияние особенностей модели на проектирование
Должны быть устранены все составные единицы
информации
Поля связи должны иметь соответствующие друг другу типы данных, одинаковые
длины. Совпадение имен не обязательно, но желательно
Слайд 7Ключи
Ключ - атрибут или совокупность атрибутов однозначно идентифицирующих строку отношения
Ключ,
состоящий из одного атрибута, называется простым.
Ключ, состоящий из нескольких
атрибутов, называется составным.
Слайд 8Свойства ключа
Уникальность
Неизбыточность
Не может содержать пустых значений
Слайд 9Ключи
Все атрибуты, входящие в ключ, называются ключевыми атрибутами.
Атрибуты, не
являющиеся частью ключа, называются неключевыми.
На роль ключа в отношении
могут претендовать несколько атрибутов (совокупностей атрибутов).
В этом случае каждый из них называется вероятным (альтернативным, возможным, потенциальным) ключом.
Если в отношении имеется несколько потенциальных ключей, необходимо выделить один из них в качестве первичного ключа.
Слайд 14Расписание занятий
Вероятные составные ключи
Слайд 15Факторы, влияющие на выбор первичного ключа
Будут рассмотрены при изложении алгоритма
проектирования
Слайд 16Внешний ключ
Атрибут (совокупность атрибутов), который в данном отношении ключом не
является (но может входить в состав составного ключа), а в
другом отношении является первичным ключом, называется внешним ключом. (* при связи между таблицами 1:1 может являться первичным ключом)
Связь в реляционных базах данных устанавливается от ключа к внешнему ключу
Слайд 19Понятие функциональной зависимости
А, В – атрибут или совокупность атрибутов
Функциональная зависимость
(functional dependency)
В является функционально зависимым от А тогда и только
тогда, когда каждому значению А соответствует одно и только одно значение В.
Обозначается:
A B
Или
F(A)=B
Детерминант (determinant) — атрибут, который определяет значения других атрибутов.
Синоним – определитель.
Слайд 20Функциональная зависимость.
Пример 1
Таб_ном --> ФАМИЛИЯ
Таб_ном --> ГОД_Р
Слайд 21Функциональная зависимость.
Пример 2
Код_предприятия, Код_продукции, Дата
Количество
Слайд 22
Неключевые атрибуты таблицы функционально зависят от ключа
Между атрибутами первичного
ключа не может быть функциональных зависимостей
Слайд 23Взаимно-однозначное соответствие
(Пример из учебника Мишенин А.И. «Теория экономических информационных систем»)
Наименование
предприятия
ИНН
ДИНАМО
77014
АТЭ
77036
МАНОМЕТР
77054
Наименование предприятия ИНН
** утверждение было бы верно,
если:
- нет предприятий с одинаковыми названиями
Нет одинаковых ИНН
Ни то, ни другое утверждение не верно
Слайд 24
Код_кафедры Наименование_кафедры_полное
Код_кафедры
Наименование_кафедры_краткое
Наименование_кафедры_краткое Наименование _кафедры_полное
Взаимно-однозначное соответствие
(пример 2)
Слайд 26
Нормализация
Нормализация
Приведение к первой
нормальной форме
(1 NF)
Приведение к более
высокой
нормальной форме
(2,3,4,5 … NF)
Слайд 27Первая нормальная форма (1NF)
Данные хранятся в плоской двухмерной таблице
без:
- неповторяющихся СЕИ
- векторов
повторяющихся групп.
Таблица находится
в первой нормальной форме (1НФ) тогда и только тогда, когда ни одна из ее строк не содержит в любом своем поле более одного значения и ни одно из ее ключевых полей не пусто.
Слайд 28
Приведение к 1 NF – представление данных в виде плоской
двухмерной таблицы
Дальнейшая нормализация – это разбиение таблицы на две или
более, обладающих лучшими свойствами при включении, изменении и удалении данных.
Слайд 29Приведение к 1NF.
«Универсальное отношение»
Понятие «Универсальное отношение» - все
атрибуты записываются в одной таблице.
Чаще используется как теоретическая основа
Слайд 33Недостатки первой нормальной формы (1NF)
Аномалии по вставке
Аномалии по корректировке
Дублирование данных
Слайд 34Вторая нормальная форма (2NF)
Отношение находится во второй нормальной форме, если
оно соответствует первой нормальной форме, и все неключевые атрибуты функционально
полно зависят от первичного ключа.
Атрибут функционально полно зависит от ключа, если он функционально зависит от всего ключа, но не зависит от любой его части
Слайд 35Функциональные зависимости отношения
Таб_ном, месяц, год сумма на руки
Таб_ном Фамилия
Таб_ном Отдел
Отдел, месяц, год
итого по отделу
Слайд 38Отношение в 2NF (пример 2 – расширена – не является
в 3NF )
Слайд 40Третья нормальная форма (3NF)
Отношение находится в третьей нормальной форме, если
оно соответствует второй нормальной форме, и в нем не существует
транзитивных зависимостей.
(А -> В и В -> С, поэтому А -> С)
Слайд 42Нормальная форма Бойса-Кодда
Отношение соответствует нормальной форме Бойса-Кодда, если
оно соответствует третьей нормальной форме, и все определители являются кандидатами
на использование в качестве ключа.
Слайд 43Четвертая нормальная форма
Отношение находится в четвертой нормальной форме, если
оно соответствует нормальной форме Бойса-Кодда, и в ней нет многозначных
зависимостей.
Атрибут А многозначно определяет атрибут В, если для каждого значения атрибута А существует хорошо определенное множество соответствующих значений В.
Слайд 44Многозначные зависимости (multivalued dependency)
Многозначная зависимости существует, если каждому значению
атрибута А соответствует конечное множество значений атрибута В, связанных с
А, и конечное ; множество значений атрибута С, также связанных с А. Атрибуты В и С друг от друга не зависят.
A-» B, A-»C
Слайд 45иллюстрация многозначных зависимостей
Дисциплина -» Преподаватель
Дисциплина -» Учебник
Слайд 48Правила вывода
Аксиомы (правила, теоремы) вывода – правила, устанавливающие, что
если некоторое отношение удовлетворяет некоторым F-зависимостям, то оно должно удовлетворять
и некоторым другим F-зависимостям.
Слайд 49Правила вывода
A,B->A и A,B->B
Если A->B и A->C то A->BC
Если A->B
и B->C то A->C
Если A->B то AC->B
Если A->B и BC->D
то AC->D
Слайд 51Алгоритм нормализации
Шаг 1.
Получение исходного множества функциональных зависимостей.
Рассматриваются все сочетания
атрибутов (1,2 ,3, …..n).
Не рассматриваются варианты, которые являются следствием теорем
о функциональных зависимостях.
Шаг 2. Поиск минимального покрытия функциональных зависимостей: множество, из которого удалены зависимости, являющиеся следствием оставшихся зависимостей.
F={f1, f2, …. , fn}
Шаг 3. Для каждого fi создать отношение
Шаг 4. Если первичный ключ исходного отношения не вошел ни в одну проекцию, то создать дополнительное отношение, содержащее этот ключ
Примечание:
Для взаимно однозначных зависимостей принято выделять «старший» атрибут, который затем представляет все атрибуты взаимно однозначного соответствия.
Слайд 52Рекомендация
При проведении нормализации таблиц, в которые введены заменители составных первичных
ключей (искусственные идентификаторы) , следует хотя бы мысленно поменять их
на исходные ключи, а после окончания нормализации снова восстанавливать.
Слайд 53Недостатки нормализации
Совместная обработка связанных таблиц может существенно замедлить обработку.
Понятие «денормализация»
Слайд 55Реляционная алгебра
Язык процедурного типа
Операндами являются отношения
Результатом является отношение
Слайд 56Операция Проекция
Унарная операция
T =R[X],
Где R – исходное отношение
T – результирующее
отношение
Х – список атрибутов, входящих в результирующее отношение. Является подмножеством
атрибутов исходного отношения.
Слайд 57Операция Проекция.
Пример (абстрактный).
R
T=R[A,B]
Слайд 59Операция Проекция.
Пример 3.
Операция нежелательна
Слайд 60Операция Выборка
T =R[р],
Где R – исходное отношение
T – результирующее отношение
р–
Условие выборки
Условие выборки:
ИМЯ_АТРИБУТАЗНАЧЕНИЕ
ИМЯ_АТРИБУТА ИМЯ_АТРИБУТА
Условия выборки могут быть сложными
Слайд 61Операция Выборка.
Пример (абстрактный).
R
T=R[С= c1]
Слайд 62Операция Выборка.
Пример 2
T=R[Предмет = БД]
Слайд 63Операция объединения
R1
T=R1UR2
R2
T
Слайд 64Операция объединения. Пример
Сотрудники
Студенты
Кадры
Слайд 65Операция Пересечения
R1
T=R1^R2
R2
T
Слайд 66Операция Пересечения. Пример
Сотрудники
Студенты
Студенты-Сотрудники
Слайд 68Операция Вычитания . Пример
Сотрудники
Студенты
Сотрудники «не студенты»
Слайд 69Операция Соединения
R1
T=R1[p]R2,
где p – условие соединения
R2
T
Слайд 70Операция Соединения. Пример
Сотрудники
Зн_ин_яз
Слайд 71Операция Соединения
В «условии соединения» может использоваться любой знак сравнения
Чаще всего
используется знак «=». Такое соединение называется натуральным.
В ЯМД реляционных
СУБД включены разновидности Соединения : внутреннее, левое, правое и др.
Слайд 72Операции реляционной алгебры
(сводная диаграмма)