Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шевчук - конспект лекций.docx
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
2.65 Mб
Скачать
  1. Нормализация

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

Нормальная форма — это своеобразный показатель уровня, или глубины, нормализации базы данных. Уровень нормализации базы данных соответствует нормальной форме, в которой она находится.

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

Первая нормальная форма

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

Вторая нормальная форма

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

Третья нормальная форма

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

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

- Лучшая общая организация базы данных

- Сокращение избыточности информации

- Непротиворечивость информации внутри базы данных

- Более гибкий проект базы данных

- Большая безопасность данных

Недостатки нормализации:

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

  1. Построение модели данных

Работа проектировщиков БД в значительной степени зависит от качества информационной модели. Информационная модель не должна содержать никаких непонятных конструкций, которые нельзя реализовать в рамках выбранной СУБД. Следует отметить, что информационная модель создается для того, чтобы на ее основе можно было построить модель данных. Информационная модель = инфологическая модель. Построение физической и логической модели данных является основной частью проектирования БД. Полученная в процессе анализа инфологическая модель сначала преобразуется в логическую, а затем в физическую модель данных. После этого для разработчиков создается пробная БД на основе, которой можно создавать программной код. В идеале к моменту начала разработки модель данных должна быть устойчива. Проектирование БД не может быть оторвано от проектирования модулей и приложений, поскольку, бизнес-правила могут создавать объекты в БД, например, ограничения и хранимые процедуры, в таком случае говорят, что часть бизнес-логики переносится в БД.

Проектирование моделей данных для каждой СУБД содержит свои особенности, проектные решения, которые дают хороший результат для одной СУБД, но могут оказаться совершенно неприемлемыми для другой.

Задачи, которые являются общими для проектирования моделей данных:

  1. Выявление нереализуемых или необычных конструкций в ER-модели и в определениях сущностей.

  2. Разрешение всех дуг, подтипов и супертипов.

  3. Изучение возможных, первичных, внешних ключей, описание ссылочной целостности.

  4. Проектирование и реализация денормализации БД для повышения производительности.

  5. Определение части бизнес-логики, которую следует реализовать в БД.

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

  7. Определение набора бизнес-правил, которые не могут быть заданы как ограничения в БД.

  8. Определение необходимых индексов, кластеров (если таковые реализованы в СУБД), определение горизонтальной фрагментации таблиц (если это реализовано в СУБД).

  9. Оценка размеров всех таблиц, индексов, кластеров.

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

  11. Определение пользователей БД, их уровней доступа, разработка и внедрение правил безопасности доступа, аудита.

  12. Разработка топологии БД в случае распределенной БД, определение механизмов доступа к удаленным данным.

При разработке модели данных требуется обеспечить:

  1. Независимость данных от программного обеспечения

  2. Независимость физического и внешнего представления данных

  3. Возможность расширения БД

  4. Надежность и целостность данных