- •39 Інформаційні системи та субд Історія розвитку
- •Основні функції сучасної субд
- •Моделі даних
- •Ранні підходи до організації бд
- •Принципи концептуального проектування
- •Базові поняття моделі «Сутність-зв'язок»
- •Реляційна модель даних Базові поняття реляційної моделі даних
- •Властивості відношень
- •Реляційна модель даних: три складові
- •Проектування рбд за допомогою концепції функціональних залежностей Поняття функціональної залежності
- •Друга і третя нф. Алгоритм декомпозиції
- •Нормальна форма Бойса-Кодда
- •Багатозначні залежності. Четверта нормальна форма
- •Надлишкові фз. Мінімальне покриття
- •Перетворення концептуальної моделі в реляційну
- •1:*, Кп багатозв'язкової суті є необов'язковим.
- •Перетворення відношень супертип - підтип
- •Приклад проектування рбд на основі концептуальної моделі
- •Лабораторний практикум по проектуванню рбд Лабораторна робота №1
- •Лабораторна робота №2
- •Лабораторна робота № 3
- •Контрольні завдання по проектуванню рбд
Лабораторна робота № 3
Тема: Проектування РБД за допомогою концепції функціональної залежності.
Завдання 3.1. Розглянемо наступну реляційну таблицю Х (заголовкові букви означають імена атрибутів, прописні букви і цифри – значення атрибутів).
X |
|
|
|
|
A |
B |
C |
D |
E |
a1 |
b2 |
c1 |
d3 |
e2 |
a3 |
b2 |
c3 |
d2 |
e4 |
a1 |
b3 |
c1 |
d1 |
e2 |
a2 |
b4 |
c1 |
d4 |
e2 |
Якщо вважати, що поповнення таблиці відбуватися не буде, то які з перерахованих функціональних залежностей виконані для X?
A->C |
B->E |
C->A |
E->B |
E->A |
C->B |
B->D |
B->A |
Завдання 3.2. Розглянемо наступну реляційну таблицю Y(заголовкові букви означають імена атрибутів, прописні букви і цифри – значення атрибутів).
Y |
|
|
|
|
A |
B |
C |
D |
E |
a1 |
b2 |
c1 |
d3 |
e2 |
a2 |
b2 |
c3 |
d3 |
e4 |
a1 |
b3 |
c2 |
d1 |
e2 |
a2 |
b4 |
c5 |
d1 |
e5 |
Якщо вважати, що поповнення таблиці відбуватися не буде, то які з перерахованих функціональних залежностей виконані для Y?
Завдання 3.3. Встановіть відношення між термінами і поясненнями до них.
а |
Нормальна форма Бойса-Кодда |
а |
Всі значення повинні бути атомарними |
b |
Множина можливих первинних ключів |
b |
Мінімальний набір атрибутів однозначно визначаючих будь-який кортеж відношення |
c |
Перша нормальна форма |
c |
Кожний детермінант відношення є первинним ключем цього відношення |
d |
Первинний ключ |
d |
Ніякий ключовий елемент не може залежати від частики первинного ключа |
e |
Кортеж |
e |
Неключовий атрибут функціонально залежить від частини первинного ключа |
f |
Транзитивна залежність |
f |
Множина мінімальних наборів атрибутів, кожний з наборів однозначно визначає всі атрибути відношення, які в нього не входять |
g |
Друга нормальна форма |
g |
Рядок реляційної таблиці |
h |
Функціонально неповна залежність |
h |
Неключовий атрибут функціонально залежить від одного або декількох не ключових атрибутів |
Завдання 3.4. Керівництво супермаркету бажає розробити БД, призначену для зберігання інформації про рахунки покупців. Інформація, що стосується кожного покупця, повинна включати наступне: номер рахунку, прізвище, адресу, номер телефону, кредитоспроможність (висока, середня, низька, слабка). Змалюєте діаграму ФЗ, використовуючи відповідні атрибути і виділяючи зроблені припущення. Отримати для БД стосунки в НФБК.
Завдання 3.5. Створіть реляційну схему, всі таблиці якої мають 4НФ, для наступної інформації компанії по страхуванню життя: В компанії є велика кількість полісів. Для кожного поліса ми хочемо знати ім'я тримача поліса, його адресу і дату народження. Нам також потрібно знати номер поліса, річний відсоток і суму виплат в разі смерті. Крім того, ми хочемо знати номер агента, ім'я і місце мешкання агента, що виписав поліс. Тримач поліса може мати декілька полісів, і один агент може виписати багато полісів.
Завдання 3.6. Для атрибутів відношення R=<A, B, C, D, E> визначені наступні функціональні залежності:
1. A -> <B, C, D, E>;
2. C <-> D.
Привести відношення R до НФБК, вказати атрибути, що забезпечують цілісність БД, яку ми отримали, визначити степені зв’язків (1:1, 1:*, *:*).
Завдання 3.7. Для атрибутів відношення R=<A, B, C, D, E> визначені наступні функціональні залежності:
1. <A, B, C> -> <D, E>;
2. <A, B> <-> E.
Привести відношення R до НФБК, вказати атрибути, що забезпечують цілісність БД, яку ми отримали, визначити степені зв’язків (1:1, 1:*, *:*).
Завдання 3.8. Для атрибутів відношення R=<A, B, C, D, E> визначені наступні функціональні залежності:
1. <A, B, C> -> <D, E>;
2. <B, C> <-> D.
Привести відношення R до НФБК, вказати атрибути, що забезпечують цілісність БД, яку ми отримали, визначити степені зв’язків (1:1, 1:*, *:*).
Завдання 3.9. Для атрибутів відношення R=<A, B, C, D, E> визначені наступні функціональні залежності:
1. <D, E> -> <A, B, C>;
2. <B, C> <-> A.
Привести відношення R до НФБК, вказати атрибути, що забезпечують цілісність БД, яку ми отримали, визначити степені зв’язків (1:1, 1:*, *:*).
Завдання 3.10. Для атрибутів відношення R=<A, B, C, D, E> визначені наступні функціональні залежності:
1. <A, B> -> <C, D, E>;
2. A -> <D, E>;
3. B <-> C.
Привести відношення R до НФБК, вказати атрибути, що забезпечують цілісність БД, яку ми отримали, визначити степені зв’язків (1:1, 1:*, *:*).
Завдання 3.11. У відношенні «Гурман» визначені атрибути:
Б1 – назва страви;
Б2 – категорія страви (напої, м'ясо, холодні закуски і т.д.);
Б3 – калорійність;
Б4 – відпускна ціна;
І1 – назва інгредієнту страви;
І2 – витрати цього інгредієнту на приготування одної порції страви;
Р1 – код рецепту приготування;
Р2 – повний опис рецепту приготування страви.
Визначено множину функціональних залежностей атрибутів відношення «Гурман»:
Б1-> <Б2, Б3>; Р1-> Р2; І1-> І2; <І1, І2>-> <Р1, Р2>; <Б1, Р1, Б3> -> Б4; <І1, Б1> -> Б4.
Побудувати мінімальне покриття. Привести відношення «Гурман» до НФБК. Вказати атрибути, що забезпечують цілісність отриманої БД.