45521

Проектирование базы данных с помощью нормализации

Доклад

Информатика, кибернетика и программирование

Таблица находится в первой нормальной форме 1Н. Таблица находится во второй нормальной форме 2Н. Таблица находится в третьей нормальной форме 3Н. Таблица находится в нормальной форме БойсаКодда Н.

Русский

2013-11-17

49.5 KB

8 чел.

Билет №1

Проектирование базы данных с помощью нормализации

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

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

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

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

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

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

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

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

фамилия

статус

Город пос-

тавщика

Название детали

вес

цвет

Город детали

количество

Иванов

70

Пермь

гайка

12

красный

Пермь

100

болт

13

синий

Кунгур

200

...

...

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

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

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

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

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

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

Пример:

Фамилия автора

произведение

Пушкин

Евгений Онегин, Капитанская дочка, ...

Лермонтов

Герой нашего времени, Кавказский пленник, ...

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

автор

произведение

Пушкин

Евгений Онегин

Пушкин

Капитанская дочка

Пушкин

...

Лермонтов

Герой нашего времени

Лермонтов

Кавказский пленник

Лермонтов

...

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

Пример:

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

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

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

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

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

Г           С;

П          С;

П           Г.

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

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

П        С;

П        Г;

Г         С.

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

 


                                                                     Г            

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

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

Пример:

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

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

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

Пример:

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

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

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

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

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


1Н.Ф.

2Н.Ф.

3Н.Ф.                                              Н.Ф.Б.К.

  4Н.Ф.

   

   5Н.Ф.


 

А также другие работы, которые могут Вас заинтересовать

58866. То був страшний навмисний голод 41 KB
  Розкрити перед учнями одну з найстрашніших сторінок українського народу великий голодомор 1933 року; вчити учнів самостійно висловлювати свої думки з приводу прочитаного; виховувати непримиренність до чужої волі над рідним народом.
58867. Їжа. Продукти харчування 154 KB
  How do you do, my dears? Are you in a good mood? Are you ready for the lesson? We have got an interesting and unusual lesson today. It will be a competition to see who is the wisest, the most attentive and the most active.
58868. Плоске і сферичне дзеркало. Лінзи. Побудова зображень за допомогою лінзи 53.5 KB
  Повторення побудови зображення в плоскому дзеркалі малюнок на дошці на партах знаходяться дзеркала подивившись на своє зображення діти відповідають на запитання: 1 Яке зображення у плоскому дзеркалі дійсне чи уявне...
58869. Лінзи. Оптична сила лінзи. Побудова зображень, що дає тонка лінза 680.5 KB
  Розширення та поглиблення знань учнів про явище заломлення світла та використання цього явища в оптичних системах. Формування понять про різні типи лінз, їх оптичні властивості.
58870. Літературна дискусія 1925-1928 років 225.41 KB
  Назвіть найвідоміші літературні угруповання тих років. На попередньому уроці ми ознайомились із літературним розмаїттям тих років що зараз називаємо відродженням дивувалися кількості літературно-художніх організацій яким до 1925 року вдавалося мирно співіснували.
58871. Жіночі образи в романі Л.М.Толстого «Війна і мир». Кохання – одне з найбільш загадкових проявів людської душі 111 KB
  Толстой розуміє істинну любов і красу зовнішню і внутрішню; яке місце за Толстим повинна займати жінка в суспільстві в сімї; розвиваюча: розвивати логічне мислення творчу уяву вміння порівнювати і робити висновки; також розвивати критичне мислення учнів у просторі ...
58872. Антуан де Сент-Екзюпері. «Маленький принц» 34.5 KB
  Мета: познайомити учнів із життям і творчістю А. де Сент-Екзюпері; допомогти засвоїти поняття філософська казкапритча зрозуміти ідейнохудожній та філософський зміст твору Маленький принц його гуманістичну спрямованість...
58873. Множення величини довжини на одноцифрове число. Розв’язування задач 59.5 KB
  Назвати розрядні доданки кожного числа; Назвати найбільше число; Назвати найменше число; Назвати числа в порядку зростання; Назвати числа в порядку спадання. Із завданням ми справилися білети придбали вирушаємо в мандрівку.