- •Основні поняття
- •Характеристика зв'язків
- •Відділ а Співробітники в
- •Відділ а Дата звільнення в
- •Класифікація сутностей
- •Аналіз предметної області
- •Розробка універсального відношення
- •Розробка er-моделі предметної області
- •Книга має Твір
- •Книга належить Розділ
- •Ієрархічна (деревовидна) структура даних
- •Мережна структура даних
- •Реляційна модель даних
- •Поняття ключа, основні типи ключів
- •Студент-успішність
- •Основні поняття реляційної алгебри. Дії над таблицями.
- •Загальні відомості щодо нормалізації схем бд
- •Перша та друга нормальна форма
- •Третя нормальна форма та нфбк
- •Нормальна форма Бойса-Кодда
- •П'ята нормальна форма та послідовність етапів нормалізації
- •Об'єктно-орієнтовані субд
- •1 Зв'язок об'єктно-орієнтованих субд із загальними поняттями об'єктно-орієнтованого підходу
- •2 Об'єктно-орієнтовані моделі даних (оомд)
- •3 Мови програмування об'єктно-орієнтованих баз даних
- •4 Мови запитів об'єктно-орієнтованих баз даних
- •Мови реляційних баз даних
- •1. Загальна характеристика
- •2. Типова організація сучасної скбд
- •3. Мова foxpro
- •4. Мова sql
- •Загальні підходи
- •Спискові структури
- •Зв'язаний розподіл пам'яті
- •Нелінійні зв'язкові структури
- •Представлення рядкових даних
- •Індексні методи
- •Способи включення записів та організіція індексних файлів
- •Адресні методи
- •Табл 5.1 - Розрахунок адреси
- •Табл 5.2 - Розмiщення даних у пам'ятi
- •Порівняльні параметри
- •Інвертований метод
- •Поняття експертних систем
- •Подання знань в соз
- •Основні моделі знань та їх порівняльні характеристики
- •Представлення знань із використанням логіки предикатів
- •Найпростіші конструкції мови предикатів
- •Предикатні формули
- •Любить (х, у),
- •Визначення правильно побудованої формули
- •Правило резолюції для простих пропозицій
- •S1 (заперечення): ¬ а
- •Чи одержує студент стипендію.
- •S: ¬одержує (студент, стипендію)
- •Порядок розв'язування задачі
- •Семантичні мережі
- •Продукційні моделі
- •Якщо - то (явище - реакція)
- •Подання знань із застосуванням фреймів
- •Стратегії пошуку в соз
- •Нечіткі множини в системах баз знань
- •Визначення I класифiкацiя аіс
- •Автоматизованi БнД
- •Риcунок 1.4 - Схема взаємодiї колективу спецiалiстiв банку
- •Вимоги до БнД
- •Принципи побудови БнД
Загальні відомості щодо нормалізації схем бд
Нормалізація - це розбивка таблиці на дві або більше, які характеризуються кращими властивостями при доповненні, зміні і вилученні даних. Кінцева мета нормалізації зводиться до отримання такого проекту бази даних, у якому кожний факт з'являється лише в одному місці, тобто виключена надлишковість інформації. Це робиться не стільки з метою економії пам'яті, скільки для виключення можливої суперечливості збережених даних [11, 12, 14].
Кожна таблиця в реляційній БД задовольняє умову, у відповідності з якою у позиції на перетині кожного рядка і стовпця таблиці завжди знаходиться єдине атомарне значення і ніколи не може бути множини таких значень. Будь-яка таблиця, що задовольняє цю умову, називається нормалізованою.
Кожній нормальній формі відповідає деякий визначений набір обмежень. Відношення знаходиться в деякій нормальній формі, якщо задовольняється властивий їй набір обмежень.
Кожна нормальна форма є більш обмеженою і більш бажаною, ніж попередня. Це пов'язано з тим, що в (N+1)-ій нормальній формі вилучаються деякі небажані властивості, які характерні N-ій нормальній формі. Теорія нормалізації грунтується на наявності тієї або іншої залежності між полями таблиці.
Основні властивості нормальних форм:
кожна наступна нормальна форма в деякому змісті краща попередньої;
при переході до наступної нормальної форми властивості попередніх нормальних властивостей зберігаються.
Найбільше важливі нормальні форми відношень грунтуються на фундаментальному в теорії реляційних баз даних понятті функціональної залежності.
Визначення 1.Функціональна залежність.
У відношенні R атрибут Y функціонально залежить від атрибута X (X і Y можуть бути складовими) у тому і тільки в тому випадку,якщо кожному значенню X відповідає в точності одне значення Y: X->Y.
Визначення 2. Повна функціональна залежність.
Функціональна залежність X->Y називається повною, якщо атрибут Y не залежить функціонально від будь-якої підмножини X.
Визначення 3.Транзитивна функціональна залежність
Функціональна залежність називається транзитивною, якщо з функціональних залежностей X->Y та Y->Z випливає, що X->Z.
Визначення 4. Неключовий атрибут .
Неключовим атрибутом називається будь-який атрибут відношення, що не входить до складу первинного ключа .
Визначення 5. Взаємно незалежні атрибути .
Два або більше атрибути взаємно незалежні, якщо жодний із цих атрибутів не є функціонально залежним від інших.
Відношення R задано в першій нормальній формі, якщо воно задано у вигляді множини своїх кортежів, які не повторюються.
Відношення R задано в другій нормальній формі, якщо воно, по-перше, є відношенням у першій нормальній формі і, по-друге,] кожний його атрибут, який не є основним атрибутом, функціонально повно залежить від будь-якого можливого ключа цього відношення.
Перша та друга нормальна форма
Нехай задано відношення ФАКУЛЬТЕТ (НАЙМЕНУВАННЯ, ПІБ ДЕКАНА, ТЕЛЕФОН).
Відношення ФАКУЛЬТЕТ задано в другій нормальній формі, тому що у відношенні ФАКУЛЬТЕТ атрибут ТЕЛЕФОН, який не є основним, повністю залежить від будь-якого можливого ключа: НАЙМЕНУВАННЯ, ПІБ ДЕКАНА.
У загальному випадку, якщо всі можливі ключі відношення містять по одному атрибуту, то це відношення задане в другій нормальній формі, тому що в цьому випадку всі атрибути, які не є основними, функціонально повно залежать від можливих ключів. Однак це твердження не завжди справедливе, якщо ключ відношення R є складовим.
Розглянемо відношення: СТУДЕНТ - КУРС_ПРОЕКТ (НОМЕР_ЗАЛІКОВОЇ_КНИЖКИ, КОД_ ПРЕДМЕТУ, ПРІЗВИЩЕ_СТУДЕНТА, НОМЕР_ГРУПИ, ВИКЛАДАЧ, ПРОЦЕНТ_ВИКОНАННЯ).
Припустимо, що в одній групі можуть навчаються однофамільці. Тоді для цього відношення можливий тільки один ключ: НОМЕР_ЗАЛІКОВОЇ КНИЖКИ, КОД_ПРЕДМЕТУ. Виходячи з прийнятого припущення, атрибут ПРІЗВИЩЕ_СТУДЕНТА не входить у ключ. Тоді атрибут НОМЕР_ ЗАЛІКОВОЇ_КНИЖКИ не визначається значенням атрибута ПРІЗВИЩЕ_ СТУДЕНТА, тобто атрибути ПРІЗВИЩЕ_СТУДЕНТА і НОМЕР_ГРУПИ не є основними, але функціонально залежать від основного атрибута НОМЕР_ЗАЛІКОВОЇ_КНИЖКИ, що входить у складовий ключ. Функціональні залежності між атрибутами цього відношення показані на рис. 4.4.
Розщепивши вихідне відношення на два нових у другій нормальній формі, можна усунути надлишковість (рис.4.5). При виконанні цієї операції розбивки на два відношення враховано те, що атрибути, які функціонально залежать від одного основного атрибута разом із ним утворять одне відношення з єдиним ключем НОМЕР_ЗАЛІКОВОЇ_КНИЖКИ, а інші атрибути,
Рисунок 4.4 - Функцiональна залежнiсть
Рисунок 4.5 - Приклад усунення функцiональної залежностi
