- •Основные принципы построения баз данных, проблемы хранения больших объемов информации.
- •Уровни представления информации, понятие модели данных.
- •Сетевая
- •Основные типы субд.
- •Реляционная модель данных, основные понятия.
- •Теоретические основы реляционного исчисления, использование исчисления предикатов первого порядка.
- •Иерархический и сетевой подходы при построении баз данных, основные понятия, достоинства и недостатки.
- •Реляционные базы данных: достоинства и недостатки.
- •Основные компоненты субд и их взаимодействие. Типы и структуры данных.
- •Обработка данных в субд, основные методы доступа к данным, использование структуры данных типа «дерево».
- •Поиск информации в бд с использованием структуры типа «бинарное дерево».
- •Поиск информации в бд с использованием структуры типа «сильно ветвящееся дерево».
- •Методы хеширования для реализации доступа к данным по ключу.
- •Представление данных с помощью модели «сущность-связь», основные элементы модели.
- •Типы и характеристики связей сущностей;
- •Построение диаграммы «сущность-связь» в различных нотациях.
- •Нотация Чена.
- •Нотация Мартина
- •Нотация idef1x.
- •Нотация Баркера.
- •Проектирование реляционных баз данных, основные понятия, оценки текущего проекта бд.
- •Понятие ключа в базах данных, первичные и внешние ключи.
- •Нормализация в реляционных базах данных, понятие нормальной формы при проектировании баз данных.
- •1Нф: Основные определения и правила преобразования.
- •2Нф: Основные определения и правила преобразования.
- •3Нф: Основные определения и правила преобразования.
3Нф: Основные определения и правила преобразования.
Согласно определению Кодда, отношение R находится в 3NF тогда и только тогда, когда выполняются следующие условия:
Отношение R находится во второй нормальной форме.
ни один неключевой атрибут R не находится в транзитивной функциональной зависимости от потенциального ключа отношения R.
Неключевой атрибут отношения R - это атрибут, который не принадлежит ни одному из потенциальных ключей R.
Функциональная зависимость множества атрибутов Z от множества атрибутов X (записывается X → Z, произносится)является транзитивной, если существует такое множество атрибутов Y, что X → Y и Y → Z. При этом ни одно из множеств X, Y и Z не является подмножеством другого, то есть функциональные зависимости X → Z, X → Y и Y → Z не являются тривиальными.
Понятное определение Билла Кента: каждый неключевой атрибут “должен предоставлять информацию о ключе, полном ключе и ни о чем, кроме ключа”. Условие зависимости от «полного ключа» неключевых атрибутов обеспечивает то, что таблица находится во второй нормальной форме. А условие зависимости их от «ничего, кроме ключа» — то, что они находятся в третьей нормальной форме.
Пример:
Сотрудник(ключ) |
Отдел |
Телефон отдела |
Гришин |
Бухгалтерия |
11-22-33 |
Васильев |
Бухгалтерия |
11-22-33 |
Петров |
Снабжение |
44-55-66 |
В отношении атрибут «Сотрудник» является первичным ключом. Личных телефонов у сотрудников нет, и телефон сотрудника зависит исключительно от отдела.
Таким образом, в отношении существуют следующие функциональные зависимости: Сотрудник → Отдел, Отдел → Телефон, Сотрудник → Телефон.
Зависимость Сотрудник → Телефон является транзитивной, следовательно, отношение не находится в 3NF.
В результате декомпозиции отношения R1 получаются два отношения, находящиеся в 3NF:
|
|
Исходное отношение R1 при необходимости легко получается в результате операции соединения отношений R2 и R3.
1 Обычно для создания таких полей используется автоинкрементированное, которое или существует как тип данных(Access) или вводится посредством элементов управления СУБД – триггеров посредством SQL – нотации.