Слайд 1§8. ПРОЕКТИРОВАНИЕ БД
Принципы концептуального проектирования БД
Метод нормальных форм - классический
метод проек-тирования реляционных БД
Слайд 2ВВЕДЕНИЕ
Проектирование БД – одна из наиболее ответственных и
трудных задач, связанных с созданием информаци-онной системы. В результате ее
решения должны быть определены и содержание БД, и эффективный с точки зрения всего сообщества будущих пользователей способ ее организации, и инструментальные средства управ-ления данными.
Слайд 3
1. Принципы концептуального проектирования БД
Процесс проектирования включает в
себя следующие этапы:
инфологическое проектирование;
определение требований к операционной обстановке;
выбор СУБД;
логическое проектирование;
физическое
проектирование.
Слайд 41.1. Этап инфологического проектирования
Первой задачей инфологического проекти-рования является
определение предметной области системы, позволяющее изучить информационные потребности будущих пользователей.
Формирование взгляда на предметную область с позиций уже сформировавшегося или потенциального сообщества будущих пользователей БД является второй задачей стадии инфологического проектирования.
Слайд 5 Такое представление предметной об-ласти – ее инфологическая модель
– выражается в терминах не отдельных объектов предметной области и
связей между ними, а их типов, связанных с ни-ми ограничений целостности, а также тех процессов, которые приводят к пе-реходу из одного состояния системы в другое. В простейших случаях проек-тировщик БД ограничивается содержа-тельным описанием модели предмет-ной области на естественном языке.
Слайд 6 Наряду с использованием естественного языка проектировщик может также
при-менять разнообразные выразительные средства для изображения структуры предметной области, например,
графы, вершинам которых соответствуют типы объектов, а ребрам – типы связей между ними (диаграммы Бахмана, ER-диа-граммы сущностей-связей и др.). Можно также использовать средства автомати-зации проектирования, например, CASE-средства (интерфейс Erwin).
Слайд 71.2. Этап определения требований к операционной обстановке
Этот этап
предполагает оценку тре-бований к вычислительным ресур-сам, необходимым для функциониро-вания проектируемой
информацион-ной системы, определение типа и конфигурации ЭВМ, на которой она будет функционировать, выбор типа и версии операционной системы.
Слайд 81.3. Выбор СУБД
Проектировщики БД при выборе ин-струментальных средств
(СУБД) ру-ководствуются чаще всего собствен-ными интуитивными экспертными оценками требований к
выбираемой СУБД по нескольким важным коли-чественным и качественным харак-теристикам. К числу таких характе-ристик относятся:
Слайд 9 тип модели данных, которую поддерживает выбранная СУБД, ее адекватность
потреб-ностям моделирования рассматриваемой предметной области;
характеристики производительности системы;
запас функциональных
возможностей выб-ранной СУБД для дальнейшего развития информационной системы;
степень оснащенности СУБД инструментари-ем для персонала администрирования данны-ми;
удобство и надежность СУБД в эксплуатации.
Слайд 101.4. Этап логического проектирования
Этот этап проектирования заключается в
создании схемы БД, в разработке ее логической структуры в соответствии
с инфологической моделью, в опреде-лении числа и структуры отношений, формировании запросов к БД, опреде-лении типов отчетных документов, разработке алгоритмов обработки ин-формации, создании форм для ввода и редактирования данных в БД.
Слайд 11 1.5. Этап физического проектирования
Проектирование на физическом уров-не
во многом зависит от используе-мой СУБД, зачастую автоматизиро-вано и скрыто
от пользователя. В ряде случаев пользователю предо-ставляется возможность настройки отдельных параметров системы, которая обычно не составляет большой проблемы.
Слайд 122. Метод нормальных форм – классический метод проектирования реляционных БД
Проектирование БД является одним из этапов жизненного цикла инфор-мационной
системы. Основной задачей в процессе проектирования БД является задача нормализации ее отношений.
Метод нормальных форм основан на фундаментальном в теории реляционных БД понятии зависимости между атри-бутами отношений.
Слайд 132.1. Функциональная зависимость между атрибутами
Определение 1. Атрибут B
функцио-нально зависит от атрибута A, если каждому значению атрибута A
соот-ветствует в точности одно значение атрибута B.
Обозначение: A → B.
Атрибуты A и B могут быть состав-ными, то есть состоять из двух и более атрибутов.
Слайд 14Виды функциональных зависимостей
Определение 2. Атрибут C зависит от атрибута A
транзитивно, если существует атрибут B такой, что если
A
→ B и B → C, то A → C.
Обозначают: A → B → C.
Например, оклад преподавателя транзитивно зависит от его должности (здесь A – фамилия, имя, отчество преподавателя, B – должность, C – оклад).
Слайд 15 Определение 3. В некотором отно-шении атрибут B многозначно зави-сит
от атрибута A, если каждому зна-чению атрибута A соответствует мно-жество
значений атрибута B, не свя-занных с другими атрибутами из дан-ного отношения. Многозначные зави-симости могут быть вида 1:M, M:1 и M:M. Обозначения соответственно:
A ⇒ B, A ⇐ B, A ⇔ B.
Слайд 16Например, пусть преподаватель ведет несколько дисциплин, и каждая дисци-плина может
вестись несколькими преподаватеями. Тогда имеется зави-симость ФИО ⇔ Дисциплина (M:M).
Функциональная
зависимость может быть частичной, когда неключевой атрибут за-висит от части составного ключа. Зависи-мость между атрибутами может быть вза-имно однозначной, то есть вида 1:1 (A↔B). Выделяют также взаимно незави-симые атрибуты.
Слайд 17Основной способ определения функцио-нальных зависимостей – внимательный анализ семантики атрибутов.
Предлагаем
самостоятельно определить вид функциональной зависимости в отно-шении «Преподаватель»:
ФИО -
Оклад; ФИО – Должность;
ФИО-Стаж; ФИО – Н_Должность; ФИО – Кафедра; Должность – Н_Должность; ФИО. Дисциплина. Группа – Вид_занятия, где Н_Должность означает надбавку за должность.
Слайд 182.2. Общие сведения о нормальных формах
Иногда отношения содержат
избы-точное дублирование данных, которое является причиной аномалий редакти-рования. Различают избыточность
явную и неявную.
Например, в отношении «Препода-ватель» кортежи с данными о пре-подавателе, проводящему занятия в нескольких группах, могут повторяться несколько раз.
Слайд 19Поэтому, если у этого преподавателя изменится значение какого-то атрибута, то
этот факт должен быть отражен во всех кортежах, где он
задействован. В противном случае будет иметь место противоречие в данных, что является примером аномалии редактирования, обусловленной явной избыточностью данных.
Неявная избыточность в отношении «Преподаватель» может проявиться в одинаковых окладах у всех препода-вателей и в одинаковых надбавках к окладу за одинаковую должность.
Слайд 20Действительно, если изменятся оклады за должность у всех преподавателей, кроме
одного, то БД станет противоречивой.
Нормализация отношений и является как раз
средством исключения избыточности.
Поскольку зависимость между атрибутами является причинной аномалией, стара-ются провести декомпозицию отношения с зависимостями атрибутов на несколько отношений. В результате образуется со-вокупность связанных отношений с раз-личными видами связей. Таким образом, связи между таблицами отражают зави-симости между атрибутами различных отношений.
Слайд 21После того, как выделены все функцио-нальные зависимости, следует проверить их
согласованность с данными исходного отношения.
Процесс проектирования БД с использо-ванием метода
нормальных форм явля-ется итеративным и заключается в пос-ледовательном переводе отношений из первой нормальной формы в нормальные формы более высокого порядка по определенным правилам.
Слайд 22Каждая следующая нормальная форма (НФ) ограничивает определенный тип функциональных зависимостей,
устра-няет соответствующие аномалии при выполнении операций над отношениями БД и
сохраняет свойства предшест-вующих нормальных форм. Выделяют следующую последовательность нор-мальных форм: 1НФ, 2НФ, 3НФ, уси-ленная 3НФ или нормальная форма Бойса-Кодда (БКНФ), 4НФ и 5НФ.
Слайд 232.3. Первая нормальная форма
Отношение R находится в 1НФ,
если все его атрибуты являются простыми (имеют единственное значение).
Исходное отношение строится таким образом, чтобы оно было в 1НФ.
Слайд 242.4. Декомпозиция без потерь
Под декомпозицией без потерь или
проецированием без потерь данного отношения понимается такой способ де-композиции этого
отношения, при котором оно полностью и без избыточности восста-навливается путем естественного соеди-нения полученных отношений.
Такая декомпозиция должна обеспечивать одинаковый результат запроса к исход-ному отношению и к отношениям, полу-чаемым в результате декомпозиции.
Слайд 252.5. Вторая нормальная форма
Отношение R находится во 2НФ,
ес-ли каждый его неключевой атрибут функционально полно зависит от составного
первичного ключа.
Для устранения частичной избыточ-ности и перевода отношения R во 2НФ необходимо, используя операцию про-екции, разложить его (то есть произ-вести операцию декомпозиции без по-терь) на несколько отношений следую-щим образом:
Слайд 26построить проекцию отношения R без атрибутов, находящихся в частичной функциональной
зависи-мости от первичного ключа;
построить проекции на части сос-тавного первичного ключа
и атри-буты, зависящие от этих частей.
Слайд 272.6. Третья нормальная форма
Существует два равносильных опреде-ления 3НФ:
Отношение
R находится в 3НФ, если каждый его неключевой атрибут не-транзитивно
зависит от первичного ключа.
Отношение R находится в 3НФ в том и только в том случае, если все его неключевые атрибуты взаимно неза-висимы и полностью зависят от пер-вичного ключа.
Слайд 282.7. Третья усиленная нормальная форма
Отношение R находится в
НФ Бойса-Кодда (БКНФ), если в нем отсутствуют зависимости клю-чей (атрибутов
составного клю-ча) от неключевых атрибутов.
При этом, как и в предыдущих определениях нормальных форм, должны сохраняться все свойства предыдущих нормальных форм.
Слайд 292.8. Теорема Фейджина
В произвольном отношении R(A, B, C)
может одновременно существовать многозначная зависимость вида A ⇒ B и
A ⇒ C (обозначение: A ⇒ B|C).
Переход к 4НФ основывается на теореме Фейджина: отношение R(A, B, C) можно спроецировать без потерь на отно-шения R1(A, B) и R2(A, C) в том и только в том случае, когда суще-ствует зависимость A ⇒ B|C).
Слайд 302.9. Четвертая нормальная форма
Отношение R находится в 4НФ
в том и только в том случае, когда существует многозначная
зави-симость вида A ⇒ B, а все ос-тальные атрибуты отношения R функционально зависят от атри-бута A.
Заметим, что в общем случае не всякое отношение, находящееся в 4НФ, можно восстановить к исходному отношению.
Слайд 31 Результатом нормализации всех предыдущих схем является два новых
отношения. Иногда это сделать не удается, либо полу-чаемые отношения заведомо
имеют нежелательные свойства. В этом случае выполняют деком-позицию исходного отношения на отношения, количество которых больше двух.
Слайд 32 Введем определение зависимости соединения. Говорят, что отноше-ние R(X,
Y, …, Z) удовлетворяет зависимости соединения в том и только
в том случае, если R восстанавливается без потерь путем соединения своих проекций на атрибуты X, Y, …, Z.
Зависимость соединения является обобщением функциональной и многозначной зависимостей.
Слайд 332.10. Пятая нормальная форма
Отношение R находится в 5НФ
(или нормальной форме проек-ции-соединения – PJ/NF) в том и только
в том случае, когда лю-бая зависимость соединения в отношении R следует из суще-ствования некоторого возмож-ного ключа в R.
Слайд 34Условия получения пятой нормаль-ной формы весьма нетривиальны и поэтому на
практике она использу-ется редко. Обычно ограничиваются структурой БД, соответствующей 3НФ
или БКНФ. Поэтому процесс нормализации отношений методом нормальных форм предполагает по-следовательное удаление из исход-ного отношения следующих межат-рибутных зависимостей:
Слайд 35 частичных зависимостей неключевых атри-бутов от ключевых (удовлетворение требо-ваний 2НФ);
нетранзитивных зависимостей неключевых атрибутов от ключа (удовлетворение требо-ваний 3НФ);
зависимости
ключей (атрибутов составных ключей) от неключевых атрибутов (удов-летворение требований БКНФ).
Заметим, что метод нормальных форм ис-пользуется для проектирования небольших БД. Для больших БД чаще используется метод «сущность-связь».