Проектирование реляционной базы данных. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Проектирование реляционной базы данных.



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

 

 

 


Таблица находится в первой нормальной форме (1Н.Ф.), если все ее атрибуты атомарные.

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

Таблица находится в третьей нормальной форме (3Н.Ф.), если она находится во 2Н.Ф. и устранены транзитивные зависимости внутри таблицы.

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

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

Таблица находится в пятой нормальной форме (5Н.Ф.), если она разложима без потерь.

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

фамилия статус Город пос- тавщика Название детали вес цвет Город детали количество
Иванов   Пермь гайка   красный Пермь  
      болт   синий Кунгур  
...              
...              

Проектирование сводится к постепенному переводу универсального отношения к пятой нормальной форме.

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

Чтобы прейти ко второй нормальной форме нужно разбить данную таблицу на таблицы, так чтобы это было разложение без потерь. Для этого разобьем таблицу на две, первая будет содержать поля - фамилия поставщика (ключ), статус, город поставщика, вторая таблица будет содержать поля – фамилия поставщика, название детали, вес, цвет, город детали, количество, причем фамилия +название детали=ключ.

После данного разбиения первая таблица будет находится не только во второй нормальной форме, но и в третьей. А во второй таблице сохранятся аномалии технологических операций, т.е. вторую таблицу необходимо еще разбить на две: таблица 2.1 с полями - название детали, вес, цвет, город детали; таблица 2.2 с полями - фамилия поставщика, название детали, количество(эти две таблицы находятся в 3Н.Ф.).

Методы проектирования.

1. Метод нормализации.

Метод начинается с универсального отношения и основан на постепенном переходе к пятой нормальной форме.

Пример:

Фамилия автора произведение
Пушкин Евгений Онегин, Капитанская дочка,...
Лермонтов Герой нашего времени, Кавказский пленник,...

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

автор произведение
Пушкин Евгений Онегин
Пушкин Капитанская дочка
Пушкин ...
Лермонтов Герой нашего времени
Лермонтов Кавказский пленник
Лермонтов ...

Таблица находится в первой нормальной форме, является реляционной таблицей.

Пример:

r(поставщик, статус, город поставщика, деталь, количество) – это универсальное отношение. Установим функциональные зависимости:

поставщик +деталь = первичный ключ;

П+Д С (от поставщика и детали зависит статус);

П+Д Г (город);

П+Д К (количество);

Г С;

П С;

П Г.

Получаем ситуацию, когда некоторые атрибуты полностью зависят от комбинации П+Д, а некоторые атрибуты зависят только от П, т.е. присутствует неполная функциональная зависимость, а также присутствуют аномалии добавления, удаления, изменения. Разобьем таблицу на 2, так чтобы сохранились функциональные зависимости:

Т1(Поставщик, Статус, Город), Т2(Поставщик, Деталь, количество). Данные 2 находятся во второй нормальной форме. Установим функциональные зависимости для Т1:

П С;

П Г;

Г С.

П С это транзитивная зависимость.


Г

В таблице Т1 сохраняются аномалии технологических операций: при удалении поставщика теряется зависимость Город Статус, не можем добавить нового поставщика пока не знаем статуса города. Следовательно необходимо таблицу Т1 разбить еще на 2: Т11(П,Г) и Т12(Г,С).

Таблицы Т11, Т12, Т2 представляют нашу базу в третьей нормальной форме.

Пример:

Т(№служащего, фамилия, №проекта, название работы).

Предположим, что в таблице нет однофамильцев, тогда ключом является либо №служащего+№проекта, либо фамилия+№проекта,

тогда №служащего фамилия. Приведем таблицу в Н.Ф.Б.К., для этого разложим таблицу на две: Т1 (№служащего, фамилия), Т2(№служащего, №проекта, Название работы).

Пример:

Т(№детали,№проекта,№поставщика).

№проекта+№детали №поставщика;

№поставщика №проекта. Следовательно нужно разбить еще на 2:

Т1 (№детали, №поставщика) и Т2 (№поставщика,№проекта).

Чтобы перевести таблицу в 4Н.Ф. нужно многозначную Ф.З. выделить в отдельную таблицу, в 5Н.Ф. все таблицы должны соединяться без потерь.

Правил Джексона.

Из модели Чена, используя эти правила, сразу можно получить нормальную форму.

· Если отношения 1о:1о (индекс о означает обязательный класс принадлежности), то достаточно 1 таблицы, чтобы представить данное отношение.

Пример.

Растут деревья на участках леса:

Дерево Участок Площадь
Сосна Бор  
Береза Роща  
Осина Лиственный лес  

· Если 1о:1н, то для представления информации необходимо 2 таблицы, отдельная таблица для необязательного класса принадлежности.

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

Участки Площадь
Бор  
Роща  
Лиственный лис  
Паленина  

 

Дерево Участок
Сосна Бор
Береза Роща
Осина Лиственный лес

 

· Если 1н:1н, то потребуется 3 таблицы.

Например, есть деревья, которые нигде не растут и есть участки, на которых ничего не растет.

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

· Если 1о или н:Мн, то потребуется 2 таблицы.

В 1 таблицу записываем те объекты, которые относятся к типу связи М. Во вторую таблицу записываем собственно связь.

· Если 1нн, то потребуется три таблицы.

Первая таблица описывает первый объект, вторая таблица описывает второй объект, а третья таблица описывает связь.

· Если М:М, то всегда потребуется три таблицы.

· Если n-объектных таблиц, и их надо связать, то всегда потребуется n+1 таблица, n таблиц отдельно описывают объекты, а n+1 таблица описывает связь между ними.

Язык доступа к данным,



Поделиться:


Последнее изменение этой страницы: 2016-09-20; просмотров: 166; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.210.17 (0.017 с.)