Класу приналежності сутності

На ER-діаграмі 1 клас приналежності обох сутностей необов'язковий.

На ER-діаграмі 2 клас приналежності сутності КЛІЄНТ обов'язковий, а сутності РАХУНОК необов'язковий.

На ER-діаграмі 3 клас приналежності сутності КЛІЄНТ необов'язковий, а сутності РАХУНОК обов'язковий.

На ER-діаграмі 4 клас приналежності обох сутностей обов'язковий.

Припустимо, що в аналізованої предметної області БАНК клас приналежності всіх чотирьох сутностей є обов'язковим. Тоді ER-модель предметної області БАНК матиме вигляд, представлений на малюнку 3.7.

Кожна з чотирьох сутностей наведеної ER-моделі може бути описана своїм набором атрибутів (рис. 3.8).

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

У зв'язку з наочністю подання концептуальних схем баз даних ER-моделі отримали широке поширення в автоматизованому проектування реляційних баз даних.

Малюнок 3.7 - Приклад ER-моделі предметної області БАНК

Примітка. Ключові атрибути виділені жирним шрифтом.

Лекція 4. Нормалізація

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

• склад користувачів бази даних,

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

• забезпечення найменшого обсяг необхідної пам'яті і мінімального часу обробки даних.

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

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

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

• перша нормальна форма (First Normal Form - INF);

• друга нормальна форма (Second Normal Form - 2NF);

• третя нормальна форма (Third Normal Form - 3NF);

• нормальна форма Бойса-Кодда (Brice-Codd Normal Form -

• четверта нормальна форма (Fourth Normal Form - 4NF);

• п'ята нормальна форма, або нормальна форма проекціі-

з'єднання (Fifth Normal Form - 5NF, або PJ / NF).

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

При описі нормальних форм використовуються такі поняття: «функціональна залежність між полями»; «Повна функціональна залежність між полями»; «Багатозначна функціональна залежність між полями»; «Транзитивній функціональна залежність між полями»; «Взаємна незалежність між полями».

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

Повної функціональною залежністю між складовим полем А і полем В називається залежність, при якій поле В залежить функціонально від поля А і не залежить функціонально від будь-якої підмножини поля А.

Багатозначна функціональна залежність між полями визначається наступним чином. Поле А багатозначно визначає поле В, якщо для кожного значення поля А існує «добре певну безліч» відповідних значень поля В. Наприклад, якщо розглядати таблицю успішності учнів в школі, що включає в себе поля «Предмет» (поле А) і «Оцінка» ( поле В), то поле В має «добре певну безліч» допустимих значень: 1, 2, 3, 4, 5, тобто для кожного значення поля «Предмет» існує багатозначне «добре певну безліч» значень поля «Оцінка».

Транзитивная функціональна залежність між полями А і С існує в тому випадку, якщо поле З функціонально залежить від поля В, а поле В функціонально залежить від поля А; при цьому не існує функціональної залежності поля А від поля В.

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

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

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

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

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

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

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

Малюнок 4.3 - Вихідні таблиці заліково-екзаменаційної відомості

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

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

Аналогічно в другій таблиці немає прямого зв'язку між ключовим полем і полем «ПІБ викладача».

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

Склад таблиць зміненої структури бази даних показаний на рис. 4.4.

Малюнок 4.4 - Таблиці заліково-екзаменаційної відомості,