Функциональные (однозначные) F-зависимости. Функциональные зависимости являются обобщением понятия ключа: значения кортежа на одном множестве X атрибутов определяют значения на другом множестве Y атрибутов; X, Y
R; R - схема отношения R. Аксиома вывода - правило: если отношение удовлетворяет некоторым F-зависимостям, то оно должно удовлетворять и другим F-зависимостям.
F1. X = X. Рефлексивность: πX (SX=x (r)) имеет не более одного кортежа. Например, Студент
Студент.
F3. Пополнение: если X
Y, то XZ
Y.
Из X
Y следует (
), что πY (SX=x (R)) имеет не более одного кортежа для любого x
X. Если Z
R, то σXZ=xz (R)
σX=x (R) и πY (σXZ=xz (R))
πY (SX=x (R)) имеет не более одного кортежа.
Следовательно, если Студент
Преподаватель, то Студент Кафедра
Преподаватель. Или из A
B следует AС
B и AD
B, ABC
B, ABD
B, ACD
B, ABCD
B.
F4. Транзитивность: если X
Y, YZ
W, то XZ
W.
Если t1 (X) = t2 (X), то t1 (Y) = t2 (Y) по определению. Если t1 (YZ) = t2 (YZ), то и t1 (W) = t2 (W). Следовательно, из t1 (XZ) = t2 (XZ) имеем t1 (X) = t2 (X) и t1 из=". /Ресурсы/t-1. htm"/> (Z) = t2 (Z), (Y) = t2 (Y), t1 (YZ) = t2 (YZ) и t1 (W) = t2 (W). Иначе, если Студент
Преподаватель, Преподаватель Кафедра
Факультет, то Студент Кафедра
Факультет или из A
B, BC
D следует AC
D.
Что такое аномалии обновления? Какие виды аномалий обновления Вы знаете
Аномалии обновления - Это трудности, с которыми приходится сталкиваться при выполнении операций добавления кортежей в отношении (INSERT), удаления кортежей (DELETE) и модификации кортежей (UPDATE).
иерархическая реляционная целостность ссылка
Практические задания
Задание 1
Даны два отношения А и В. Обоснуйте, что к ним могут быть применены операции объединения, пересечения и разности. Найти отношения:
· A UNION B
· A INTERSECT B
· A MINUS B
· B MINUS A
Таблица 1 - Отношение А
| Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
| Вордов | Билл | Биллович | Козерог | |
| Экселев | Стивен | Стивенович | Скорпион | |
| Пауэрпоинтов | Роджер | Роджерович | Стрелец | |
| Аксессов | Этони | Энтониевч | Скорпион | |
| Фронтпейджев | Юджин | Юджинович | Весы |
Таблица 2 - Отношение В
| Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
| Экселев | Стивен | Стивенович | Скорпион | |
| Пауэрпоинтов | Роджер | Роджерович | Скорпион | |
| Проджектов | Джордж | Джордевич | Скорпион | |
| Паблишеров | Майкл | Майклович | Скорпион | |
| Фронтпейджев | Юджин | Юджинович | Весы |
Таблица 3 - Отношение A UNION B
| Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
| Вордов | Билл | Биллович | Козерог | |
| Экселев | Стивен | Стивенович | Скорпион | |
| Пауэрпоинтов | Роджер | Роджерович | Стрелец | |
| Аксессов | Этони | Энтониевч | Скорпион | |
| Фронтпейджев | Юджин | Юджинович | Весы | |
| Пауэрпоинтов | Роджер | Роджерович | Скорпион | |
| Проджектов | Джордж | Джордевич | Скорпион | |
| Паблишеров | Майкл | Майклович | Скорпион |
Таблица 4 - Отношение A INTERSECT B
| Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
| Экселев | Стивен | Стивенович | Скорпион | |
| Фронтпейджев | Юджин | Юджинович | Весы |
Таблица 5 - Отношение A MINUS B
| Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
| Вордов | Билл | Биллович | Козерог | |
| Пауэрпоинтов | Роджер | Роджерович | Стрелец | |
| Аксессов | Этони | Энтониевч | Скорпион |
Таблица 6 - Отношение B MINUS A
| Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
| Пауэрпоинтов | Роджер | Роджерович | Скорпион | |
| Проджектов | Джордж | Джордевич | Скорпион | |
| Паблишеров | Майкл | Майклович | Скорпион |
Задание 2
Найти существующие функциональные зависимости в отношении и определить их тип.
Таблица 7 - Отношение "Распределение товара"
| № поставщика | Наименование поставщика | Телефон поставщика | № заказчика | Наименование заказчика | Товар | Цена товара |
| Конфи | Магазин № 2 | Торт | ||||
| Конфи | Магазин № 3 | Конфеты | ||||
| Конфи | Магазин № 2 | Конфеты | ||||
| Конфи | Магазин № 2 | Шоколад | ||||
| Данон | Магазин № 2 | Йогурт | ||||
| Данон | Магазин № 3 | Йогурт | ||||
| Макфа | Магазин № 2 | Лапша | ||||
| Россия | Магазин № 2 | Торт | ||||
| Макфа | Магазин № 3 | Лапша |
Полные функциональные зависимости.
№ поставщика ↔ Наименование поставщика
№ поставщика ↔Телефон поставщика
№ заказчика ↔ Наименование заказчика
Частичная зависимость
Товар → Наименование поставщика
Товар → Наименование заказчика
Товар → Цена товара
Задание 3
Определить ключи отношений, указать необходимые для этого ограничения на данные. При необходимости добавить новые атрибуты. Указать также все возможные ключи.
Таблица 8 - Отношение "Распределение врачей"
| ФИО пациента | Адрес пациента | Участок | Дата обращения | Спец-ость врача | Фамилия врача | Диагноз |
| Иванов М.О. | Мира 7-6 | 21.04.03 | терапевт | Кнопкин П.О. | грипп | |
| Иванов М.О. | Мира 7-6 | 25.04.03 | терапевт | Кнопкин П.О. | грипп | |
| Сидоров О.И. | Ленина 70-3 | 02.05.03 | хирург | Зубова П.М. | аппендицит | |
| Иванов М.О. | Мира 7-6 | 12.07.03 | хирург | Зубова П.М. | ранение | |
| Сидоров О.И. | Ленина 70-3 | 13.07.03 | терапевт | Кнопкин П.О. | орз |
Возможные ключи:
· Фамилия врача
· Участок
· ФИО пациента
· Специальность врача
Отношения ключей
· ФИО пациента → Адрес пациента (не должно быть однофамильцев)
· ФИО пациента → Дата обращения (не должно быть однофамильцев)
· Адрес пациента → Участок (не должно быть пациентов из разных городов)
· Специальность врача → Фамилия врача (не должно быть однофамильцев)
Задание 4
Привести отношение к 3 НФ.
Таблица "Косметический кабинет" представляет собой ведомость предоставленных косметических услуг.
Таблица 9 - Отношение "Косметический кабинет"
| Код мастера | ФИО мастера | Категория мастера | Предоставляемые мастером услуги | Стоимость услуги | Код клиента | ФИО клиента |
| Мотов М.Т. | косметолог | макияж | Парова С. С | |||
| Мотов М.Т. | косметолог | маска | Парова С. С | |||
| Мотов М.Т. | косметолог | Лечение кожи | Фазова С.И. | |||
| Ботова Е. З | Парикмахер | прическа | Фазова С.И. |
Возможные ключи частичных функциональных зависимостей.
![]() |
![]() |
Отношение без транзитивных зависимостей
Третья нормальная форма.
| Код мастера | Предоставляемые мастером услуги |
| макияж | |
| маска | |
| Лечение кожи | |
| прическа |
| Предоставляемые мастером услуги | Стоимость услуги |
| макияж | |
| маска | |
| Лечение кожи | |
| прическа |
| Код мастера | ФИО мастера | Категория мастера |
| Мотов М.Т. | косметолог | |
| Мотов М.Т. | косметолог | |
| Мотов М.Т. | косметолог | |
| Ботова Е. З | Парикмахер |
| Предоставляемые мастером услуги | Код клиента | ФИО клиента |
| макияж | Парова С. С | |
| маска | Парова С. С | |
| Лечение кожи | Фазова С.И. | |
| прическа | Фазова С.И. |
Список литературы
1. Ревунков, Г.И. Базы и банки данных и знаний/ Г.И. Ревунков, Э.Н. Самохвалов, М. Чистов. - М.: Высшая школа, 2005. - 392 с.
2. Шаймарданов, Р.Б. Моделирование и автоматизация проектирования структур баз данных / Р.Б. Шаймарданов. - М.: Радио и связь, 2004. - 120 с.
3. Озкархан, Э. Машины баз данных и управление базами данных/ Э. Озкархан. - М.: Мир, 2006. - 695 с
4. Цехановский, В.В., Яковлев А. Автоматизированные банки данных/ В.В. Цехановский., А. Яковлев. - Л.: ЛЭТИ, 2006. - 63с.

