- •Конспект лекций по курсу
- •«Информационное обеспечение разработок и исследований»
- •Редакция 2008/1
- •Введение
- •История зарождения и развития компьютерных баз данных
- •Базы и банки данных
- •Уровни схематических моделей бд
- •Проектирование реляционных баз данных
- •Терминология реляционной модели бд:
- •Классический подход к проектированию реляционных баз данных
- •Функциональные зависимости
- •Основные принципы нормализации
- •1. Первая нормальная форма (1нф)
- •2. Вторая нормальная форма
- •3. Третья нормальная форма
- •4. Нормальная форма Бойса-Кодда
- •5. Четвертая нормальная форма
- •6. Пятая нормальная форма
- •7. Доменно-ключевая нормальная форма (дкнф)
- •Концептуальные модели и схемы баз данных
- •Инфологическая модель er: Entity-Relationship (Сущность-Связь)
- •Основные понятия модели «Сущность-Связь»
- •Преобразование er-схемы в реляционную модель
- •Методология idef1
- •Виды связей
3. Третья нормальная форма
Отношение R находится в третьей нормальной форме (3НФ), если находится во 2НФ и каждый неключевой атрибут не является транзитивно зависимым от первичного ключа.
Табл.2. ПРОЖИВАНИЕ (КодСтудента, Общежитие, Плата)
КодСтудента |
Общежитие |
Плата |
100 |
№9 |
120 |
110 |
№4 |
110 |
111 |
№9 |
120 |
121 |
№4 |
110 |
132 |
№8 |
100 |
142 |
№5 |
100 |
Для табл.2 также при удалении студента с кодом «142» будет потеряна информация о плате в общежитии «№5» и нельзя ввести данные по отсутствующему общежитию, пока не будет добавлен студент. В данном случае имеют место функциональные зависимости КодСтудента→Общежитие и Общежитие→Плата, образуя транзитивную зависимость КодСтудента→Общежитие→Плата.
Основной причиной возникновения аномалий является транзитивная зависимость неключевых атрибутов от первичного ключа.
УСТРАНЕНИЕ: декомпозиция отношения на два новых отношения СТУДЕНТ-ПРОЖИВАНИЕ (КодСтудента, Общежитие) и ОБЩЕЖИТИЕ-ПЛАТА (Общежитие, Плата)
На практике третья нормальная форма схем отношений достаточна в большинстве случаев, и приведением к третьей нормальной форме процесс проектирования реляционной базы данных обычно заканчивается. Однако иногда полезно продолжить процесс нормализации.
4. Нормальная форма Бойса-Кодда
Отношение R находится в нормальной форме Бойса-Кодда (БКНФ) в том и только в том случае, если каждый детерминант является возможным ключом.
Табл.3. НаучныйРуководитель (КодСтудента, УчебныйКурс, Преподаватель)
КодСтудента |
УчебныйКурс |
Преподаватель |
100 |
Физика |
Бойль |
110 |
Химия |
Клапейрон |
111 |
Физика |
Мариотт |
121 |
Физика |
Бойль |
133 |
Биология |
Дарвин |
133 |
Химия |
Клапейрон |
Требования к отношению «НаучныйРуководитель»:
-
Студент может посещать один или несколько учебных курсов.
-
На учебном курсе может быть несколько преподавателей.
-
Каждый преподаватель может осуществлять научное руководство над студентом только в рамках одного учебного курса.
Определение: Детерминант – любой атрибут, от которого полностью функционально зависит некоторый другой атрибут.
Для табл.3: при удалении студента с кодом «133» будет потеряна информация об учебном курсе «Биология» и нельзя ввести данные по отсутствующему учебному курсу, пока не будет добавлен студент.
В данном случае имеются два ключа-кандидата: КодСтудента-УчебныйКурс и КодСтудента-Преподаватель. Преподаватель является детерминантом атрибута УчебныйКурс (без преподавателя не может существовать учебный курс, следовательно учебный курс полностью функционально зависит от преподавателя).
Основной причиной возникновения аномалий является то, что детерминант «Преподаватель» в рассматриваемом отношении не является ключом.
УСТРАНЕНИЕ: декомпозиция отношения на два новых отношения СТУДЕНТ-РУКОВОДИТЕЛЬ (КодСтудента, Преподаватель) и РУКОВОДИТЕЛЬ-УЧЕБНЫЙКУРС (Преподаватель, УчебныйКурс)