Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава 1.doc
Скачиваний:
7
Добавлен:
20.11.2018
Размер:
105.47 Кб
Скачать

§1. Логическое проектирование баз данных.

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

Нормализация – процесс дальнейшего совершенствования реляционной модели.

Определение: нормализация – процесс приведения структур данных в состояние, обеспечивающее лучшие условия выбора, включения, изменения и удаления данных.

Главная цель нормализации – исключение избыточности данных, т.е. данные будут сохраняться только в одном месте (если не считать внешних ключей).

Отсюда следует:

  • Нормализация обеспечивает целостность данных. (данные сохраняют корректность и достоверность, т.е. представлены в единственном экземпляре, поэтому нет необходимости следить за синхронными изменениями всех копий данных).

  • Нормализация снижает требования к объему памяти.

Прежде чем приступить к описанию нормализации, нужно сказать об универсальном отношении.

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

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

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

  1. Универсальное отношение.

Сведения о сотрудниках предприятия

отдела

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

Кол-во сотрудников

Фамилия

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

Дата начала работы

Стаж, лет

1

Сбыта

2

Иванов

40 00 25369

12.12.1962

40

1

Сбыта

2

Петров

40 01 25369

12.12.1982

20

2

Закупок

1

Сидоров

40 02 25369

12.12.1992

10

3

Рекламный

1

Николаев

40 03 25369

12.12.2001

1

  1. I нормальная форма.

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

Нетрудно заметить, что данное условие автоматически следует из требований к реляционной базе данных. Таким образом, любая таблица в реляционной базе данных находится в I Н.Ф.

  1. II Нормальная форма.

Таблица находится во II Н.Ф., если она находится в I Н.Ф. и каждое неключевое поле зависит от полного первичного ключа (т.е. от всех его составляющих).

В нашем примере информация о сотруднике не зависит от информации об отделе. Чтобы привести нашу БД ко II НФ разделяем универсальное отношение на 2 объекта:

Таблица отделов

отдела

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

Кол-во сотрудников

1

Сбыта

2

2

Закупок

1

3

Рекламный

1

Таблица сотрудников

отдела

Фамилия

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

Дата начала работы

Стаж, лет

1

Иванов

40 00 25369

12.12.1962

41

1

Петров

40 01 25369

12.12.1982

21

2

Сидоров

40 02 25369

12.12.1972

11

3

Николаев

40 03 25369

12.12.2001

2