Класу приналежності сутності
На 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 - Таблиці заліково-екзаменаційної відомості,