Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПОРТФОЛИО БД [Щевелёв Д.В.].docx
Скачиваний:
10
Добавлен:
11.12.2018
Размер:
720.46 Кб
Скачать

Первая нормальная форма (1нф)

Первая нормальная форма требует:

  1. Чтобы вся информация в БД была представлена в виде таблиц

  2. В таблицах не должно быть составных полей

  3. В таблицах не должно быть повторяющихся групп

Краткие пояснения

Составное поле – такое поле, что в процессе работы базы необходимо иметь доступ к частям его значения.

Классическим примером такого поля является поле адрес, которое можно разделить на различные смысловые единицы, в зависимости от назначения БД.

Повторяющаяся группа – это группа одинаковых по смыслу полей (например в таблице статистика продаж есть поля для различных видов товаров «Товар 1», «Товар 2», «Товар 3»)

Порядок приведения БД к 1 НФ

  1. Представляем все данные в виде таблиц

  2. Находим в таблицах составные поля

  3. Делим эти поля на отдельные по смыслу единицы

  4. Выявляем наличие в таблицах повторяющихся групп

  5. Преобразуем таблицы с повторяющимися группами так, чтобы вся группа описывалась одним полем, а одинаковые по смыслу значения становятся записями

Вторая нормальная форма (2нф)

Вторая нормальная форма требует чтобы БД соответствовала 1 НФ и чтобы все поля таблиц зависели от первичного ключа.

Первичный ключ должен однозначно определять запись и не быть избыточным

Поля, зависящие от части первичного ключа, должны быть вынесены в отдельные таблицы.

Заключительным этапом приведения ко 2 НФ является введение в качестве первичных ключей семантически незначимых полей, чтобы избавиться от больших или сложных составных первичных ключей, с которыми неудобно работать.

Порядок приведения БД к 2 НФ

  1. Для всех таблиц определяем первичные ключи, однозначно определяющие каждую запись в таблице

  2. Находим поля, зависящие только от части первичного ключа, а также поля, независящие от первичного ключа

  3. Для полей, независящих от первичного ключа определяем поля, от которых они зависят

  4. Все группы таких полей выделяем в отдельные таблицы со своими первичными ключами

  5. Вводим семантически незначимые поля с числовым форматом данных, в тех таблицах, в которых присутствуют текстовые и громоздкие первичные ключи.

Третья нормальная форма (3 нф)

Третья нормальная форма требует чтобы БД удовлетворяла требованиям 2 НФ и чтобы в таблицах не имелось транзитивных зависимостей.

Другими словами значение поля не должно выражаться через значения других полей.

Если такие поля существуют в таблице, то одно из полей, входящих в транзитивную зависимость нужно исключить.

Строго говоря, приведение к 3 НФ решает не все конфликты структуры базы, но мы будем считать, что после приведения БД к третьей НФ, структура базы полностью нормализована.

Практическая работа по нормализации:

База данных по продаже билетов

  1. БД будет использоваться кассирами в кассах автовокзала для продажи билетов. БД будет содержать информацию о расписании движения (описание рейса, длина маршрута, время отправления, время прибытия, время в пути), о транспорте (марка, количество, вместимость, номера, техническое состояние, стоимость эксплуатации), о водителях (ФИО, паспортные данные, адрес, телефон, стаж работы), стоимости проезда и свободных местах. В работе с БД должны быть возможности просмотра записей о водителях, о расписании движения, транспорте, свободных местах и стоимости, должны так же быть возможности добавления или изменения записей.

  1. Основные сущности

Транспорт

Марка

Количество

Вместимость

Номера

Техническое состояние

Стоимость эксплуатации

Расписание движения

Описание рейса

Длина маршрута

Время отправления

Время прибытия

Время в пути

Водители

ФИО

Паспортные данные

Адрес

Телефон

Стаж работы

Стоимость проезда

Свободные места

  1. Нормализация

1НФ

Транспорт

Марка

Количество

Вместимость

Номера

Техническое состояние

Стоимость эксплуатации

Расписание движения

Станция отправления

Станция прибытия

Длина маршрута

Время отправления

Время прибытия

Время в пути

Стоимость проезда

Свободные места

Водители

Фамилия

Имя

Отчество

Номер паспорта

Дата рождения

Область

Город

Улица

Дом

Квартира

Телефон

Стаж работы

2НФ

Транспорт

Марка

Количество

Вместимость

Номер транспорта

Техническое состояние

Стоимость эксплуатации

Водители

Фамилия

Имя

Отчество

Номер паспорта водителя

Дата рождения

Область

Город

Улица

Дом

Квартира

Телефон

Стаж работы

Номер транспорта

Расписание движения

Код рейса

Станция отправления

Станция прибытия

Длина маршрута

Время отправления

Время прибытия

Время в пути

Стоимость проезда

Свободные места

Номер транспорта

Номер паспорта водителя