Нормализация базы данных » PHP и MySQL » Библиотека » WAP.ZUGDIDI.US
Привет прохожий!
На главную | Вход | Регистрация

Нормализация базы данных

Определение:

Схемой базы данных называется структура связей между полями и таблицами.

Определение:

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

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

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

Таблица 3. Пример избыточности в таблицах базы данных
Профессия
Сотрудник

"Инженер"
Гусев И.К.

"Инженер"
Иванов П.В.

"Рабочий"
Иванов К.Л.

"Рабочий"
Дружков П.К.

"Рабочий"
Фомичев В.М.


Эта таблица избыточна - для каждого из сотрудников повторяются одинаковые названия профессий. Т.е. схема такой базы данных не нормализована. Для небольшой базы данных это не критично, но в больших по объёму базах данных это скажется на размере базы и, в конечном счёте, на скорости доступа. Для нормализации необходимо разбить эту таблицу на две - для профессий (см. табл. 4) и для фамилий сотрудников (см. табл. 5).

Таблица 4. Таблица профессий
Профессия
Первичный ключ

"Инженер"
1

"Рабочий"
2


Таблица 5. Таблица сотрудников
Профессия (внешний ключ)
Сотрудник

1
Гусев И.К.

1
Иванов П.В.

2
Иванов К.Л.

2
Дружков П.К.

2
Фомичев В.М.


Теперь каждый тип профессии обозначен уникальным числом, и строка в базе данных присутствует только в единственном экземпляре: в таблице профессий. Размер поля "профессия" уменьшился, так как строка занимает больше памяти, чем число.

Замечание

В теории баз данных говорится о том, что схема базы данных должна быть полностью нормализована. При работе с полностью нормализованными базами данных необходимо применять весьма сложные SQL-запросы, что приводит к обратному эффекту - замедлению

Страницы:
1 2 >>

Перейти к странице:

Комментарии (0)
Скачать Java книгу

» PHP и MySQL
» Учебник по PHP
» WEB/WAP мастеру
» В библиотеку

На главную
WAP.ZUGDIDI.US
Соглашение о Предоставлении Услуг

li WAPSTART

Cжатие 64.8%