- •39 Інформаційні системи та субд Історія розвитку
- •Основні функції сучасної субд
- •Моделі даних
- •Ранні підходи до організації бд
- •Принципи концептуального проектування
- •Базові поняття моделі «Сутність-зв'язок»
- •Реляційна модель даних Базові поняття реляційної моделі даних
- •Властивості відношень
- •Реляційна модель даних: три складові
- •Проектування рбд за допомогою концепції функціональних залежностей Поняття функціональної залежності
- •Друга і третя нф. Алгоритм декомпозиції
- •Нормальна форма Бойса-Кодда
- •Багатозначні залежності. Четверта нормальна форма
- •Надлишкові фз. Мінімальне покриття
- •Перетворення концептуальної моделі в реляційну
- •1:*, Кп багатозв'язкової суті є необов'язковим.
- •Перетворення відношень супертип - підтип
- •Приклад проектування рбд на основі концептуальної моделі
- •Лабораторний практикум по проектуванню рбд Лабораторна робота №1
- •Лабораторна робота №2
- •Лабораторна робота № 3
- •Контрольні завдання по проектуванню рбд
Перетворення концептуальної моделі в реляційну
Концептуальна модель даних складається із зв'язаної між собою сутності. Основними характеристиками сутності є атрибут і ПК сутності. Зв'язок характеризується мірою і класом приналежності.
Існує алгоритм, по якому концептуальна модель може бути переведена в реляційну, причому гарантована принаймні ЗНФ.
Перетворення сутностей
1. Кожній сутності ставиться у відповідність відношення.
2. Кожен атрибут сутності стає атрибутом відношення, якому приписують типа даних і властивість допустимості/недопустимості для нього значення NULL (не визначений).
3. Первинний ключ сутності стає ПК відношення (PRIMARY KEY). Атрибути, що входять в ПК, набувають властивості обов’язковості (NOT NULL) і унікальності (UNIQUE).
Перетворення зв’язків
Перетворення зв'язку виробляється згідно із значеннями її характеристик.
1:1, КЛАС ПРИНАЛЕЖНОСТІ (КП) ОБОХ СУТНОСТЕЙ ОБОВ'ЯЗКОВИЙ.
Потрібне одне відношення, його первинним ключем може стати ключ будь-який з сутності.
1:1, КП однієї СУТНОСТІ ОБОВ'ЯЗКОВИЙ, ІНШИЙ - НЕОБОВ'ЯЗКОВИЙ.
Потрібно два відношення, поодинці на кожну сутність. Ключ кожної суті стає ПК відповідних стосунків. Крім того, ключ суті, в якої КП необов'язковий, додається як атрибут (FOREING KEY) у відношення, виділене для суті з обов'язковим КП. У відношення, виділене для суті з обов'язковим КП, включаються також атрибути, належні зв'язки (якщо вони є).
1:1, КП ОБОХ СУТІ НЕОБОВ'ЯЗКОВИЙ.
Потрібно три відношення, поодинці на кожну сутність, і відношення зв'язку. Ключ кожної суті стає ПК відповідних стосунків. Відношення зв'язку містить як ключові атрибути (FOREING KEYS) ключі обох суті. У відношення зв'язку включаються також атрибути, належні зв'язки (якщо вони є).
1: *, КП багатозв'язкової СУТІ Є ОБОВ'ЯЗКОВИМ.
Потрібно два відношення, поодинці на кожну суть. Ключ кожної суті стає ПК відповідних стосунків. Крім того, ключ одинзв'язної суті додається як атрибут (FOREING KEY) у відношення, виділене для багатозв'язкової суті. Атрибути зв'язку (якщо вони є) додаються в таблицю для багатозв'язкової суті.
1:*, Кп багатозв'язкової суті є необов'язковим.
Потрібно три відношення, поодинці на кожну суть, і відношення зв'язку. Ключ кожної суті стає ПК відповідних стосунків. Відношення зв'язку містить як ключові атрибути (FOREING KEYS) ключі обох суті. У відношення зв'язку включаються також атрибути, належні зв'язки (якщо вони є).
*:*, КП ОБОХ СУТІ НЕ МАЄ ЗНАЧЕННЯ.
Потрібно три відношення, поодинці на кожну суть, і відношення зв'язку. Ключ кожної суті стає ПК відповідних стосунків. Відношення зв'язку містить як ключові атрибути (FOREING KEYS) ключі обох суті. У відношення зв'язку включаються також атрибути, належні зв'язки (якщо вони є).
ПЕРЕТВОРЕННЯ РЕКУРСИВНИХ ЗВ'ЯЗКІВ.
Відношення, що має рекурсивний зв'язок, як ПК має ключ суті, а також включає цей же ключ суті як неключовий атрибут (FOREING KEY).
Перетворення відношень супертип - підтип
Для віддзеркалення категоризації можливі декілька варіантів. Перерахуємо найбільш характерні.
1. Для всієї суті Супертип-Підтипи заводиться одне відношення, що містить всі атрибути супертипа і всі атрибути всіх підтипів. ПК відношення стає ключ супертипа. Значення атрибутів, що характеризують підтипи, допускають значення NULL.
2. Для супертипа і кожного підтипу заводяться різні стосунки. Відношення супертипа включає одне поле для зв'язку зі всіма стосунками підтипів, яке має бути ПК в кожному із стосунків для підтипів.
3. Для супертипа і кожного підтипу заводяться різні стосунки. Відношення супертипа включає по одному полю зв'язки з кожним із стосунків для підтипів, які мають бути ПК в цих стосунках. Поля зв'язку допускають невизначені значення.