Проектирование баз данных сложная задача. Теорию реляционных баз данных в 70 годах XX века разработал Е. Кодд. Сущность его теории сводится к приведению таблиц составляющих базу данных к третьей нормальной форме. Этот процесс называется нормализацией.
Недостатки ненормализованной БД: Избыточность данных; Противоречивость данных.
Первая нормальная форма Отношение находится в первой нормальной форме, если все его поля являются атомарными.
Рассмотрим отношение Поликлиника(Фамилия, Дата_рождения, Участок, Врач, Дата_Посещения, Диагноз) Задание: Укажите ключевые поля. Фамилия и Дата_Посещения – первичный ключ
Вторая нормальная форма Отношение находится во второй нормальной форме, если оно находится в первой нормальной форме, и все его неключевые поля полностью функционально зависят от первичного ключа.
Задание: Назовите неключевые поля в таблице Поликлиника; Какое поле полностью зависит от ключа? Фамилия+Дата_Посещения – Диагноз Остальные поля от даты посещения не зависят
Поликлиника (Фамилия, Дата_рождения, Участок, Врач, Дата_Посещения, Диагноз) Посещение (Фамилия, Дата_посещения, Диагноз) Пациенты (Фамилия, Дата_рождения, Участок, Врач) Фамилия Дата_рождения Участок Врач Фамилия – Участок – Врач
Третья нормальная форма Требование третьей нормальной формы: удовлетворение второй нормальной форме и отсутствие в отношении полей, транзитивно зависимых от ключа.
Пациенты (Фамилия, Дата_рождения, Участок, Врач) Пациенты (Фамилия, Дата_рождения, Участок) Врачи (Участок, Врач)
Таблицы ВрачиПосещениеПациенты 1М1М Типы отношений между таблицами: Один ко многим Многие ко многим