Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Перша нормальна форма (1НФ)




Домени

Найбільш правильним інтуїтивним трактуванням поняття домену є розуміння домену як допустимої потенційної множини значень даного типу. Наприклад, можна ввести домен «колір». Для предметної області «Правила переходу вулиці» домен «колір» буде приймати значення: «червоний», «жовтий» та «зелений». Ніякі інші значення для даного домену СКБД не пропустить.

Домен - це семантичне поняття. Домен можна розглядати як підмножину значень деякого типу даних, які мають певний сенс. Домен характеризується наступними властивостями:

-домен має унікальну назву (в межах бази даних);

-домен визначений на деякому простому типі даних або на іншому домені;

-домен може мати деяку логічну умову, що дозволяє описати підмножину даних, допустимих для даного домену;

-домен несе певне смислове навантаження.

 

Приклади доменів:

домен «Курс» приймає значення від 1 до 6;

домен «Пори року» приймає значення від 1 до 4.

 

Схема БД. Таблиці (відношення)

Кортеж, що відповідає даній схемі відношення, - це множина пар {назва атрибута, значення}, яке містить одне входження кожної назви атрибута, що належить схемі відношення. «Значення» є припустимим значенням домену цього атрибута (або типу даних, якщо поняття домену не підтримується). Попросту кажучи, кортеж - це набір іменованих значень заданого типу.

 

Відношення - це множина кортежів, які відповідають одній схемі відношення. Насправді, поняття схеми відношення найближче до поняття структурного типу даних в мовах програмування.

 

Відношення зазвичай записується у вигляді:

R(<A1: D1>, <A2: D2>,..., <An: Dn>),

або коротше

R(A1, A2,..., An).

 

Число атрибутів у відношенні називають степенем (або -арністю) відношення.

 

Потужність множини кортежів відношення називають потужністю відношення.

 

Тоді, реляційною базою даних називається набір відношень.

 

Звичайним для користувача поданням відношення є таблиця, заголовком якої є схема відношення, а рядками - кортежі відношення-екземляру; в цьому випадку назви атрибутів іменують стовпці цієї таблиці. Тому іноді кажуть «стовпець таблиці», маючи на увазі «атрибут відношення». Такої термінології дотримуються в більшості комерційних реляційних СКБД.

Схема відношення, схема бази даних

Схема відношення - це іменована множина пар {назва атрибута, назва домену (або типу, якщо поняття домену не підтримується)}. Степінь або «арність» схеми відношень - потужність цієї множини. Схема БД (в структурному сенсі) - це набір іменованих схем відношень. Наприклад, нехай схема відношень «лампочка» виглядає так: лампочка ((назва, varchar (10)), потужність (dec), напруга (vol), тип цоколя (cok). При цьому раніше повинні бути задані домени vol з областю значень (110 або 220) і cok з областю значень («звичайний E27» або «міньйон E14»).

 

Схема БД - це пойменована сукупність схем відношень, які входять до неї.

 

Як видно, основні структурні поняття реляційної моделі даних (якщо не вважати поняття домену) мають дуже просту інтуїтивну інтерпретацію, хоча в теорії реляційних БД всі вони визначаються абсолютно формально і точно.

 

Властивості відношень.

відсутність кортежів-дублікатів - відношення не містить кортежів-дублікатів, випливає з визначення відношення як множини кортежів. У класичній теорії множин по визначенню кожна множина складається з різних елементів. З цієї властивості випливає наявність у кожного відношення так званого первинного ключа - набору атрибутів, значення яких однозначно визначають кортеж відношення. Поняття первинного ключа є виключно важливим у зв'язку з поняттям цілісності баз даних. Зауважимо, що в багатьох практичних реалізаціях РСКБД допускається порушення властивості унікальності кортежів для проміжних відношень, породжуваних неявно при виконанні запитів. Такі відношення є не множинами, а мультимножинами, що в ряді випадків дозволяє добитися певних переваг, але іноді призводить до серйозних проблем;

відсутність упорядкованості кортежів також є наслідком визначення відношення-екземпляра як множини кортежів. Відсутність вимоги до підтримання порядку на множині кортежів відношення дає додаткову гнучкість СКБД при зберіганні баз даних у зовнішній пам'яті та при виконанні запитів до бази даних. Це не суперечить тому, що при формулюванні запиту до БД, наприклад, на мові SQL можна вказати сортування результуючої таблиці у відповідності зі значеннями деяких стовпців. Такий результат, взагалі кажучи, не відношення, а деякий впорядкований список кортежів;

відсутність упорядкованості атрибутів - атрибути відношень не впорядковані, оскільки за визначенням схема відношення є множиною пар {назва атрибута, назва домену}. Для посилання на значення атрибута в кортежі відношення завжди використовується назва атрибута. Ця властивість теоретично дозволяє, наприклад, модифікувати схеми існуючих відношень не тільки шляхом додавання нових атрибутів, але і шляхом видалення існуючих атрибутів. Однак у більшості існуючих систем така можливість не допускається, і хоча впорядкованість набору атрибутів відношення явно не потрібно, часто в ролі неявного порядку атрибутів використовується їх порядок у лінійній формі визначення схеми відношення;

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

 

Реляційні ключі. Потенційні, первині та зовнішні ключі.

Цілістність реляційних даних. Визначник NULL. Цілісність сутностей. Посилальна цілісність. Корпоративні обмеження цілісності

В цілісній частині реляційної моделі даних фіксуються дві базові вимоги цілісності, які повинні підтримуватися в будь-якій реляційній СКБД. Перша вимога називається вимогою цілісності сутностей. Об'єкту або сутності реального світу в реляційних БД відповідають кортежі відношення. Конкретно вимога полягає в тому, що довільний кортеж будь-якого відношення відрізняється від всіх інших кортежів цього відношення, тобто іншими словами, будь-яке відношення повинно мати один первинний ключ, причому альтернативних ключів може бути багато (або зовсім не бути). Як ми бачили в попередньому розділі, ця вимога автоматично задовольняється, якщо в системі не порушуються базові властивості відношень.

 

Друга вимога називається вимогою цілісності за посиланнями і є трохи більш складним питанням. Вимога цілісності за посиланням, або вимога зовнішнього ключа полягає в тому, що для кожного значення зовнішнього ключа, який з'являється у відношенні, повинен знайтися кортеж з таким самим значенням первинного ключа, або значення зовнішнього ключа повинне бути невизначеним (тобто ні на що не вказувати).

 

Зрозуміло, що при оновленні відношення, що посилається (вставлення нових кортежів або модифікація значення зовнішнього ключа в існуючих кортежах) необхідно стежити за тим, щоб не з'являлися некоректні значення зовнішнього ключа. Але як бути при видаленні кортежу з відношення, на яке є посилання?

 

Тут існують три підходи, кожен з яких підтримує цілісність за посиланнями:

забороняється проводити видалення кортежу, на який існують посилання (тобто спочатку потрібно або видалити кортежі, що посилаються, або відповідним чином змінити значення їх зовнішнього ключа);

при видаленні кортежу, на який є посилання, у всіх кортежах, що посилаються, значення зовнішнього ключа автоматично стає невизначеним (NULL);

каскадне видалення полягає в тому, що при видаленні кортежу з відношення, на яке є посилання, з відношення автоматично видаляються всі кортежі, що посилаються на це відношення.

 

У розвинених реляційних СКБД зазвичай можна вибрати спосіб підтримки цілісності за посиланням для кожної окремої ситуації визначення зовнішнього ключа. Звичайно, для прийняття такого рішення необхідно аналізувати вимоги конкретної прикладної області.

 

Ключові поля ідентифікують примірник об'єкта:

одне поле;

кілька полів - складений ключ.

 

Ключове поле для створеного запису згодом оновитися вже не може.

 

Якщо роль ключа грають кілька полів, виділяють первинний ключ. Значення не первинних ключів, які називаються можливими можуть оновлюватися.

 

Сукупність визначених для таблиці полів, їх властивості (ключі тощо) складають схему таблиці-відношення. Дві таблиці з однаковою схемою називаються односхемними.

 

Типи зв'язків через типи ключів:

значення первинного ключа унікальні, а зовнішнього ключа - можуть повторюватися, тому зв'язок «один-до-багатьох»;

зв'язки «один-до-одного» автоматично забезпечуються при однакових первинних ключах;

зв'язки типу «багато-до-багатьох» безпосередньо не відображаються.

 

 

Лекція 6. Концептуальне проектування. Метод ER-діаграми.

Типи сутностей. Атрибути. Типи зв'язків. Атрибути зв'язків. Структурні обмеження. Показник кардинальності. Ступінь участі. Проблеми ER-моделювання. Пастки розгалуження. Пастки розриву. EER-модель. Суперкласи і підкласи типів сутностей. Спадкування атрибутів. Спеціалізація. Генералізація. Обмеження, що накладаються на процедури спеціалізації і генералізації. Категоризація. Створення EER-моделі.

 

Моделі баз даних підрозділяються на дві категорії: концептуальні моделі та моделі реалізації.

 

 

6.1.Рівні проектування предметної області (3.11.06.01).

 

По Томас Коннолли, К.Бегг в своїй книзі «. Базы данных. Проектирование, реализация и сопровождение» виділяє три основні етапи проетування БД:

1.Концептуальне проектування

2.Логічне

3.Фізичне пректування.

 

МОНУ рекомендує дещо інший підхід в вивчені процесу проетування БД:

1.Інфологічне(логічне, концептуальне) проектування БД

2.Даталогічне (фізичне) проектування БД.

 

6.2. Інфологічне проетування БД (3.11.06.02).

 

Мета - отримання уявлення про предметну область з метою побудови функціональної та інформаційної моделі (визначення фактичних меж предметної області) інфологічного рівня.

Існує два підходи:

· від предметної області;

· від запиту.

Підхід «від предметної галузі» полягає в тому, що формується зовнішнє інформаційне забезпечення всієї предметної області без урахування потреб користувачів і прикладних програм. Іноді цей підхід називають ще об’єктним, чи непроцесним.

При підході «від запиту» основним джерелом інформації про предметну галузь є вивчення запитів користувачів і потреб прикладних програм. Цей підхід також називається процесним чи функціональним. При такому підході БД проектується для виконання поточних задач управління без урахування можливості розширення системи і виникнення нових задач управління.

Перевагами підходу «від предметної галузі» є його об’єктивність, системність при відображенні предметної області і стійкість інформаційної моделі, можливість реалізації великої кількості прикладних програм і запитів, у тому числі незапланованих при створенні БД.

Недолік цього підходу — значний обсяг робіт, що його потрібно виконати при визначенні інформації, яка підлягає фіксації в БД, що відповідно ускладнює і збільшує термін розробки проекту.

Результатом проектування є інфологічна модель даних - це опис предметної області, виконаний природною мовою, за допомогою математичних формул, графіків, таблиць

6.2. Концептуальне проектування бази даних та методологія.

 

При проектуванні бази даних, основною метою розробки є створення якомога точнішого представлення даних та зв'язків між ними з необхідними обмеженнями – іншими словами основна мета полягає в знаходжені такого групування атрибутів у відношеннях, яке б забезпечило мінімальну надмірність даних.

Суть концептуального проектування полягає в виокремленні таких інформаційних об’єктів як сутність.

Для досягнення цієї мети можна скористатися двома підходами:

- висхідний (знизу-вгору, метод сутність-зв’язок, метод ER-діаграм), що починається з виявлення основних типів сутностей та їх атрибутів, інформація про які буде включена в базу даних та зв'язків між типами сутностей (асоціацій).

 

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

Подальше вирішення задачі побудови БД полягає в приведені отриманої БД до деякого стандартного вигляду (з точки зору цілістності даних).

 

Результатом проектування є побудова концептуальної схеми БД, що є її основою. Вона підтримує всі зовнішні представлення, а сама підтримується засобами внутрішньої схеми. В нутрішня схема є не що інше, як фізичне втілення концептуальної схеми.

 

Тому саме концептуальна схема покликана бути повним і точним представленням вимог до даних деякої предметної області.

Цей процес не залежить від таких подробиць, як використовувана СКБД, прикладні програми, мови програмування або будь-які інші питання фізичної організації інформації.

Створена концептуальна модель даних предметної області є джерелом інформації для фази логічного проектування бази даних.

 

6.3. Логічне проектування БД.

На цьому етапі визначаються з типом моделі даних та цільовою СУБД.

 

6.4. Даталогічна або фізична модель даних (3.11.06.03).

На цьому етапі концептуальна схема БД реалізується в термінах вибраної цільової СУБД. Результатом є фізична модель (схема) БД.

 

6.5. Проектування БД методом “сутність-зв’язок” ER-діаграми (3.11.06.06)

Невеликий вступ.

Для відображення інформації на рівні окремих екземплярів зв’язку використовується діаграма, яку називають семантичною мережею (семантичною моделею). Приклад на мал.6.1.

 

Для спрощення діаграми семантичної мережі на мал. 6.1 показані тільки деякі атрибути сутностей Цінності і Інвентарні об’єкти. Так, тут показані тільки три атрибути типу сутності Цінності (NanTMC,Cina,KodTMC) і три атрибути для сутності Інвентарні об’єкти(KodTMC,InvNom,KodIN). Причому кожен атрибут містить значення із зв'язаного з ним домена

На діаграмі показані три зв'язки (zl, z2 і z3), що описують взаємозв'язок сутностей Цінності та Інвентарні об’єкти. Ці зв'язки представлені лініями, що з'єднують кожен екземпляр сутності Цінності з відповідним екземпляром сутністі Інвентарні об’єкти.

 

 

Через надлишковий ступінь деталізації діаграму семантичних мереж важко використовувати на рівні предметної області.

Для цього користуються більш простою формою відображення зв’язків — ER-діаграмою (моделею).

 

Модель "сутність-зв'язок " ґрунтується на деякій важливій семантичній інформації про реальний світ і призначена для логічного представлення даних. Вона визначає значення даних у контексті їхнього взаємозв'язку з іншими даними.

Важливим для нас є той факт, що з моделі "сутність-зв'язок" можуть бути породжені всі існуючі моделі даних (ієрархічна, мережева, реляційна, об'єктна), тому вона є найбільш загальною.

Модель "сутність-зв'язок" не є моделлю даних у строгому розумінні, оскільки не визначає операцій над даними й обмежується описом тільки їхньої логічної структури.

Модель "сутність-зв'язок" була запропонована в 1976 р. Питером Пин-Шэн Ченом.

 

Довільний фрагмент предметної області може бути представлений як множина сутностей, між якими існує деяка множина зв'язків. Графічне відбиття цього представлення й утворює ER-діаграму.

 

Зв’язки характерезуються бінарністю. Серед бінарних зв'язків існують три фундаментальних види зв'язку: один-до-одного (1:1), один-до-багатьох (1:M), багато-до-багатьох (M:M).

Кількість екземплярів сутностей, що може бути асоційована через набір зв'язків з іншою сутністю, називають потужністю зв'язку або кардинальністю зв’язку.

 

Приклад високорівневого представлення зв'язку “ Представлені екземплярами” з використанням концепцій ER-моделювання показаний на мал. 6.2.

 

На малюнку 6.2. показанітипи сутностей Цінності та Інвентарні об’єкти, зв'язків між ними та атрибутів, що є їх первинними або вториними ключами.

 

Основні етапи проектування концептуальної схеми методом ER-діаграми:

-Аналіз предметної області з метою виявлення сутностей з наступним їх аналізом на предмет визначення їх значимих атрибутів;

-Виявлення асоційованих зв’язків між сутностями;

-Аналіз атрибутів з метою визначення ключових атрибутів;

-Перехід від асоційованих зв’язків між сутностями до зв’язків на основі первиного та зовнішнього ключів;

-Перевірка концептуальної схеми на відповідність правилам її формування.

 

 

6.5.2.Представлення зв'язків та сутностей на діаграмах.

На сьогодні не існує стандартного підходу щодо графічного представлення концептуальної схеми ні в відношені її об’єктів ні в відношені степені деталізації схеми. Кожен розробник керується своїм досвідом і здоровим глуздом, розробляючи власну свистему графічного представлення концептуальної схеми.

 

Властивості сутності:

-кожна сутність повинна мати унікальне ім'я.

-сутність має один або декілька атрибутів, що або належать сутності, або успадковуються через зв'язок;

-сутність володіє одим або декількома атрибутами, що однозначно ідентифікують кожний екземпляр сутності;

-кожна сутність може мати будь-яку кількість зв'язків з іншими сутностями моделі.

Для зменшення рівня деталізації на ER-діаграмі вказують тільки ті атрибути, що є первинними, зовнішніми ключами та необхідні для розуміння природи та призначення зображених сутностей.

Атрибути, що виконують функції первиного або зовнішнього ключа на ER-діаграмі повинні мати позначення, що вказують на їх функцію.

Атрибути зв'язків

Зв'язок (Relationship) – це поіменована асоціація між двома сутностями, суттєва для предметної області, що аналізується.

Зв'язок може мати ім'я, у вигляді граматичного звороту дієслова, яке розташовується біля лінії зв'язку. Це ім’я ще називають рольове ім’я. Воно вказує на функцію, яку воно має виконувати в інтересах сутностей-учасниць данного зв'язку.

 

На схему може виноситись така характеристика зв’язку як клас приналежності – обов’язковий\не обов’язковий (наприклад знак «+» біля відповідної сутності).

 

(Кардинальність відношенння – це кількість кортежів відношення) На ER-діаграмах прийнято показувати найбільш високий, із усіх існуючих, показник кардинальності зв’язку.

Інакше кажучи, якщо окремі екземпляри двох сутностей допускають звязок 1:1 і 1:М, то показник кардинальності ми приймаємо рівним 1:М.

 

Замість 1:1 і 1:М на схемі можуть використовуватись інші способи позначень атрибутів зв’язків, наприклад, в нотаціях Баркера чи інших:

 

 

 

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

Мова йде про ступінь участі (або залежність існування) – визначає, чи залежить існування деякого екземпляра сутності від її участі в зв’язку з деяким екземпляром іншої сутності.

Наприклад: Сутність ПЛАТІЖ залежна і існує дише у разі існування сутності КРЕДИТ (на що вказує стрілка направлена до сутності КРЕДИТ)

 

Приклад ER-діаграми

Наявність у зв'язку одного або декількох атрибутів може свідчити про те, що цей зв'язок має приховану деяку невизначену сутність.

 

 

Крім перерахованих основних конструкцій модель даних може містити рекурсивні зв’язки. Рекурсивний зв'язок: сутність може бути пов'язана сама із собою:


або:

На мал. 6.3 приведено приклад використання рольових імен у рекурсивному зв'язку. Перша участь сутності Цінності отримала назву Представлені екземплярами, а друге Складається з....

 

6.5.4.Правила формування зв’язків між сутностями концептуальної схеми.

Обов’язковий клас приналежності означає, що кожен екземпляр сутності повинен обов’язково брати участь у зв’язку.

 

1.Якщо ступінь бінарного зв’язку 1:1 і клас приналежності обох сутностей обов’язковий, то формується одне відношення з первиним ключем, взятим у одного з відношень.

2.Якщо ступінь бінарного зв’язку 1:1 і клас приналежності однієї сутності обов’язковий, а другої необов’язковий, то формується два відношення для кожної сутності. Далі, в перелік атрибутів сутності з класом приналежності обов’язковий додається атрибут, що є первиним ключем сутності з класом приналежності необов’язковий

 

3.Якщо ступінь бінарного зв’язку 1:1 і клас приналежності обох сутностей необов’язковий, то формується три відношення, одне з яких буде виконувати роль зв’язку між сутностями. Його первиний ключ буде складатись з атрибутів, що слугують первиними ключами в двох перших сутностях.

 

4.Якщо ступінь бінарного звязку 1:М або М:1 і клас приналежності М-зв’язаної сутності обов’язковий, то достатньо сформувати два відношення з первиними ключами, взятими у кожної сутності. Крім цього в М-зв’язану сутність додають атрибут, що є первиним ключем 1-зв’язаної сутності, що буде виконувати роль зовнішньогого ключа.

 

5.Якщо ступінь бінарного звязку 1:М або М:1 і клас приналежності М-звязаної сутності необов’язковий, то формується три відношення, одне з яких буде виконувати роль зв’язку між сутностями. Його первиний ключ буде складатись з атрибутів, що слугують первиними ключами в двох перших сутностях.

 

6.Якщо ступінь бінарного зв’язку М:М, то формуються три відношення, одне з яких буде виконувати роль зв’язку між сутностями. Його первиний ключ буде складатись з атрибутів, що слугують первиними ключами у двох перших сутностях.

 

 

На цій мережній моделі показані окремі екземпляри зв'язку z1 -z3 між сутностями Газети і Об'экти реклами.

Наприклад, у Газеті1 рекламуються два об'єкти нерухомості (об'єкт 1 та об'єкт 2), а в газеті Газеті2’ — один об'єкт нерухомості 'об'єкт 2'. Можна помітити, що одна сутність типу Газети може бути зв'язана з однієї або більше сутностями типу Об'экти реклами. Отже цей зв'язок, з погляду сутності Газети, є зв'язком типу "один до багатьох" (1:Б).

Якщо розглянути цей же зв'язок, але із протилежної сторони, то можна помітити, що об'єкт нерухомості з номером 'об'єкт 2' рекламується в газетах Газеті1 та Газеті2. Звідси випливає, що одна сутність типу Об'экти реклами може бути зв'язана з однієї або більше сутностями типу Газети. Тому цей зв'язок, з погляду сутності Об'экти реклами, також є зв'язком "один до багатьох" (1:Б).

Отже, цей зв'язок є зв'язком типу 1:Б як з погляду сутності Газети, так і з погляду сутності Об'экти реклами – його утворюють два зв'язки типу "один до багатьох" (1:Б), що разом утворюють зв'язок типу "багато до багатьох" (Б:Б). Інакше кажучи, показник кардинальности зв'язку дорівнює Б:Б.

 

Лекція 7. Концептуальне проектування. Нормалізація відношень.

Надмірність даних і аномалії відновлення. Аномалії вставки. Аномалії видалення. Аномалії відновлення. Нормалізація і її мета. Функціональні залежності. Визначення функціональної залежності. Процес нормалізації. Перша нормальна форма (1НФ). Друга нормальна форма (2НФ). Повна функціональна залежність. Визначення другої нормальної форми. Третя нормальна форма (ЗНФ). Транзитивна залежність. Визначення третьої нормальної форми. Нормальна форма Бойса-Кодда (НФБК). Визначення нормальної форми Бойса-Кодда. Багатозначна залежність. Четверта нормальна форма (4НФ). П'ята нормальна форма (5НФ

З попередніх лекцій!

При проектуванні реляційної бази даних, основною метою розробки концептуальної моделі даних є створення якомога точного представлення даних та зв'язків між ними з необхідними обмеженнями – іншими словами основна мета полягає в знаходжені такого групування атрибутів у відношеннях, яке б забезпечило мінімальну надмірність даних.

 

Для досягнення цієї мети можна скористатися двома підходами:

- висхідний, знизу в гору (метод ER-моделювання), що починається з виявлення евристичним шляхом (ґрунтується на здобутому досвіді) основних сутностей та зв'язків між ними (асоціацій)..

- спадний,зверху-вниз (метод декомпозиції) – реляційна схема БД отримується не з концептуальної схеми, а безпосередньо шляхом аналізу інформації з використанням емпіричних підходів (ґрунтується на виявлених законах). Подальше вирішення задачі побудови БД полягає в приведені отриманої БД до деякого стандартного вигляду (з точки зору цілістності даних).

 

Для спадного підходу нормалізація є основним інструментом досягнення мети, тоді як для висхідного використовується лише як метод перевірки корректності отриманого рішення.

 

 

5.1. Виникаючі проблеми при використанні універсального відношення.

Універсальне відношення, отримане на першому кроці проектування БД, не може використовуватись як кінцева структура зберігання даних. Причина в наступних проблемах:

Відношення з надмірністю даних можуть страждати від аномалій відновлення, які порушують цілістність даних. Вони поділяються на аномалії вставки, видалення і відновлення даних:

-надмірність даних – повторення даних в базі даних. Проявляється в випадку відхилення від принципу, коли один факт даних зберігається тільки в одному місці БД.

-цілістність даних – під нею розуміють узгодженість(несуперечливість) даних в БД.

аномалії оновлення – суперечливість даних, викликана їх надмірністю і частковим оновленням.

-аномалії видалення – ненавмисна втрата даних, викликана знищенням інших даних.

-аномалії вставки – неможливість вводу даних в таблицю, викликаною відсутністю інших даних.

 

Для проведення отриманого відношення до заданого стану використовують процедуру нормалізації.

 

5.3.Нормалізація.

Процес нормалізації, як етап проектування БД, був уперше запропонований Э. Ф. Коддом (Codd, 1972, б).

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

Його метою є створення набору відношень із заданими властивостями на основі вимог до даних, встановлених у деякій предметній області.

 

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

Першим його кроком є встановлення зв'язків між атрибутами відношення ( виявлення функціональних залежностей ).

У випадку, якщо деяка вимога не задовольняється, то відношення, що порушує дану вимогу, підлягає декомпозиці ї на кілька відношень, кожне з яких задовольняє усім вимогам нормалізації.

У ході нормалізації формат відношень стає усе більш строгим і менш вразливим стосовно аномалій різного виду (відновлення(вставки, видалення і відновлення даних)).

5.3.1.Функціональні залежності. Визначення функціональної залежності.

Теорія нормалізації основана на наявності тої чи іншої залежності між полями таблиці. Визначають два типи такої залежності: функціональна та багатозначна.

Функціональна залежність (functional dependency) описує зв'язок між атрибутами і є одним з основних понять нормалізації. Її ідея полягає в тому, що значення одного атрибуту кортежу однозначно визначає значення іншого атрибуту.

Якщо два кортежі одного відношення R мають однакове значення атрибута А, який функціонально визначає атрибут B, то і атрибут B в цих кортежах також буде мати однакове значення:

Відношення R
A B   Атрибут B функціонально залежить від A: R.А -> R.B
  Сенсорний комутатор ...
  Сенсорний комутатор ....

Розрізняють повну та часткову залежності.

 

5.3.2.Процес нормалізації.

Існує кілька нормальних форм реляційної моделі, що вводять обмеження і дозволяють мінімізувати дублювання даних, забезпечити підтримку цілісності й однократність введення даних.

Ненормалізована форма (ННФ) - таблиця, що містить одну або кілька повторюваних груп даних/

Для перетворення ненормалізованої таблиці в першу нормальну форму (1НФ) у вихідній таблиці(ННФ) необхідно знайти й усунути всі повторювані групи даних.

Реляційна таблиця знаходиться в першій нормальній формі, - якщо значення для кожного її атрибуту є атомарними (простими).




Поделиться с друзьями:


Дата добавления: 2014-10-15; Просмотров: 3111; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.136 сек.