Контрольная работа: Особенности построения базы данных
Министерство образования и науки Российской Федерации
Федеральное агентство по образованию
ГОУ СПО Уральский политехнический колледж
Режевской филиал
Контрольная работа
"Базы данных"
Выполнила:
студент гр. РЖЗ П-505
Сущенко Юлия Владимировна
2010
Оглавление
В чем состоят преимущества и недостатки иерархической модели данных
В чем заключается целостность сущности? Целостность ссылок
Что определяют аксиомы Армстронга? Напишите эти аксиомы и их названия
Что такое аномалии обновления? Какие виды аномалий обновления Вы знаете
Практические задания
Список литературы
В чем состоят преимущества и недостатки иерархической модели данных
Иерархическая модель данных строится по принципу иерархии типов объектов, т.е. один тип объекта является главным, а остальные, находящиеся на низших уровнях иерархии - подчиненными. Между главными и подчиненными типами объектов устанавливаются взаимосвязь "один - ко - многим". Иными словами, для данного главного типа объекта существует несколько подчиненных типов объектов. В то же время для каждого экземпляра главного объекта может быть несколько экземпляров подчиненных типов объектов.
В иерархической БД существует упорядоченность элементов, для которой характерна подчиненность объектов нижнего уровня (потомков) объектам верхнего уровня {предкам), что продемонстрировано на Рис.1. Иерархию образуют, например, папка с файлами, хранимыми на диске, а дерево папок - наглядный пример иерархической структуры БД.
Иерархическая древовидная структура имеет ряд преимуществ всегда удовлетворяет следующим условиям:
На первом уровне может находиться только один узел, называемый корневым. Иерархия неизменно начинается с корневого узла.
Для каждого узла указывают ключевые данные, которые описывают заданный объект.
На низших уровнях могут находиться зависимые узлы. Узел, находящийся на предшествующем уровне, является исходным для новых зависимых узлов. Зависимые узлы могут добавляться как в вертикальном, так и горизонтальном направлении без всяких ограничений.
Каждый узел, находящийся на уровне 2, соединен с одним и только одним узлом на уровне 1. Каждый узел, находящийся на уровне 3, соединен с одним и только одним узлом на уровне 2 и т.д.
Исходный узел может иметь в качестве зависимых один или несколько порожденных узлов. Если узел не имеет ни одного зависимого узла, он не является исходным.
Доступ к каждому узлу, за исключением корневого, происходит через исходный узел. Выборка каждого узла, представленного в иерархии, осуществляется через его исходный узел. Пути доступа к каждому узлу являются уникальными. Поэтому иерархическая модель данных обеспечивает только линейные пути доступа.
Возможно существование любого числа экземпляров узлов каждого уровня. Каждый экземпляр узла (за исключением корневого) соединен с экземпляром исходного узла.
Рисунок 1. Иерархическая модель данных
Преимущества и недостатки иерархической модели данных.
Преимущества:
· простота понимания;
· простота оценки операционных характеристик;
Недостатки:
· отношения М: М могут быть реализованы только искусственно;
· могут быть избыточные данные;
· усложняются операции включения и удаления;
· удаление исходных объектов ведет к удалению порожденных объектов;
· процедурный характер манипулирования данными;
· доступ к любому порожденному узлу возможен только через корневой узел;
· сильная зависимость логической и физической БД;
· сильно ограниченный набор структур запроса.
В чем заключается целостность сущности? Целостность ссылок
В целостной части реляционной модели данных фиксируются два базовых требования целостности, которые должны поддерживаться в любой реляционной СУБД. Первое требование называется требованием целостности сущностей. Объекту или сущности реального мира в реляционных БД соответствуют кортежи отношений. Конкретно требование состоит в том, что любой кортеж любого отношения отличим от любого другого кортежа этого отношения, т.е. другими словами, любое отношение должно обладать первичным ключом. Как мы видели в предыдущем разделе, это требование автоматически удовлетворяется, если в системе не нарушаются базовые свойства отношений.
Второе требование называется требованием целостности по ссылкам и является несколько более сложным. Очевидно, что при соблюдении нормализованности отношений сложные сущности реального мира представляются в реляционной БД в виде нескольких кортежей нескольких отношений. Например, представим, что нам требуется представить в реляционной базе данных сущность ОТДЕЛ с атрибутами ОТД_НОМЕР (номер отдела), ОТД_КОЛ (количество сотрудников) и ОТД_СОТР (набор сотрудников отдела). Для каждого сотрудника нужно хранить СОТР_НОМЕР (номер сотрудника), СОТР_ИМЯ (имя сотрудника) и СОТР_ЗАРП (заработная плата сотрудника). Как мы вскоре увидим, при правильном проектировании соответствующей БД в ней появятся два отношения: ОТДЕЛЫ (ОТД_НОМЕР, ОТД_КОЛ) (первичный ключ - ОТД_НОМЕР) и СОТРУДНИКИ (СОТР_НОМЕР, СОТР_ИМЯ, СОТР_ЗАРП, СОТР_ОТД_НОМ) (первичный ключ - СОТР_НОМЕР).
Как видно, атрибут СОТР_ОТД_НОМ появляется в отношении СОТРУДНИКИ не потому, что номер отдела является собственным свойством сотрудника, а лишь для того, чтобы иметь возможность восстановить при необходимости полную сущность ОТДЕЛ. Значение атрибута СОТР_ОТД_НОМ в любом кортеже отношения СОТРУДНИКИ должно соответствовать значению атрибута ОТД_НОМ в некотором кортеже отношения ОТДЕЛЫ. Атрибут такого рода называется внешним ключом, поскольку его значения однозначно характеризуют сущности, представленные кортежами некоторого другого отношения (т.е. задают значения их первичного ключа). Говорят, что отношение, в котором определен внешний ключ, ссылается на соответствующее отношение, в котором такой же атрибут является первичным ключом.
Требование целостности по ссылкам, или требование внешнего ключа состоит в том, что для каждого значения внешнего ключа, появляющегося в ссылающемся отношении, в отношении, на которое ведет ссылка, должен найтись кортеж с таким же значением первичного ключа, либо значение внешнего ключа должно быть неопределенным (т.е. ни на что не указывать). Для нашего примера это означает, что если для сотрудника указан номер отдела, то этот отдел должен существовать.
Ограничения целостности сущности и по ссылкам должны поддерживаться СУБД. Для соблюдения целостности сущности достаточно гарантировать отсутствие в любом отношении кортежей с одним и тем же значением первичного ключа. С целостностью по ссылкам дела обстоят несколько более сложно.
Понятно, что при обновлении ссылающегося отношения (вставке новых кортежей или модификации значения внешнего ключа в существующих кортежах) достаточно следить за тем, чтобы не появлялись некорректные значения внешнего ключа. Но как быть при удалении кортежа из отношения, на которое ведет ссылка?
Здесь существуют три подхода, каждый из которых поддерживает целостность по ссылкам. Первый подход заключается в том, что запрещается производить удаление кортежа, на который существуют ссылки (т.е. сначала нужно либо удалить ссылающиеся кортежи, либо соответствующим образом изменить значения их внешнего ключа). При втором подходе при удалении кортежа, на который имеются ссылки, во всех ссылающихся кортежах значение внешнего ключа автоматически становится неопределенным. Наконец, третий подход (каскадное удаление) состоит в том, что при удалении кортежа из отношения, на которое ведет ссылка, из ссылающегося отношения автоматически удаляются все ссылающиеся кортежи.
В развитых реляционных СУБД обычно можно выбрать способ поддержания целостности по ссылкам для каждой отдельной ситуации определения внешнего ключа. Конечно, для принятия такого решения необходимо анализировать требования конкретной прикладной области.
Что определяют аксиомы Армстронга? Напишите эти аксиомы и их названияФункциональные (однозначные) F-зависимости. Функциональные зависимости являются обобщением понятия ключа: значения кортежа на одном множестве X атрибутов определяют значения на другом множестве Y атрибутов; X, YR; R - схема отношения R. Аксиома вывода - правило: если отношение удовлетворяет некоторым F-зависимостям, то оно должно удовлетворять и другим F-зависимостям.
F1. X = X. Рефлексивность: πX (SX=x (r)) имеет не более одного кортежа. Например, Студент Студент.
F3. Пополнение: если X Y, то XZ Y.
Из X Y следует (), что πY (SX=x (R)) имеет не более одного кортежа для любого xX. Если 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 - Отношение А
Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
12131 | Вордов | Билл | Биллович | Козерог |
12132 | Экселев | Стивен | Стивенович | Скорпион |
12133 | Пауэрпоинтов | Роджер | Роджерович | Стрелец |
12134 | Аксессов | Этони | Энтониевч | Скорпион |
12135 | Фронтпейджев | Юджин | Юджинович | Весы |
Таблица 2 - Отношение В
Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
12132 | Экселев | Стивен | Стивенович | Скорпион |
12143 | Пауэрпоинтов | Роджер | Роджерович | Скорпион |
12133 | Проджектов | Джордж | Джордевич | Скорпион |
12140 | Паблишеров | Майкл | Майклович | Скорпион |
12135 | Фронтпейджев | Юджин | Юджинович | Весы |
Таблица 3 - Отношение A UNION B
Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
12131 | Вордов | Билл | Биллович | Козерог |
12132 | Экселев | Стивен | Стивенович | Скорпион |
12133 | Пауэрпоинтов | Роджер | Роджерович | Стрелец |
12134 | Аксессов | Этони | Энтониевч | Скорпион |
12135 | Фронтпейджев | Юджин | Юджинович | Весы |
12143 | Пауэрпоинтов | Роджер | Роджерович | Скорпион |
12133 | Проджектов | Джордж | Джордевич | Скорпион |
12140 | Паблишеров | Майкл | Майклович | Скорпион |
Таблица 4 - Отношение A INTERSECT B
Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
12132 | Экселев | Стивен | Стивенович | Скорпион |
12135 | Фронтпейджев | Юджин | Юджинович | Весы |
Таблица 5 - Отношение A MINUS B
Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
12131 | Вордов | Билл | Биллович | Козерог |
12133 | Пауэрпоинтов | Роджер | Роджерович | Стрелец |
12134 | Аксессов | Этони | Энтониевч | Скорпион |
Таблица 6 - Отношение B MINUS A
Таб № | Фамилия | Имя | Отчество | Знак Зодиака |
12143 | Пауэрпоинтов | Роджер | Роджерович | Скорпион |
12133 | Проджектов | Джордж | Джордевич | Скорпион |
12140 | Паблишеров | Майкл | Майклович | Скорпион |
Задание 2
Найти существующие функциональные зависимости в отношении и определить их тип.
Таблица 7 - Отношение "Распределение товара"
№ поставщика | Наименование поставщика | Телефон поставщика | № заказчика | Наименование заказчика | Товар |
Цена товара |
1 | Конфи | 222315 | 2 | Магазин № 2 | Торт | 100 |
1 | Конфи | 222315 | 3 | Магазин № 3 | Конфеты | 50 |
1 | Конфи | 222315 | 2 | Магазин № 2 | Конфеты | 50 |
1 | Конфи | 222315 | 2 | Магазин № 2 | Шоколад | 10 |
2 | Данон | 455819 | 2 | Магазин № 2 | Йогурт | 5 |
2 | Данон | 455819 | 3 | Магазин № 3 | Йогурт | 5 |
4 | Макфа | 528966 | 2 | Магазин № 2 | Лапша | 10 |
3 | Россия | 576991 | 2 | Магазин № 2 | Торт | 150 |
4 | Макфа | 528966 | 3 | Магазин № 3 | Лапша | 10 |
Полные функциональные зависимости.
№ поставщика ↔ Наименование поставщика
№ поставщика ↔Телефон поставщика
№ заказчика ↔ Наименование заказчика
Частичная зависимость
Товар → Наименование поставщика
Товар → Наименование заказчика
Товар → Цена товара
Задание 3
Определить ключи отношений, указать необходимые для этого ограничения на данные. При необходимости добавить новые атрибуты. Указать также все возможные ключи.
Таблица 8 - Отношение "Распределение врачей"
ФИО пациента | Адрес пациента | Участок | Дата обращения | Спец-ость врача | Фамилия врача | Диагноз |
Иванов М.О. | Мира 7-6 | 3 | 21.04.03 | терапевт | Кнопкин П.О. | грипп |
Иванов М.О. | Мира 7-6 | 3 | 25.04.03 | терапевт | Кнопкин П.О. | грипп |
Сидоров О.И. | Ленина 70-3 | 2 | 02.05.03 | хирург | Зубова П.М. | аппендицит |
Иванов М.О. | Мира 7-6 | 3 | 12.07.03 | хирург | Зубова П.М. | ранение |
Сидоров О.И. | Ленина 70-3 | 2 | 13.07.03 | терапевт | Кнопкин П.О. | орз |
Возможные ключи:
· Фамилия врача
· Участок
· ФИО пациента
· Специальность врача
Отношения ключей
· ФИО пациента → Адрес пациента (не должно быть однофамильцев)
· ФИО пациента → Дата обращения (не должно быть однофамильцев)
· Адрес пациента → Участок (не должно быть пациентов из разных городов)
· Специальность врача → Фамилия врача (не должно быть однофамильцев)
Задание 4
Привести отношение к 3 НФ.
Таблица "Косметический кабинет" представляет собой ведомость предоставленных косметических услуг.
Таблица 9 - Отношение "Косметический кабинет"
Код мастера | ФИО мастера | Категория мастера | Предоставляемые мастером услуги | Стоимость услуги | Код клиента | ФИО клиента |
23 | Мотов М.Т. | косметолог | макияж | 200 | 2 | Парова С. С |
23 | Мотов М.Т. | косметолог | маска | 100 | 2 | Парова С. С |
23 | Мотов М.Т. | косметолог | Лечение кожи | 600 | 1 | Фазова С.И. |
44 | Ботова Е. З | Парикмахер | прическа | 300 | 1 | Фазова С.И. |
Возможные ключи частичных функциональных зависимостей.
Отношение без транзитивных зависимостей
Третья нормальная форма.
Код мастера | Предоставляемые мастером услуги |
23 | макияж |
23 | маска |
23 | Лечение кожи |
44 | прическа |
Предоставляемые мастером услуги | Стоимость услуги |
макияж | 200 |
маска | 100 |
Лечение кожи | 600 |
прическа | 300 |
Код мастера | ФИО мастера | Категория мастера |
23 | Мотов М.Т. | косметолог |
23 | Мотов М.Т. | косметолог |
23 | Мотов М.Т. | косметолог |
44 | Ботова Е. З | Парикмахер |
Предоставляемые мастером услуги | Код клиента | ФИО клиента |
макияж | 2 | Парова С. С |
маска | 2 | Парова С. С |
Лечение кожи | 1 | Фазова С.И. |
прическа | 1 | Фазова С.И. |
Список литературы
1. Ревунков, Г.И. Базы и банки данных и знаний/ Г.И. Ревунков, Э.Н. Самохвалов, М. Чистов. - М.: Высшая школа, 2005. - 392 с.
2. Шаймарданов, Р.Б. Моделирование и автоматизация проектирования структур баз данных / Р.Б. Шаймарданов. - М.: Радио и связь, 2004. - 120 с.
3. Озкархан, Э. Машины баз данных и управление базами данных/ Э. Озкархан. - М.: Мир, 2006. - 695 с
4. Цехановский, В.В., Яковлев А. Автоматизированные банки данных/ В.В. Цехановский., А. Яковлев. - Л.: ЛЭТИ, 2006. - 63с.