Какими свойствами должны обладать декомпозиции при нормализации
Главная / Базы данных /
Базы данных – университетский курс / Тест 8
Упражнение 1:
Номер 1
Какие проблемы устраняются за счет выбора рациональных схем отношений?
Ответ:
 (1) дублирование 
 (2) потенциальная противоречивость 
 (3) потенциальная возможность потери сведений 
 (4) потенциальная возможность не включения информации в базу данных 
 (5) увеличение количества схем отношений 
Номер 2
С чем связано основное дублирование информации в реляционной базе данных?
Ответ:
 (1) с повторением одинаковых строк в одной таблице 
 (2) с повторением одинаковых столбцов в одной таблице 
 (3) с повторением одинаковых значений атрибутов в одной таблице 
 (4) с повторением одинаковых значений атрибута в разных таблицах 
Номер 3
Какие аномалии необходимо устранить при проектировании реляционной базы данных?
Ответ:
 (1) создания 
 (2) удаления 
 (3) обновления 
 (4) включения 
 (5) выключения 
Упражнение 2:
Номер 1
Как осуществляется выбор рациональных схем отношений?
Ответ:
 (1) путем нормализации 
 (2) путем последовательного преобразования отношений к ряду нормальных форм 
 (3) путем объединения схем отношений 
 (4) путем декомпозиции схем отношений 
Номер 2
Что такое нормализация?
Ответ:
 (1) последовательное преобразование отношений к ряду нормальных форм 
 (2) определенное объединение схем отношений 
 (3) определенная декомпозиция схем отношений 
 (4) преобразование отношений с использованием операций реляционной алгебры 
Номер 3
Что такое первая нормальная форма?
Ответ:
 (1) значения всех атрибутов отношения являются простыми 
 (2) значения всех атрибутов отношения являются неделимыми 
 (3) значения всех атрибутов отношения являются атомарными 
 (4) значения всех атрибутов отношения являются кортежами 
 (5) значения некоторых атрибутов отношения являются атомарными 
 (6) значения некоторых атрибутов отношения являются кортежами 
Упражнение 3:
Номер 1
Что такое X функционально определяет Y?
Ответ:
 (1) каждое значение множества X связано с одним значением множества Y 
 (2) если два кортежа совпадают по значениям X, то они совпадают по значениям Y 
 (3) Y является функцией X 
 (4) Y зависит от X 
 (5) каждое значение множества Y связано с одним значением множества X 
 (6) если два кортежа совпадают по значениям Y, то они совпадают по значениям X 
Номер 2
Что характеризуют функциональные зависимости?
Ответ:
 (1) схему отношения 
 (2) все возможные значения отношения 
 (3) все возможные значения строк отношения 
 (4) отношение как переменную 
Номер 3
Как можно использовать функциональные зависимости для защиты логической целостности базы данных?
Ответ:
 (1) как ограничения целостности 
 (2) для проверки выполнения функциональной зависимости при обновлении данных 
 (3) для проверки правильности работы прикладных программ 
 (4) для автоматизированного формирования соответствующих данных 
Упражнение 4:
Номер 1
Что такое декомпозиция схемы отношения?
Ответ:
 (1) замена схемы отношения R = {А1, А2, …, Аn} совокупностью подмножеств R: R1, R2 таких, что R = R1 ∩ R2 
 (2) замена схемы отношения R = {А1, А2, …, Аn} совокупностью подмножеств R: R1, R2 таких, что R = R1 ∪ R2 
 (3) замена схемы отношения R = {А1, А2, …, Аn} совокупностью подмножеств R: R1, R2 таких, что R = R1 × R2 
 (4) замена схемы отношения R = {А1, А2, …, Аn} совокупностью подмножеств R: R1, R2 таких, что R = R1 + R2 
Номер 2
Как формулируется теорема о декомпозиции?
Ответ:
 (1) если R(A, B, C) удовлетворяет зависимости A→B, то R равно соединению проекций R(A, B), R(A, C) 
 (2) если R(A, B, C) удовлетворяет зависимости A→B, то R равно соединению проекций R(A, B), R(B, C) 
 (3) если R(A, B, C) удовлетворяет зависимости A→B, то R равно соединению проекций R(A, C), R(B, C) 
 (4) если R(A, B, C) удовлетворяет зависимости A→B, то R равно соединению проекций R(A, C), R(A, B) 
Номер 3
Какими свойствами должны обладать декомпозиции при нормализации?
Ответ:
 (1) сохранение функциональных зависимостей 
 (2) соединения без потерь 
 (3) разбиение без потерь 
 (4) сохранение ключа 
Упражнение 5:
Номер 1
При каких условиях отношение находится во второй нормальной форме?
Ответ:
 (1) если оно находится в первой нормальной форме и каждый неключевой атрибут зависит от всего первичного ключа 
 (2) если оно находится в первой нормальной форме и каждый неключевой атрибут зависит от части первичного ключа 
 (3) если оно находится в первой нормальной форме и каждый неключевой атрибут не зависит от первичного ключа 
 (4) если оно находится в первой нормальной форме и каждый неключевой атрибут не зависит от части первичного ключа 
Номер 2
Как осуществляется приведение ко второй нормальной форме?
Ответ:
 (1) производится декомпозиция с использованием функциональной зависимости, в которой неключевой атрибут зависит от части первичного ключа 
 (2) сначала схема отношения приводится к первой нормальной форме 
 (3) производится декомпозиция с использованием функциональной зависимости, в которой неключевой атрибут зависит от всего первичного ключа 
 (4) производится декомпозиция с использованием функциональной зависимости, в которой неключевой атрибут зависит от неключевого атрибута 
Номер 3
Какие аномалии устраняются второй нормальной формой?
Ответ:
 (1) удаления 
 (2) избыточность 
 (3) обновления 
 (4) включения 
 (5) никакие 
Упражнение 6:
Номер 1
При каких условиях отношение находится в третьей нормальной форме?
Ответ:
 (1) если оно находится во второй нормальной форме и каждый неключевой атрибут зависит от всего первичного ключа 
 (2) если оно находится во второй нормальной форме и каждый неключевой атрибут нетранзитивно зависит от части первичного ключа 
 (3) если оно находится во второй нормальной форме и каждый неключевой атрибут нетранзитивно зависит от первичного ключа 
 (4) если оно находится во второй нормальной форме и каждый неключевой атрибут не зависит от части первичного ключа 
Номер 2
Как осуществляется приведение к третьей нормальной форме?
Ответ:
 (1) производится декомпозиция с использованием функциональной зависимости, в которой неключевой атрибут зависит от части первичного ключа 
 (2) сначала схема отношения приводится ко второй нормальной форме 
 (3) производится декомпозиция с использованием функциональной зависимости, в которой неключевой атрибут транзитивно зависит от первичного ключа 
 (4) производится декомпозиция с использованием функциональной зависимости, в которой неключевой атрибут нетранзитивно зависит от первичного ключа 
Номер 3
Какие аномалии устраняются третьей нормальной формой?
Ответ:
 (1) удаления 
 (2) избыточность 
 (3) обновления 
 (4) включения 
Упражнение 7:
Номер 1
Анализ функциональных зависимостей следующего отношения
Код студента | Фамилия | Код экзамена | Предмет | Дата | Оценка |
---|---|---|---|---|---|
1 | Сергеев | 1 | Математика | 5.08.03 | 4 |
1 | Иванов | 1 | Математика | 5.08.03 | 5 |
1 | Сергеев | 2 | Физика | 9.08.03 | 5 |
2 | Иванов | 2 | Физика | 9.08.03 | 5 |
Какие из перечисленных зависимостей существуют в этом отношении?
Ответ:
 (1) Предмет → Дата 
 (2) Код экзамена → Дата 
 (3) Код студента → Оценка 
Номер 2
Анализ функциональных зависимостей следующего отношения
Код студента | Фамилия | Код экзамена | Предмет | Дата | Оценка |
---|---|---|---|---|---|
1 | Сергеев | 1 | Математика | 5.08.03 | 4 |
1 | Иванов | 1 | Математика | 5.08.03 | 5 |
1 | Сергеев | 2 | Физика | 9.08.03 | 5 |
2 | Иванов | 2 | Физика | 9.08.03 | 5 |
Каких из перечисленных зависимостей не существует в этом отношении?
Ответ:
 (1) Код студента, Фамилия → Фамилия 
 (2) Предмет → Дата 
 (3) Код экзамена → Дата 
 (4) Код студента → Оценка 
 (5) Код студента, Предмет → Оценка 
Номер 3
Анализ функциональных зависимостей следующего отношения
Код студента | Фамилия | Код экзамена | Предмет | Дата | Оценка |
---|---|---|---|---|---|
1 | Сергеев | 1 | Математика | 5.08.03 | 4 |
2 | Иванов | 1 | Математика | 5.08.03 | 5 |
1 | Сергеев | 2 | Физика | 9.08.03 | 5 |
2 | Иванов | 2 | Физика | 9.08.03 | 5 |
В какой зависимости определен первичный ключ отношения?
Ответ:
 (1) Код студента, Фамилия → Фамилия, Предмет 
 (2) Предмет → Дата 
 (3) Код экзамена → Дата 
 (4) Код студента → Оценка 
 (5) Код студента, Предмет → Дата, Оценка 
Упражнение 8:
Номер 1
Какие требования должны выполняться для поддержки целостности данных в реляционных СУБД?
Ответ:
 (1) уникальность любого кортежа отношения 
 (2) наличие у любого отношения первичного ключа 
 (3) для каждого значения внешнего ключа в ссылающемся отношении должен существовать кортеж с таким же значением первичного ключа в отношении, на которое ссылаются 
 (4) для каждого значения первичного ключа в ссылающемся отношении должен существовать кортеж с таким же значением внешнего ключа в отношении, на которое ссылаются 
Номер 2
В чем состоят ограничения целостности сущности и по ссылкам?
Ответ:
 (1) для каждого значения внешнего ключа в ссылающемся отношении должен существовать кортеж с таким же значением первичного ключа в отношении, на которое ссылаются 
 (2) для каждого значения первичного ключа в ссылающемся отношении должен существовать кортеж с таким же значением внешнего ключа в отношении, на которое ссылаются 
 (3) должны быть экземпляры сущностей 
 (4) экземпляры сущностей должны уникально идентифицироваться 
Номер 3
Какие варианты поддержки ограничений целостности по ссылкам используются в современных СУБД?
Ответ:
 (1) запрещается удалять кортеж, на который существуют ссылки 
 (2) при удалении кортежа, на который существуют ссылки, во всех ссылающихся кортежах значение внешнего ключа заменяется на неопределенное 
 (3) при удалении кортежа, на который существуют ссылки, из ссылающегося отношения удаляются все ссылающиеся кортежи 
 (4) при удалении кортежа, на который существуют ссылки, удаляется ссылающееся отношение 
Источник
8.3. Декомпозиция схемы отношения
Последовательный переход от одной нормальной формы к другой при нормализации схем отношений реализуется через декомпозицию. Основной операцией, с помощью которой осуществляется декомпозиция, является проекция.
Декомпозицией схемы отношения R = {А1, А2, …,Аn} называется замена ее совокупностью подмножеств R, таких, что их объединение дает R. При этом допускается, чтобы подмножества были пересекающимися.
Алгоритм декомпозиции основан на следующей теореме.
Теорема о декомпозиции. Пусть R(A, B, C) – отношение, A, B, C – атрибуты.
Если R удовлетворяет зависимости A->B, то R равно соединению его проекций A, B и A, C
При нормализации необходимо выбирать такие декомпозиции, которые обладают свойством соединения без потерь. В этом случае, декомпозиция должна обеспечить то, что запросы (выборка данных по условию) к исходному отношению и отношениям, получаемым в результате декомпозиции, дадут одинаковый результат. Соответствующее условие будет выполняться, если каждый кортеж отношения R может быть представлен как естественное соединение его проекций на каждое из подмножеств. Для проверки, обладает ли декомпозиция данным свойством, используется специальные алгоритмы, описанные в литературе (в данной книге не рассматриваются).
Вторым важнейшим желательным свойством декомпозиции является свойство сохранения функциональных зависимостей. Стремление к тому, чтобы декомпозиция сохраняла зависимости, естественно. Функциональные зависимости являются некоторыми ограничениями на данные. Если декомпозиция не обладает этим свойством, то для того чтобы проверить, не нарушаются ли при вводе данных условия целостности (функциональные зависимости), нам приходится соединять все проекции.
Таким образом, для правильно построенного проекта базы данных необходимо, чтобы декомпозиции обладали свойством соединения без потерь, и желательно, чтобы они обладали свойством сохранения функциональных зависимостей.
8.4 .Выбор рационального набора схем отношений путем нормализации
Вторая нормальная форма (2НФ)
Отношение находится в 2НФ, если оно находится в 1НФ и каждый неключевой атрибут зависит от всего первичного ключа (не зависит от части ключа).
Для перевода отношения в 2НФ необходимо, используя операцию проекции, разложить его на несколько отношений следующим образом:
- построить проекцию без атрибутов, находящихся в частичной функциональной зависимости от первичного ключа;
- построить проекции на части составного ключа и атрибуты, зависящие от этих частей.
Третья нормальная форма (3НФ)
Отношение находится в 3НФ, если оно находится в 2НФ и каждый ключевой атрибут нетранзитивно зависит от первичного ключа.
Отношение находится в 3НФ в том и только том случае, если все неключевые атрибуты отношения взаимно независимы и полностью зависят от первичного ключа.
Оказывается, что любая схема отношений может быть приведена к 3НФ декомпозицией, обладающей свойствами соединения без потерь и сохраняющей зависимости.
Мотивировка третьей нормальной формы
Третья нормальная форма исключает избыточность и аномалии включения и удаления.
К сожалению, 3НФ не предотвращает все возможные аномалии.
Нормальная форма Бойса-Кодда (НФБК)
Если в R для каждой зависимости X->A, где А не принадлежит X, X включает в себя некоторый ключ, то говорят, что данное отношение находится в нормальной форме Бойса-Кодда.
Детерминантом функциональной зависимости называется минимальная группа атрибутов, от которой зависит некоторый другой атрибут или группа атрибутов, причем эта зависимость нетривиальная.
Отношение находится в НФБК тогда и только тогда, когда каждый его детерминант является потенциальным ключом.
НФБК является более строгой версией 3НФ. Иными словами, любое отношение, находящееся в НФБК, находится в 3НФ. Обратное неверно.
Мотивировка нормальной формы Бойса-Кодда
В нормальной форме Бойса-Кодда не существует избыточности и аномалий включения, удаления и модификации. Оказывается, что любая схема отношения может быть приведена в нормальную форму Бойса-Кодда таким образом, чтобы декомпозиция обладала свойством соединения без потерь. Однако схема отношения может быть неприводимой в НФБК с сохранением зависимостей. В этом случае приходится довольствоваться третьей нормальной формой.
8.5. Пример нормализации до 3НФ
Для улучшения структуры реляционной базы данных (устранения возможных аномалий) необходимо привести все таблицы базы данных к третьей нормальной форме или в более высокой форме (если это возможно). Таким образом, задача сводится к проверке нормализации всех сущностей, отображающихся в таблицы базы данных. Если таблица, получающаяся из некоторой сущности, не является таблицей в третьей нормальной форме, то она должна быть заменена на несколько таблиц, находящихся в третьей нормальной форме.
Продолжим рассмотрение примера с отношением ЭКЗАМЕНАЦИОННАЯ ВЕДОМОСТЬ
В начале этой лекции мы привели отношение к первой нормальной форме.
Код студента | Фамилия | Код экзамена | Предмет | Дата | Оценка |
---|---|---|---|---|---|
1 | Сергеев | 1 | Математика | 5.08.03 | 4 |
2 | Иванов | 1 | Математика | 5.08.03 | 5 |
1 | Сергеев | 2 | Физика | 9.08.03 | 5 |
2 | Иванов | 2 | Физика | 9.08.03 | 5 |
Ключом данного отношения будет совокупность атрибутов – Код студента и Код экзамена.
Для более краткой записи процесса нормализации введем следующие обозначения:
КС – код студента, КЭ – код экзамена, Ф – фамилия, П – предмет, Д – дата, О – оценка.
Выпишем функциональные зависимости
КС, КЭ -> Ф
КС, КЭ -> П
КС, КЭ -> Д
КС, КЭ -> О
КЭ -> П
КЭ -> Д
КС -> Ф
В соответствии с определением, отношение находится во второй нормальной форме (2НФ), если оно находясь в 1НФ и каждый неключевой атрибут зависит от первичного ключа и не зависит от части ключа. Здесь атрибуты П, Д, Ф зависят от части ключа. Чтобы избавиться от этих зависимостей необходимо произвести декомпозицию отношения. Для этого используем теорему о декомпозиции.
Имеем отношение R(КС, Ф, КЭ, П, Д, О). Возьмем зависимость КС -> Ф в соответствии с формулировкой теоремы исходное отношение равно соединению его проекций R1(КС, Ф) и R2(КС, КЭ, П, Д, О).
В отношении R1(КС, Ф) существует функциональная зависимость КС -> Ф, ключ КС – составной, не ключевой атрибут Ф не зависит от части ключа. Это отношение находится в 2НФ. Так как в этом отношении нет транзитивных зависимостей, отношение R(КС, Ф) находится в 3НФ, что и требовалось.
Рассмотрим отношение R2(КС, КЭ, П, Д, О) с составным ключом КС, КЭ. Здесь есть зависимость КЭ -> П, КЭ -> Д, КЭ -> П, Д. Атрибуты П,Д зависят от части ключа, следовательно отношение не находится в 2НФ. В соответствии с теоремой о декомпозиции исходное отношение (используем функциональную зависимость КЭ -> П, Д) равно соединению проекций R3(КЭ, П, Д), R4(КС, КЭ, О). В отношении R3( КЭ, П, Д) существуют функциональные зависимости КЭ -> П, КЭ -> Д, КЭ -> П, Д. Зависимости неключевых атрибутов от части ключа нет, следовательно отношение находится в 2НФ. Транзитивных зависимостей в этом отношении так же нет, следовательно отношение находится в 3НФ.
Таким образом, исходное отношение приведено в к трем отношениям, каждое из которых находится в третьей нормальной форме R1(КС, Ф), R3(КЭ, П, Д), R4(КС, КЭ, О).
Заметим, что в отношении R4 атрибуты КС, КЭ являются внешними ключами, используемыми для установления связей с другими отношениями. Представим полученную модель в виде диаграммы объектов-связей (ER-диаграммы). Для наглядности и возможности последующего программирования перейдем к английским названиям объектов (отношений) и атрибутов.
Отношение R1 представляет объект student с атрибутами id_st (первичный ключ), surname.
Отношение R3 представляет объект exam_st c атрибутами id_ex (первичный ключ), subject, date.
Отношение R4 представляет объект mark_st c атрибутами id_st (внешний ключ), id_ex (внешний ключ), mark. Первичный ключ здесь id_st, id_ex.
Соответствующая ER-диаграмма изображена на
рис.
8.1.
Рис.
8.1.
ER-диаграмма, представляющая рассмотренный фрагмент предметной области
Источник