- •Содержание
- •Аннотация
- •Введение
- •1 Описание предметной области и выявление требований, предъявляемых к информационной системе
- •Описание предметной области
- •1.2 Выявление требований, предъявляемых к информационной системе
- •2 Разработка и описание функциональной модели
- •2.1 Построение контекстной диаграммы
- •2.2 Декомпозиция моделируемой системы
- •3 Создание локальных концептуальных моделей
- •3.1 Выявление и определение сущностей
- •3.2 Определение связей между сущностями
- •3.3 Определение атрибутов сущностей и первичных ключей
- •3.4 Определение доменов
- •3.5 Создание диаграммы «сущность-связь»
- •4 Построение и проверка локальных логических моделей данных
- •4.1 Преобразование локальных концептуальных моделей данных в локальные логические модели
- •4.2 Проверка модели с помощью правил нормализации
- •4.3 Создание диаграмм «сущность – связь»
- •4.4 Определение требований поддержки целостности данных.
- •5. Создание и проверка глобальной логической модели данных
- •Слияние сущностей с одинаковыми именами и одинаковыми первичными ключами.
- •Включение связей, уникальных для каждого локального представления.
- •6 Разработка физической модели данных. Прямое проектирование
- •6.1. Построение физической модели данных
- •6.2. Описание процесса прямого проектирования
- •7 Проектирование приложения
- •7.1 Описание таблиц базы данных
- •7.2. Разработка приложения
- •8 Результаты тестирования
- •9. Управление проектом
- •Заключение
- •Список литературы
- •Лист регистрации изменений
- •Приложения
4.2 Проверка модели с помощью правил нормализации
Нормализация – процесс проверки и реорганизации сущностей и атрибутов с целью удовлетворения требований к реляционной модели.
Процесс нормализации сводится к последовательному приведению структуры данных к нормальным формам – формализованным требованиям к организации данных.
Первая нормальная форма (1НФ). Сущность находится в первой нормальной форме тогда и только тогда, когда все атрибуты содержат атомарные значения. Среди атрибутов не должно встречаться повторяющихся групп, т. е. несколько значений для каждого экземпляра.
Для приведения сущности к первой нормальной форме следует:
создать новую сущность;
перенести в нее все «повторяющиеся» атрибуты;
создать первичный ключ у новой сущности;
установить связь от прежней сущности к новой.
Вторая нормальная форма (2НФ). Сущность находится во второй нормальной форме, если она находится в первой нормальной форме, и каждый не ключевой атрибут полностью зависит от первичного ключа (не должно быть зависимости от части ключа). Вторая нормальная форма имеет смысл только для сущностей, имеющих сложный первичный ключ.
Третья нормальная форма (ЗНФ). Сущность находится в третьей нормальной форме, если она находится во второй нормальной форме и никакой не ключевой атрибут не зависит от другого не ключевого атрибута (не должно быть взаимозависимости между не ключевыми атрибутами).
Модифицируем курсовой проект и нормализуем сущности. Для этого создадим новые сущности, которые будут отвечать правилам нормализации:
Сущность «Улицы». Для того, чтобы каждый раз не вводить по новой улицы в сущности «Клиенты» и «Сотрудники» создадим данную сущность, которая будет хранить в себе улицы, на которых проживают клиенты и сотрудники.
Таблица 11 – «Улицы»
Наименование атрибута |
Тип данных |
Тип ключа |
Not Null |
Описание атрибута |
Код улицы |
Числовой |
PK |
|
Код улицы |
Название улицы |
Строковый |
|
|
Название улицы |
Сущность «Должности». Для того, чтобы каждый раз не заполнять поле должность в сущности «Сотрудники», введем сущность «Должности», в которой будут храниться данные о занимаемых должностях.
Таблица 12 – «Должности»
Наименование атрибута |
Тип данных |
Тип ключа |
Not Null |
Описание атрибута |
Код должности |
Числовой |
PK |
|
Код должности |
Название должности |
Строковый |
|
|
Название должности |
Сущность «Помещения». Для того, чтобы каждый раз не вводить название помещения в сущность «Расписание занятий» создадим сущность «Помещения» и добавим в него еще один атрибут «Количество занимающихся», в котором будем указывать максимальное число человек, которые могут заниматься в данном зале.
Таблица 13 – «Помещения»
Наименование атрибута |
Тип данных |
Тип ключа |
Not Null |
Описание атрибута |
Код помещения |
Числовой |
PK |
|
Код помещения |
Название помещения |
Строковый |
|
|
Название помещения |
Количество человек |
Числовой |
|
|
Максимальное количество человек, занимающихся в данном помещении |
