Слайд 1РАЗДЕЛ 2
МОДЕЛИРОВАНИЕ И РАЗРАБОТКА ИС
Тема 2.3. Реляционная модель и
базы данных
2.3.2. Нормализация реляционной модели данных
Студент должен знать:
цель
нормализации модели данных;
требования первой, второй и третьей нормальных форм.
Слайд 2Тема 2.3.2. Нормализация реляционной модели данных
Реляционная модель данных — это
множество взаимосвязанных отношений. Простейший вариант реляционной модели — одно отношение
( в базе данных одна таблица). С однотабличными базами данных вы знакомились в базовом курсе информатики. Теперь предметом нашего изучения будут многотабличные базы данных.
Разберемся в причинах, которые приводят к необходимости многотабличной организации хранения данных.
Слайд 3Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
На
первом этапе зададимся целью построить базу данных, содержащую сведения об
успеваемости студентов в некоторой группе.
Отношение, включающее в себя все перечисленные данные, будет следующим:
УСПЕВАЕМОСТЬ (ФАМИЛИЯ, ИМЯ, ПРЕДМЕТ, ПОЛ, АДРЕС, 1_СЕМ, 2_СЕМ)
В этом отношении первичный ключ состоит из трех полей: ФАМИЛИЯ, ИМЯ, ПРЕДМЕТ. Такой ключ называется составным.
Слайд 4Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
Недостатком
хранения данных в таком виде является их избыточность. Под избыточностью
понимается многократное повторение одних и тех же данных.
Значения полей ФАМИЛИЯ, ИМЯ, ПОЛ, АДРЕС каждого студента будут повторяться в записях, относящихся к разным предметам. Это ведет к избыточности данных. Кроме того, существует вероятность того, что при вводе значений повторяющихся полей могут быть допущены ошибки. Такая ситуация называется противоречивостью данных.
Слайд 5Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
Решением
этих проблем является разбиение данного отношения на два, т. е.
переход от однотабличной модели к двухтабличной. Первую таблицу назовем СТУДЕНТЫ.
В ней будут храниться фамилия, имя, пол и адрес студента. Каждому студенту в этом списке ставится в соответствие свой номер (номер в журнале). Он и будет выполнять функцию первичного ключа.
Слайд 6Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
Вторую
таблицу назовем УСПЕВАЕМОСТЬ. В ней студентов можно будет идентифицировать их
номерами, определенными в первой таблице. Замена фамилии и имени ученика на номер существенно сократит расход памяти. В таблицу УСПЕВАЕМОСТЬ включается поле ПРЕДМЕТ и сведения о полученных оценках. Поля НОМЕР СТУДЕНТА и ПРЕДМЕТ образуют составной первичный ключ.
Слайд 7Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
В
итоге модель данных представляется двумя следующими отношениями:
СТУДЕНТЫ (НОМЕР_СТ, ФАМИЛИЯ, ИМЯ,
ПОЛ, АДРЕС)
УСПЕВАЕМОСТЬ (НОМЕР_СТУД, ПРЕДМЕТ, 1_СЕМ, 2_СЕМ)
Связь между этими отношениями имеет тип «один-ко-многим». Она осуществляется через общее поле НОМЕР_СТ (номер студента).
Слайд 8Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
Выполненная
работа называется нормализацией данных.
Полученная двухтабличная структура данных является нормализованной
структурой.
Основная цель нормализации — избавление от избыточности данных.
В идеале не избыточная база данных должна хранить каждый факт в одном экземпляре.
Слайд 9Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
Сущность
нормализации заключается в том, что при построении модели данных, относящейся
к определенной предметной области, нужно суметь выделить типы объектов (сущностей), которые должны быть представлены в этой модели.
В нашем примере такими объектами являются СТУДЕНТЫ с их анкетными данными и УСПЕВАЕМОСТЬ (итоги обучения) со сведениями о полученных студентами оценках по разным предметам.
Слайд 10Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
В
теории реляционных баз данных используется понятие «нормальная форма» отношения.
Отношение
находится в первой нормальной форме, если все его поля являются атомарными. Атомарное поле далее не делится.
Например, объединение в одно поле «ФИО» фамилии, имени и отчества человека нарушает принцип атомарности.
Слайд 11Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
Отношение
находится во второй нормальной форме, если оно находится в первой
нормальной форме, и все его неключевые поля полностью функционально зависят от первичного ключа.
То есть, значение неключевого поля в каждой записи однозначно связано со значением ключа этой записи.
Отношения СТУДЕНТЫ и УСПЕВАЕМОСТЬ обладают таким свойством.
Слайд 12Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
СТУДЕНТЫ
(НОМЕР_СТ, ФАМИЛИЯ, ИМЯ, ПОЛ, АДРЕС)
УСПЕВАЕМОСТЬ (НОМЕР_СТУД, ПРЕДМЕТ, 1_СЕМ, 2_СЕМ)
У каждого
студента (ключ: НОМЕР_СТ) определенные фамилия, имя, пол и адрес.
У данного студента по данному предмету (ключ: НОМЕР_СТ+ПРЕДМЕТ) определенные оценки за первый и за второй семестры.
Слайд 13Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
Требование
третьей нормальной формы: удовлетворение второй нормальной форме и отсутствие в
отношении полей, транзитивно зависимых от ключа.
Транзитивной зависимостью между полями А и В называется зависимость через третье поле С: А С В.
Слайд 14Тема 2.3.2. Нормализация реляционной модели данных
Учебный пример информационной системы
Например,
если бы в отношении СТУДЕНТЫ и присутствовало поле РАЙОН, обозначающее
административный район города, где живет студент, то имела бы место транзитивная зависимость. Район однозначно связан с адресом, поэтому транзитивность следующая:
НОМЕР_СТ АДРЕС РАЙОН
В полученных нами отношениях транзитивных зависимостей нет. Таким образом, полученная нами двухтабличная модель данных удовлетворяет требованию третьей нормальной формы.
Слайд 15Тема 2.3.2. Нормализация реляционной модели данных
——————Коротко о главном ——————
Нормализация отношений
в реляционной модели данных исключает избыточность и противоречивость данных.
Структура РБД
должна удовлетворять требованиям третьей нормальной формы:
все поля в отношениях должны быть атомарными;
все неключевые поля должны полностью функционально зависеть от первичного ключа;
должны отсутствовать транзитивные зависимости.