Основной целью нормализации базы данных является устранение избыточности и дублирования информации. В идеале, при нормализации необходимо обеспечить, чтобы в базе данных хранилось какое-либо значение в одном экземпляре, причем значение это не должно быть получено расчетным путем из других данных, хранящихся в базе.
База данных считается нормализованной, если ее таблицы (по крайней мере, в большинстве таблиц) представлены, по крайней мере, в третьей нормальной форме.
Построим первую нормальную форму. Первая нормальная форма (1НФ) требует, чтобы каждое поле таблицы БД:
– было неделимым;
– не содержало повторяющихся групп.
Вторая нормальная форма (2НФ) требует, чтобы все поля таблицы зависели от первичного ключа, то есть, чтобы первичный ключ однозначно определял запись и не был избыточен. Те поля, которые зависят только от части первичного ключа, должны быть выделены в составе отдельных таблиц.
Под первичным ключом понимают поле или набор полей, однозначно идентифицирующий запись. Значение первичного ключа в таблице БД должно быть уникальным, то есть в таблице не должно существовать двух или более записей с одинаковым значением первичного ключа. Первичный ключ должен быть минимально достаточным: в нем не должно быть полей, удаление которых из первичного ключа не отразится на его уникальности [2, c.54].
Для этого выделяем новую сущность «Марки автомобилей» с атрибутом «Наименование марки».
Для избежание избыточного дублирования данных добавляем в каждую таблицу первичный ключ, уникально идентифицирующий каждую запись в таблице, реализуем между таблицами «связь по ключу». Полученные сущности с их атрибутами представлены в таблице 3.
Таблица 3 – Атрибуты сущностей предметной области «АЗС» с выделенными первичными ключами
№ п/п Сущность Атрибуты
1 Вид топлива КодВидТоплива, Наименование
2 Фирма КодФирма, Наименование
3 Марка КодМарка, Наименование
4 Автомобиль ГосНомер, КодМарка
5 Клиент КодКлиент, ГосНомер, Наименование
6 Станция КодЗаправка, КодФирма, Номер, Адрес
7 Топливо станций КодТопливоЗаправка, КодЗаправка, КодВидТоплива, Цена
8 Продажа КодПродажа, КодКлиент, КодТопливоЗаправка, Дата, Объем, Стоимость
Проектирование и разработка базы данных «Автозаправка»
- Diplom777
- Базы данных
Диплом777
Email: info@diplom777.ru
Phone: +7 (800) 707-84-52
Url: https://diplom777.ru/
Никольская 10
Москва, RU 109012
Содержание
Diplom777