Функциональные (однозначные) 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с.