Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен / bot_addon.doc
Скачиваний:
46
Добавлен:
19.04.2013
Размер:
481.28 Кб
Скачать

Каноническая запись

Атрибут –характеристика объекта, процесса, явления (на схеме- это узел, из которого не выходит ни одной простой стрелки) Это неключи. Различают:

1) Пересекающийся атрибут (связь с несколькими ключами) от которого избавляются:

2) Изолированный атрибут – не идентифицируется перыичным ключом. В этом случае следует пересмотреть связи!!! Этот атрибут м.б. отработан и объявлен ключом. Может быть представлен как повторяющийся .

Первичный ключ –эл-т данных, кот. идентифицирует один или несколько элементов данных.

Исходный ключ – такой, который идентифицирует первичный ключ

Корневой ключ – первичный ключ, который никаким другим ключом не идентифицируется.

Вторичный ключ – наименование организации, если первичный есть ее ИНН.

Алгоритм конструирования

  1. ввести список реквизитов и связей и проверить на 3 нор. форму.

  2. Проверить наличие симономив и омонимов, удалить их

  3. Выделить узлы атрибутов и узлы первичных ключей

  4. Проверить наличие скрытых транзитивных зависимостей

  5. Выявить избыточные связи, провести их удаление

  6. Идентифицировать корневой ключ

  7. Проверить наличие изолированных атрибутов и решить их проблему одним из трех способов

  8. Проверить наличие пересекающихся атрибутов, обработать их.

  9. Объединить эл-ты данных в группы (канонические записи) таким образом, чтобы каждая группа имела один первичный ключ и связанные с ним атрибуты.

  10. Построить каноническую схему

23-24. Процесс нормализации структур данных

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

Определение 1. Функциональная зависимость

В отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y: R.X (r) R.Y.

Определение 2. Полная функциональная зависимость

Функциональная зависимость R.X (r) R.Y называется полной, если атрибут Y не зависит функционально от любого точного подмножества X.

Определение 3. Транзитивная функциональная зависимость

Функциональная зависимость R.X -> R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.X -> R.Z и R.Z -> R.Y и отсутствует функциональная зависимость R.Z --> R.X. (При отсутствии последнего требования мы имели бы "неинтересные" транзитивные зависимости в любом отношении, обладающем несколькими ключами.)

Определение 4. Неключевой атрибут

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

Определение 5. Взаимно независимые атрибуты

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

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

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

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

Нормализация - процесс приведения реляционных таблиц к стандартному виду. В базе данных могут присутствовать такие проблемы как:

Избыточность данных.Повторение данных в базе данных.

Аномалия обновления. Противоречивость данных, вызванная их избыточностью и частичным обновлением.

Аномалия удаления. Непреднамеренная потеря данных, вызванная удалением других данных.

Аномалия ввода. Невозможность ввести данные в таблицу, вызванная отсутствием других данных.

Для решения этих проблем применяют разбиение таблиц - разделение таблицы на несколько таблиц. Для того чтобы это сделать пользуются нормальными формами или правилами структурирования таблиц.

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

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

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

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

Функциональная зависимость.Значение атрибута в кортеже однозначно определяет значение другого атрибута в кортеже.

Более формально можно определить функциональную зависимость следующим образом: если А и В - атрибуты в таблице В, то запись ФЗ (функциональную зависимость): А - " В обозначает, что если два кортежа в таблице В имеют одно и то же значение атрибута А, то они имеют одно и то же значение атрибута В. Это определение такжеприменимо,если А и В - множества столбцов, а не просто отдельные столбцы.

Атрибут в левой части ФЗ называется детерминантом, так как его значение определяет значение атрибута в правой части. Ключ таблицы является детерминантом, так как его значение однозначно определяет значение каждого атрибута таблицы.

Процесс разбиения на две 2НФ-таблицы состоит из следующих шагов:

Создается новая таблица, атрибутами которой будут атрибуты исходной таблицы, входящие в противоречащую правилу ФЗ. Детерминант ФЗ становится ключом новой таблицы.

Атрибут, стоящий в правой части ФЗ, исключается из исходной таблицы.

Если более одной ФЗ нарушают 2НФ, то шаги 1 и 2 повторяются для каждой такой ФЗ.

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

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

Реляционная таблица имеет третью нормальную форму (ЗНФ), если для любой ФЗ: Х - У Х является ключом. Заметим, что любая таблица, удовлетворяющая ЗНФ, также удовлетворяет и 2НФ. Однако обратное неверно.

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

Неключевой атрибут зависит от ключевого атрибута, входящего в составной ключ (критерий нарушения 2НФ).

Ключевой атрибут, входящий в составной ключ, зависит от неключевого атрибута.

Таким образом, если таблица удовлетворяет НФБК, то она также удовлетворяет ЗНФ в смысле транзитивных зависимостей и 2НФ.

Четвертая нормальная форма

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

26. Проектирование БД. Этапы, общая характеристика.

Существует 2 фазы жизненного цикла БД:

  • Анализ и проектирование

  • Реализация и функционирование

Этапы 1-й фазы:

  • формулировка и анализ запросов пользователей

  • концептуальное проектирование (построение инфологической модели)

  • загрузка БД:

=проектировка прикладных программ на языке выбранной СУБД (для реляц. Модели –проект реляц модели)

=загрузка таблиц и апробация

Этапы 2-й фазы:

  • анализ фун-ия базы (любая СУБД занимается сбором статистики о фун-ии системы и обработкой ее, выявляется класс данных, который используется наиболее часто)

  • модернизация БД (внесение изменеий в проект)

  • процесс модификации прикладных программ.

Соседние файлы в папке Экзамен