Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Задачи на зачет

.pdf
Скачиваний:
11
Добавлен:
04.03.2022
Размер:
804.84 Кб
Скачать

является сущностей-связкой двух исходных отношений. Эта сущность будет иметь по одному ключу от каждой сущности.

5.Правила преобразования связей. Степень связи 1:М. КП сущности

на стороне много – обязательный.

Если степень бинарной связи 1:М и КП сущности на стороне Много является обязательным, то ключ отношения сущности на стороне Один добавляется как атрибут в отношение, соответствующее М-связной сущности.

Пример 1: У Докладчика может быть много слушателей, но не может быть слушателя без докладчика Докладчик (Название доклада, Фамилия, Специальность, место проведения)

Слушатель (Регистрационный номер слушателя, Название доклада (FK), ВУЗ/Организация)

Пример 2: У склада может быть много магазинов, но не может быть магазина без склада

Магазин (Номер филиала магазина, Номер склада (FK), количество товаров, назначение магазина)

Склад (Номер склада, количество товаров, категории товаров)

6.Правила преобразования связей. Степень связи 1:М. КП сущности

на стороне много – необязательный.

Если степень бинарной связи 1:М и КП сущности на стороне Много является необязательным, то необходима сущность-связка, причем ключ каждого отношения служит ключом соответствующего отношения и одного отношения для связи. Отношение связка имеет в качестве ключа ключ из отношения на стороне Много и ключ из отношения на стороне Один.

Пример 1: У Докладчика может быть много слушателей, если может быть слушателя без докладчика, то сущность-связка Докладчик (Название доклада, Фамилия, Специальность, место проведения)

Докл_Слуш (Название доклада, регистрационный номер слушателя) Слушатель (Регистрационный номер слушателя, ВУЗ/Организация)

Пример 2: У склада может быть много магазинов, если может быть магазина без склада, то сущность-связка Магазин (Номер филиала магазина, количество товаров, назначение магазина)

Транспорт (Номер филиала магазина, номер склада)

Склад (Номер склада, количество товаров, категории товаров)

7.Правила преобразования связей. Степень связи М:М.

Если степень бинарной связи М:М, то необходима сущность-связка. Также, в этом случае КП даже не рассматривается.

8. Избыточное и не избыточное дублирование. Примеры.

Избыточное дублирование – очень много информации, не читаемо

Примеры:

 

 

 

 

1) Сотрудник

Телефон

Номер_комнаты

 

Петров

223423

123

 

Афанасьев

234673

234

 

Мирская

362736

123

 

 

2) Номер группы Староста

Преподаватель

Студент Номер зачетки

БСТ1904

Назаренко Павлов

Рябчик 1БСТ19023

БСТ 1904

Назаренко Павлов

Жарков 1БСТ19022

БСТ1903

Кружник

Симонов

Пляшкин 1БСТ13822

БСТ 1904

Назаренко Симонов

Мирской 1БСТ17287

Не избыточное дублирование – все по делу, удобно

Примеры:

 

 

 

 

1) Сотрудник

Телефон

 

 

 

Петров

223423

 

 

 

Афанасьев

234673

 

 

 

Мирская

223423

 

 

 

2)Номер группы Преподаватель БСТ1904 Павлов

БСТ1904 Симонов БСТ1903 Мирченко

9. Пример исключения избыточности.

Исключим избыточность в первом примере: Телефон_комнаты:

Телефон Комната

223423 123

234673 234

Сотрудник_комнаты: Сотрудник Комната Петров 123 Афанасьев 234 Мирская 123

Исключим избыточность во втором примере: Студенты:

Группа

Фамилия студента Номер зачетки

БСТ1904

Назаренко

1БСТ189238

БСТ1904

Курчан

1БСТ139238

БСТ1903

Мирный

1БСТ183493

Группы:

Группа Староста: БСТ1904 Назаренко БСТ1903 Кружник

Преподаватели:

 

Преподаватель

Группа

Павлов

БСТ1904

Симонов

БСТ1904

Симонов

БСТ1903

10.Что такое аномалии в БД? Виды. В чем проявляются.

Аномалии – такая ситуация в таблицах БД, которая приведет к противоречиям в БД либо существенно усложнит обработку данных.

Виды:

Модификации (редактирования)

Удаления

Добавления

Модификации: изменение значения одного данного может повлечь за собой просмотр всей таблицы и соответствующее изменение некоторых других записей таблицы Удаления: при удалении какого-либо данного из таблицы может пропасть и

другая информация, которая не связана напрямую с удалением данных. Добавления: информацию в таблицу нельзя поместить до тех пор, пока она не полная, либо вставка новой записи требует дополнительного просмотра таблицы.

ЛК5

1. Функциональные зависимости между атрибутами (частичная, полная, транзитивная). Определение. Примеры.

Дадим определение функциональной зависимости между атрибутами. Атрибут В функционально зависит от атрибута А, если каждому значению атрибута А соответствует в точности одно значение атрибута В. Например, в некотором отношении БД имеется функциональная зависимость атрибута ДОЛЖНОСТЬ от атрибута ФАМИЛИЯ СОТРУДНИКА.

Частичной функциональной зависимостью называется зависимость неключевого атрибута от части составного ключа. Пусть имеется отношение

Номер

Номер поставщика

Наименование

Количество

товара

товара

поставщика

поставляемого товара

 

 

товара

 

 

 

 

 

16

10

ООО Альянс

1000

 

 

 

 

18

20

ООО Визит

1500

 

 

 

 

16

20

ООО Визит

1520

 

 

 

 

17

30

КБ1

1900

 

 

 

 

В данном отношении ключ составной: НОМЕР ТОВАРА+НОМЕР ПОСТАВЩИКА. При этом Наименование поставщика товара зависит только от части ключа – от атрибута Номер поставщика товара.

Функциональные зависимости: СОТРУДНИК(ФИО (А), Должность(В), Оклад(С)) Должность зависит от ФИО Оклад зависит от Должность

Оклад транзитивно зависит от ФИО

Полной функциональной зависимостью атрибута В от атрибута А называется такая зависимость, при которой атрибут атрибут В зависит от атрибута А и не зависит от любого подмножества А. Например, в вышеприведенном отношении атрибут Количество поставляемого товара полностью зависит от всего составного ключа Номер товара+Номер поставщика и не зависит, например, только от Номера товара или от Номера поставщика товара.

Атрибут С зависит от атрибута А транзитивно, если атрибут В зависит от атрибута А и атрибут С зависит от атрибута В, но обратная зависимость отсутствует. Например, в некотором отношении транзитивной зависимостью связаны атрибуты ФИО Должность и Оклад. Т.е. атрибут Должность (В) зависит от атрибута ФИО (А), а атрибут Оклад (С) зависит от атрибута Должность (В). При этом нет обратной зависимости.

2. Отношение находится в 1НФ, если …. Пример нарушения 1НФ. Для приведения отношения в 1НФ необходимо… Пример.

Отношение находится в 1НФ, если на пересечении любой строки и любого столбца отношения всегда находится единственное атомарное значение. Другими словами, значения в домене каждого атрибута отношения не являются ни списками, ни множествами значений.

Отношение Сотрудник = (Таб номер: ФИОсотрудника; Дата рождения; Дети) не находится в 1НФ, так как атрибуты «ФИО сотрудника», «Дата_рождения», «Дети» могут быть сложными:

атрибут «ФИО_сотрудника» содержит три части — фамилию, имя и отчество сотрудника фирмы, поэтому должен быть разбит на три атомарных атрибута, каждый из которых может использоваться самостоятельно;

атрибут «Дата_рождения», как и атрибут «ФИО_сотрудника», не является атомарным, поскольку включает в себя три понятия — «Год», «Месяц» и «День». Однако в БД существуют типы данных — Date и Date Time, которые позволяют выполнять над датами специальные операции, например, <дата_1>

— <дата_2> = <количество_дней_ между_ними>. В связи с этим атрибуты дат в базах данных считаются атомарными;

атрибут «Дети» также является сложным, так как может содержать сведения об имени ребенка и его дату рождения.

Для приведения отношения Сотрудник к 1НФ необходимо декомпозировать его на следующие два отношения:

Сотрудник = Таб номер: Фамилия; Имя; Отчество; Дата_рождения) Дети = Таб номер: Имя ребенка: Дата_рождения_ребенка)

При этом связь между этими отношениями осуществляется через ключевое поле «Таб_номер», тип связи «один к одному».

3. Отношение находится в 2НФ, если… Пример нарушения 2НФ. Для приведения отношения во 2НФ необходимо… Пример.

Отношение находится во 2НФ, если оно находится в 1НФ и каждый неключевой атрибут находится в полной функциональной зависимости от любого возможного ключа этого отношения.

Из этого определения следует, что если все возможные ключи отношения содержат по одному атрибуту (отсутствуют составные ключи), то оно уже находится во 2НФ. Если же ключи составные, то может иметься частичная функциональная зависимость, что приводит к нарушению 2 НФ.

Нарушение 2НФ:

СТУДЕНТЫ (НомСтуд, ФиоСтуд) ПРЕДМЕТЫ (КодПредм, НазвПредм)

ОЦЕНКИ (КодПредм, НомСтуд, Балл, Группа, Спец)

Для приведения отношения во 2НФ необходимо атрибуты, зависимые от части составного первичного ключа, вынести в отдельное отношение вместе с этой частью.

Приведение отношения во 2НФ: УСПЕВАЕМОСТЬ (КодПредм, НомСтуд, Балл) ГРСПЕЦ (НомСтуд, Группа, Спец)

4. Отношение находится в 3НФ, если… Пример нарушения 3НФ. Правило перевода отношения из 2НФ в 3НФ. Пример.

Отношение находится в 3НФ, если оно находится во 2НФ и каждый неключевой атрибут нетранзитивно зависит от каждого возможного ключа. Другими словами, отношение находится в 3НФ, если оно находится во 2НФ и отсутствуют зависимости между неключевыми атрибутами.

Нарушения 3НФ:

КОНСУЛЬТАЦИИ (№Преп, №ЗачКн, Дата, Время, Ауд, Вместимость) (№Преп, №ЗачКн, Дата) → Ауд →Вместимость ГРСПЕЦ (НомСтуд, Группа, Спец)

НомСтуд → Группа → Спец

Для приведения отношения в 3НФ необходимо поместить транзитивнозависимый атрибут в новое отношение вместе с копией того атрибута, от которого он зависит

Пример:

КОНСУЛЬТАЦИИ (№Преп, №ЗачКн, Дата, Время, Ауд, Вместимость) Приведение отношений в 3НФ:

КОНСУЛЬТАЦИИ (№Преп, №ЗачКн, Дата, Время, Ауд)

АУДИТОРИЯ (Ауд, Вместимость)

ГРСПЕЦ (НомСтуд, Группа, Спец)

СТУДГР (НомСтуд, Группа) ГРСПЕЦ (Группа, Спец)

5. Отношение находится в НФ Бойса-Кодда, если…Пример нарушения НФБК. Для приведения отношения в НФБК необходимо…Пример.

Отношение находится в нормальной форме Бойса-Кодда (НФБК) тогда и только тогда, когда детерминанты всех функциональных зависимостей являются потенциальными ключами.

Номер

 

Наименование

Услуга (Услуга)

Количество

телефонного

узла

(Имя)

 

абонентов (Кол)

(Нузла)

 

 

 

 

 

 

 

 

 

10

 

Краснопресненский

Межгород

10000

 

 

 

 

 

20

 

Таганский

Новые

15000

 

 

 

подключения

 

 

 

 

 

 

30

 

Южный

Новые

20000

 

 

 

подключения

 

 

 

 

 

 

10

 

Краснопресненский

Техобслуживание

40000

 

 

 

 

 

В отношении ТелефУзел наблюдается нарушение НФБК: имеются зависимости Нузла Имя и Имя Нузла

детерминанты которых не являются потенциальными ключами.

Для приведения отношения в НФБК необходимо переместить в новое отношение зависимую часть вместе с копией детерминанта Пример:

ПОСТАВКА (№Постав, ИмяПостав, №Товара, КолТовара)

ПОСТАВКА (№Постав, №Товара, КолТовара) ПОСТАВЩИК (№Постав, ИмяПостав)

6. К-сторонние связи (тернарные связи). Пример. Правило построения К- сторонней связи. Пример.

Тернарные связи, или К-сторонние связи, или связи высокого порядка разрешаются похожим образом, как и связи многие-ко-многим. В связи М-М

участвуют только 2 таблицы сущностей, а в многосторонних - более 2-х. Т.е. просто создается промежуточная таблица, содержащая первичные ключи всех сущностей и код признака связи.

Связь отражает факт заключения контракта между киностудией и актером, обязующимся принять участие в съемках конкретного фильма.

Такую связь можно представить в виде множества кортежей, компонентами которых являются сущности из множеств, соединяемых этой связью.

Для представления К-сторонней связи всегда требуется К+1 отношение. Например, в случае трехсторонней связи необходимо использовать четыре отношения, по одному для каждой сущности (причем ключ сущности служит первичным ключом соответствующего отношения), и одно для связи. Отношение, порождаемой для связи, будет иметь среди своих атрибутов ключи от каждой сущности.

Соседние файлы в предмете Реляционные базы данных