Тема  4. Нормализация баз данных

Содержание

  1. Цели и средства нормализации
    1. Нормализация
    2. Проекции и соединения
    3. Декомпозиция отношений
  2. Первые нормальные формы
    1. Аномалии
    2. Первая нормальная форма
    3. Вторая нормальная форма
    4. Третья нормальная форма
    5. Нормальная форма Бойса-Кодда
  3. Многозначные зависимости и четвертая нормальная форма
    1. Многозначные зависимости
    2. Четвертая нормальная форма
  4. Зависимости соединения и пятая нормальная форма
    1. Зависимости соединения
    2. Пятая нормальная форма
  5. Процесс нормализации и другие нормальные формы
    1. Иерархия нормальных форм
    2. Связи нормальных форм
    3. Другие нормальные формы
    4. Денормализация

Экзаменационные вопросы

  1. Цели и средства нормализации
  2. Нормальные формы: первая и вторая
  3. Нормальные формы: третья и Бойса-Кодда
  4. Многозначные зависимости и четвертая нормальная форма
  5. Зависимости соединения и пятая нормальная форма

Слайды

HTML

Практические навыки

  1. Нормализация баз данных
  2. Проектирование высококачественных баз данных

Библиография

  1. Дейт К. Введение в системы баз данных (главы 12 и 13)
  2. Уидом Д., Ульман Д. Основы реляционных баз данных (глава 3)
  3. Fagin R. Multivalued Dependencies and a New Normal Form for Relational Databases
  4. Beeri C., Fagin R., Howard J. A complete axiomatization for functional and multivalued dependencies in database relations
  5. Date C.J., Fagin R. Simple conditions for guaranteeing higher normal forms in relational databases
  6. Fagin R. Normal forms and relational database operators

Домашнее задание 4. Нормализация БД «Университет»

Дано отношение с атрибутами StudentId, StudentName, GroupId, GroupName, GroupFacultyId, GroupFacultyName, GroupFacultyDeanId; CourseId, CourseName, LecturerId, LecturerName, LecturerFacultyId, LecturerFacultyName, LecturerFacultyDeanId, Mark. и функциональными зависимостями:

  • StudentId → StudentName, GroupId, GroupName;
  • GroupId → GroupName, GroupFacultyId;
  • GroupName → GroupId;
  • CourseId → CourseName;
  • LecturerId → LecturerName, LecturerFacultyId;
  • StudentId, CourseId → Mark;
  • GroupId, CourseId → LecturerId;
  • GroupFacultyId → GroupFacultyName, GroupFacultyDeanId;
  • GroupFacultyName → GroupFacultyId;
  • LecturerFacultyId → LecturerFacultyName, LecturerFacultyDeanId;
  • LecturerFacultyName → LecturerFacultyId.
  1. Инкрементально приведите данное отношение в пятую нормальную форму.
  2. Постройте соответствующую модель сущность-связь.
  3. Постройте соответствующую физическую модель.
  4. Реализуйте SQL-скрипты, создающие схему базы данных.
  5. Создайте базу данных по спроектированной модели.
  6. Заполните базу тестовыми данными.

Форма для сдачи ДЗ

В рамках проекта:

  1. Приведите схему базы в пятую нормальную форму.
  2. Если итоговая схема не будет в НФ-5, то обоснуйте принятое решение.
  3. Запишите определения таблиц на языке SQL.
  4. Запишите на языке SQL наполнение таблиц тестовым данными.