Смотрим презентацию К.Ю.Полякова (слайды 37 - 45)
В середине ХХ века при проектировании и эксплуатации разработанных БД возникли следующие задачи:
Действительно:
- Разработать строгое математическое описание баз данных, независимое от способа хранения данных;
- Разработать методы управления этими данными
- Все данные представляют свойства некоторых объектов;
- Объекты делятся на классы;
- Данные о некотором объекте — это набор свойств (атрибутов). Каждое свойство задается парой «название — значение».
Действительно:
- Каждая таблица описывает один класс объектов;
- Порядок расположения полей в таблице не имеет значения;
- Все значения одного поля относятся к одному типу данных;
- В таблице нет двух одинаковых записей;
- Порядок записей в таблице не определен
Поэтому можно дать следующее определение:
Реляционная БД - это БД, которую можно представить в виде набора таблиц с установленными между ними связями.
Рассмотрим пример таблицы
В этой таблице есть избыточность (дублирование). Некоторые данные хранятся несколько раз: имена кинотеатров, названия фильмов.
На дублирование данных расходуется память. При вводе одинаковых данных можно допустить ошибку.Чтобы избежать этих проблем при проектировании БД обычно выполняют ее нормализацию.
Нормализация - изменение структуры БД, которое устраняет избыточность и предотвращает возможные нарушения целостности.
Принципы нормализации
- Любое поле должно быть неделимым
- Любое неключевое поле должно зависеть от ключа таблицы. Если в таблице есть поле, которое не зависит от ключа этой таблицы, значит, это поле описывает другой класс объектов. Это поле нужно вынести в другую таблицу. А между таблицами установить связь.
- Не должно быть одинаковых по смыслу полей.
- Не нужно хранить данные, которые могут быть вычислены.
На практике эти принципы можно преобразовать в план
- Для каждого класса объектов создавать отдельную таблицу.
- При построении каждой таблицы вводим суррогатный ключ. Для всех суррогатных ключей выбираем тип INTEGER
- Для каждой таблицы определяем типы данных каждого поля
- Связываем таблицы связями 1:N. Не забудьте! Связи устанавливаются между однотипными полями.
В результате нормализации получаем схему БД, состоящую из нескольких таблиц
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.