Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пояснительная записка2.doc
Скачиваний:
6
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

4.2 Проверка модели с помощью правил нормализации

Нормализация – процесс проверки и реорганизации сущностей и атрибутов с целью удовлетворения требований к реляционной модели.

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

Первая нормальная форма (1НФ). Сущность находится в первой нормальной форме тогда и только тогда, когда все атрибуты содержат атомарные значения. Среди атрибутов не должно встречаться повторяющихся групп, т. е. несколько значений для каждого экземпляра.

Для приведения сущности к первой нормальной форме следует:

  • создать новую сущность;

  • перенести в нее все «повторяющиеся» атрибуты;

  • создать первичный ключ у новой сущности;

  • установить связь от прежней сущности к новой.

Вторая нормальная форма (2НФ). Сущность находится во второй нормальной форме, если она находится в первой нормальной форме, и каждый не ключевой атрибут полностью зависит от первичного ключа (не должно быть зависимости от части ключа). Вторая нормальная форма имеет смысл только для сущностей, имеющих сложный первичный ключ.

Третья нормальная форма (ЗНФ). Сущность находится в третьей нормальной форме, если она находится во второй нормальной форме и никакой не ключевой атрибут не зависит от другого не ключевого атрибута (не должно быть взаимозависимости между не ключевыми атрибутами).

Модифицируем курсовой проект и нормализуем сущности. Для этого создадим новые сущности, которые будут отвечать правилам нормализации:

Сущность «Улицы». Для того, чтобы каждый раз не вводить по новой улицы в сущности «Клиенты» и «Сотрудники» создадим данную сущность, которая будет хранить в себе улицы, на которых проживают клиенты и сотрудники.

Таблица 11 – «Улицы»

Наименование атрибута

Тип данных

Тип ключа

Not Null

Описание атрибута

Код улицы

Числовой

PK

 Код улицы

Название улицы

Строковый

Название улицы

Сущность «Должности». Для того, чтобы каждый раз не заполнять поле должность в сущности «Сотрудники», введем сущность «Должности», в которой будут храниться данные о занимаемых должностях.

Таблица 12 – «Должности»

Наименование атрибута

Тип данных

Тип ключа

Not Null

Описание атрибута

Код должности

Числовой

PK

 Код должности

Название должности

Строковый

Название должности

Сущность «Помещения». Для того, чтобы каждый раз не вводить название помещения в сущность «Расписание занятий» создадим сущность «Помещения» и добавим в него еще один атрибут «Количество занимающихся», в котором будем указывать максимальное число человек, которые могут заниматься в данном зале.

Таблица 13 – «Помещения»

Наименование атрибута

Тип данных

Тип ключа

Not Null

Описание атрибута

Код помещения

Числовой

PK

 Код помещения

Название помещения

Строковый

Название помещения

Количество человек

Числовой

Максимальное количество человек, занимающихся в данном помещении