П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 3834 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6408 раз(а).

Учебник HTML.
Просмотров 3497 раз(а).

Руководство по PHP5.
Просмотров 5743 раз(а).

Хостинг через призму DNS.
Просмотров 4486 раз(а).

Подборка текстов стандартных документов.
Просмотров 55982 раз(а).

Учебник PHP - Самоучитель
Просмотров 3377 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 7417 раз(а).

Внешние атаки...
Просмотров 4189 раз(а).

Учебник PHP.
Просмотров 2985 раз(а).

SSI в примерах.
Просмотров 3 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Взаимодействие PHP и MySQL

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



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

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

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

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

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

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

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

Профессия

Сотрудник

"Инженер"

Гусев И.К.

"Инженер"

Иванов П.В.

"Рабочий"

Иванов К.Л.

"Рабочий"

Дружков П.К.

"Рабочий"

Фомичев В.М.

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

Таблица 4. Таблица профессий

Профессия

Первичный ключ

"Инженер"

1

"Рабочий"

2

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

Профессия (внешний ключ)

Сотрудник

1

Гусев И.К.

1

Иванов П.В.

2

Иванов К.Л.

2

Дружков П.К.

2

Фомичев В.М.

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

Замечание

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

Назад | Содержание | Вперед



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru