Главная
страница 1
скачать файл

ВУЗЫ

Название

Город

Регион

Дисциплина

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

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

В нашем примере в отношении ВУЗЫ на роль ключа претендует атрибут Название.

В нашем примере атрибут Регион функционально зависит от атрибута Город (Город Регион), поскольку в любой момент времени один город относится только к одному региону. Обратное утверждение (Регион Город) неверно, поскольку одному региону можно поставить в соответствие более одного города, т.к. в регионе много городов.

Приведение к 1 нормальной форме.

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

Для приведения к 1НФ нужно:



  1. Заполнить таблицы БД, максимально дублируя строки;

  2. Избавиться от сложных атрибутов;

  3. Определить ключ каждого отношения;

В нашем случае отношение ВУЗЫ можно представить в виде нижеследующей таблицы. Для облегчения процесса нормализации заполним ее, максимально дублируя данные (пункт 1). В таблице два разных ВУЗа имеют одинаковую аббревиатуру - МГТУ "СТАНКИН" и МГТУ им.Баумана.

ВУЗЫ


Название

Город

Регион

Дисциплина

ВУЗа







Предмет

Часы

 МГТУ

 Москва

 Центр

Информатика

204










Ин.яз.

150

УПИ

Томск

Урал

Информатика

150

МГТУ

Москва

Центр

Информатика

204

Избавимся от сложного атрибута Дисциплина (пункт 2), заменив его двумя атомарными - Предмет и Часы. Тогда отношение и таблица ВУЗЫ преобразятся к следующему виду:

ВУЗЫ


ВУЗЫ




Название

Город

Регион

Предмет

Часы

Название




МГТУ

Москва

Центр

Информатика

204

Город




МГТУ

Москва

Центр

Ин.яз.

150

Регион




УПИ

Томск

Урал

Информатика

150

Предмет




МГТУ

Москва

Центр

Информатика

204

Часы



















В качестве ключа (пункт 3) предполагалось выбрать атрибут Название, но сейчас видно, что поскольку аббревиатуры ВУЗов могут повторяться, то в отношение ВУЗЫ необходимо добавить атрибут, однозначно идентифицирующий ВУЗ, например, атрибут Код ВУЗа.

ВУЗЫ


Код ВУЗа

Название

Город

Регион

Предмет

Часы

1

МГТУ

Москва

Центр

Информатика

204

1

МГТУ

Москва

Центр

Ин.яз.

150

2

УПИ

Томск

Урал

Информатика

150

3

МГТУ

Москва

Центр

Информатика

204

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

При внимательном рассмотрении можно увидеть, что не повторяется совокупность из двух атрибутов - Код ВУЗа и Предмет, т.е. в отношении ВУЗЫ ключ составной - Код ВУЗа+Предмет. Атрибут Часы зависит как от Кода ВУЗа, так и от Предмета, но не от каждого в отдельности. Ключевые атрибуты помечены в таблице символом .

В итоге БД находится в 1НФ.

Приведение ко 2 нормальной форме (2НФ).

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

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



Частичная зависимость- если неключевой атрибут зависит только от части ключа. Полная функциональная зависимость, когда неключевой атрибут зависит от всего ключа целиком. В нашем примере Название зависит только от Кода ВУЗа, т.е. налицо частичная зависимость. Полная зависимость наблюдается между ключом Код ВУЗа+Предмет и атрибутом Часы.

Такая частичная зависимость приводит к следующим аномалиям:



  1. Дублирование данных о ВУЗе (поскольку ВУЗ обучает нескольким предметам);

  2. Проблема контроля из-за избыточности данных (изменение, например, названия ВУЗа влечет за собой необходимость поиска и изменения этого названия во всех кортежах с данным ВУЗом;

Поэтому нужно устранить частичную зависимость неключевых атрибутов от ключа. Для этого необходимо:

  1. Указать письменно частичные зависимости неключевых атрибутов от ключа;

  1. Разложить исходное отношение на два:

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

  1. построить отношение, в которое входят полный ключ и оставшиеся атрибуты.

  1. Указать ключи в каждом из получившихся отношений и установить от первого (главного - со стороны один) отношения ко второму (подчиненному - со стороны многие) связь 1:М по внешнему ключу, которым является часть составного ключа во втором отношении.

  2. Еще раз рассмотреть каждое из отношений БД на наличие частичных зависимостей и проделать заново пункты 4 – 6, если такие найдены.

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

В нашем примере нужно письменно указать, от чего зависит каждый неключевой атрибут (пункт 4). Сделаем это.



Код ВУЗа Название, Код ВУЗа Город, Код ВУЗа Регион (частичные зависимости). Код ВУЗа + Предмет Часы (полная зависимость).

Разбиваем отношение ВУЗЫ на два (пункт 5). В первое входят часть составного ключа Код ВУЗа и атрибуты, зависящие только от этой части, во второе – полный ключ Код ВУЗа + Предмет и оставшиеся, т.е. Часы. Устанавливаем связь 1:М между главным отношением ВУЗЫ и подчиненным отношением ДИСЦИПЛИНЫ через внешний ключ Код ВУЗа (пункт 6).




ВУЗЫ

1

ДИСЦИПЛИНЫ

Код ВУЗа




Код ВУЗа

Название




Предмет

Город




Часы

Регион







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

ВУЗЫ


Код ВУЗа

Название

Город

Регион

1

МГТУ

Москва

Центр

1

МГТУ

Москва

Центр

2

УПИ

Томск

Урал

3

МГТУ

Москва

Центр

ДИСЦИПЛИНЫ

Код ВУЗа

Предмет

Часы

1

Информатика

204

1

Ин.яз.

150

2

Информатика

150

3

Информатика

204

Поскольку в первом отношении ключ простой, то частичных зависимостей в нем быть не может (пункт 7). Поскольку единственный неключевой атрибут во втором отношении зависит от полного ключа, то в нем тоже нет частичных зависимостей. В итоге БД находится во 2НФ.

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

В нашем примере каждому значению внешнего ключа Код ВУЗа в подчиненном отношении ДИСЦИПЛИНЫ (и значению 1, и 2, и 3) соответствует такое же значение этого атрибута в главном отношении ВУЗЫ. Если бы в подчиненном отношении появился кортеж со значением атрибута Код ВУЗа равным, например, 5, то ссылочная целостность была бы нарушена, поскольку ВУЗа с таким кодом в главном отношении ВУЗЫ не существует (т.е. дисциплина в ВУЗе есть, а самого ВУЗа нет!).

Наоборот, присутствие ВУЗа с кодом 5 в списке ВУЗов (главном отношении) при отсутствии его в списке дисциплин (подчиненном отношении) не нарушает ссылочной целостности (ВУЗ есть, но еще ничего не преподает).

Приведение к 3 нормальной форме.

Определение: Отношение находится в 3НФ, если оно находится в 2НФ и в нем отсутствуют транзитивные зависимости неключевых атрибутов от ключа.

В полученном отношении ВУЗЫ имеются следующие аномалии:



  1. дублирование информации о регионе для ВУЗов одного города;

  2. проблема контроля из-за избыточности данных, поскольку изменение названия региона, в котором находится город, влечет за собой необходимость поиска и изменения этого названия у всех ВУЗов этого города;

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

Такие аномалии связаны с тем, что в отношении имеется транзитивная зависимость атрибута Регион от ключа Код ВУЗа.

Говорят, что атрибут С зависит от атрибута А транзитивно, если есть атрибут-посредник В такой, для которого выполняются зависимости А В и В C, и при этом обратные зависимости отсутствуют. Такую зависимость можно изобразить следующим образом: А В C.
Необходимо удалить все транзитивные зависимости неключевых атрибутов от ключа:

  1. Рассмотреть каждую из таблиц на наличие транзитивных зависимостей неключевых атрибутов от ключа. Указать письменно такие зависимости.

  1. Если транзитивных зависимостей нет, доказать это письменно;

  2. Разложить исходное отношение на два:

  1. построить отношение, в которое входит зависимый атрибут и атрибут-посредник. Повторяющиеся кортежи нужно удалить;

  2. построить отношение, в которое входят все атрибуты, кроме зависимого;

  1. Указать ключи в каждом из получившихся отношений и установить от первого (главного) отношения ко второму (подчиненному) связь 1:М по внешнему ключу, которым является посредник во втором отношении.

  2. Еще раз рассмотреть каждое из отношений на наличие транзитивных зависимостей и проделать заново пункты 8 – 11, если такие найдены.

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

В нашем примере нужно письменно указать, какие варианты транзитивных зависимостей неключевых атрибутов от ключей возможны. (пункт 8).

Сразу отметим, что в отношении ДИСЦИПЛИНЫ не может быть транзитивных зависимостей, потому что в нем только один неключевой атрибут. Отметим также, что в отношении ВУЗЫ атрибут Название не может быть посредником, поскольку мы с самого начала условились, что аббревиатуры ВУЗов могут повторяться. Из этого следует, что утверждения Название Город и Название Регион неверны, поскольку одной аббревиатуре ВУЗа могут соответствовать несколько городов и регионов. Остаются возможные варианты:

Код ВУЗа Регион Город,

Код ВУЗа Город Регион.

Первое утверждение неверно, поскольку в одном регионе может находиться много городов, а второе будет истинным, если мы будем считать, что городов с одним названием в разных регионах нет. Для избавления от этой зависимости (пункт 10) разложим исходное отношение на два (в первое войдут зависимый атрибут Регион и посредник Город, а во второе - все, кроме зависимого). Устанавливаем связь 1:М через внешний ключ Город (пункт 11).



ГОРОДА

1

ВУЗЫ

Город




Код ВУЗа

Регион



Название







Город

В получившейся таблице уберем дублирующиеся строки и укажем ключи получившихся отношений.

ГОРОДА ВУЗЫ




Город

Регион

Москва

Центр

Томск

Урал

Москва

Центр

Код ВУЗа

Название

Город

1

МГТУ

Москва

2

УПИ

Томск

3

МГТУ

Москва

Еще раз рассмотрим получившиеся отношения (пункт 12). В отношении ГОРОДА транзитивных зависимостей быть не может, поскольку в нем только один неключевой атрибут. Во втором отношении (ВУЗЫ) транзитивная зависимость будет иметь место, если выполнится одно из утверждений:



Код ВУЗа Название Город,

Код ВУЗа Город Название.

Первое утверждение неверно, поскольку мы уже выяснили, что атрибут Город не зависит от аббревиатуры ВУЗа. Второе утверждение тоже неверно, т.к. в одном городе может быть несколько ВУЗов с одной аббревиатурой, как это и произошло в нашем примере. Получаем, что транзитивных зависимостей в отношении ВУЗЫ нет.



В итоге БД, состоящая из трех связанных отношений ДИС­ЦИПЛИНЫ, ВУЗЫ и ГОРОДА, находится в 3НФ.
скачать файл



Смотрите также:
По горизонтали Этот человек создал в Ярославле первый в России общедоступный театр Антоним слову чужбина Название этого городо произошло от слова угол Самый крупный город Золотого кольца 10. Город в Курской области
7.26kb.
"Геральдическим предком" Домодедова был город Никитск
43.4kb.
Сначала о происхождении названия "Китай-город". Никакого отношения к Китаю оно не имеет. Существует несколько версий возникновения этого названия
23.92kb.
Надувные катамараны
82.26kb.
Муниципальное образование город Ирбит имеет свой Устав
8.52kb.
Фадеев Руслан
62.84kb.
Этот город, как и все знаменитые достопримечательности Парижа, древний и вечно молодой. Город-символ, город-знак
70.87kb.
Александр Македонский Великий
162.32kb.
Утро, вокзал, масса людей в парадной форме, на табло необычное название «Поезд памяти». Ветераны Великой Отечественной войны и учащиеся в предвкушении недельного путешествия в город-герой Волгоград
20.1kb.
Название Город
170.86kb.
«Какой немецкий город. Повторение»
35.03kb.
Это город мастеров и ремесленников, город-музей, город ночных развлечений, торговых лавок, баров и ресторанов, выставок и концертов
30.2kb.