Контрольная работа: Информационные системы 6
Невнимание к способам кодирования атрибутов может привести к несоответствию функциональных зависимостей и хранящихся данных, что является серьезной проектной ошибкой.
С помощью функциональных зависимостей определяется понятие ключа отношения, точнее ряд разновидностей ключей - вероятные, первичные и вторичные.
Вероятным ключом отношения называется такое множество атрибутов, что каждое сочетание их значений встречается только в одной строке отношения, и никакое подмножество атрибутов этим свойством не обладает. Вероятных ключей в отношении может быть несколько.
Важность вероятных ключей при обработке данных определяется тем, что выборка по известному значению вероятного ключа дает в результате одну строку отношения либо ни одной.
На практике атрибуты вероятного ключа отношения связываются со свойствами тех объектов и событий, информация о которых хранится в отношении. Если в результате корректировки отношения изменились имена атрибутов, образующих ключ, то это свидетельствует о серьезном искажении информации. Следовательно, систематическая проверка свойств вероятного ключа позволяет следить за достоверностью информации в отношении.
Когда в отношении присутствует несколько вероятных ключей, одновременное слежение за ними очень затруднено и целесообразно выбрать один из них в качестве основного (первичного).
Первичным ключом отношения называется такой вероятный ключ, по значениям которого производится контроль достоверности информации в отношении.
Применительно к экономической информации в подавляющем большинстве случаев отношения, полученные из существующих экономических документов, содержат единственный вероятный ключ, который является и первичным ключом. Это объясняется тем, что содержимое экономических документов понимается всеми пользователями одинаково. Далее будем иметь в виду только такие отношения. Наличие двух и более вероятных ключей в отношениях с осмысленной информацией можно объяснить наличием нескольких возможных способов интерпретации одних и те х же данных. Первичный ключ часто называется просто ключ.
Каждое значение первичного ключа встречается только в одной строке отношения. Значение любого атрибута в этой строке также единственное. Если через К обозначить атрибуты первичного ключа в отношении (А,В,С,...,J), то справедливы следующие функциональные зависимости К -> А, К -> В, К -> С,..., К -> J. Набор атрибутов первичного ключа функционально определяет любой атрибут о> ношения. Обратное также верно: если найдена группа атрибутов, которая функционально определяет все атрибуты отношение по отдельности, и эту группу нельзя сократить, то найден первичный ключ отношения.
Для множества функциональных зависимостей существует ряд закономерностей, которые выражаются теоремами. Знание теорем позволяет из исходного множества функциональных зависимостей получать производные зависимости.
Отметим ряд известных теорем о функциональных зависимостях. Атрибуты, фигурирующие в каждой теореме, должны находиться в одном и том же отношении.
Теорема 1
А,В -* А и А,В -> В.
Доказательство основано на том, что в строке <а,Ь> для атрибутов А и В значение а (как и значение Ь) присутствует один раз.
Теорема 2
А -> В и А ->С тогда и только тогда, когда А -> ВС.
Рассмотрим произвольное значение а атрибута А. Если А ->В и А -* С, то im В(а) и im C(a) содержат по одному элементу. Предположим, что зависимость А -> ВС неверна и ini ВС(а) состоит из 2 иди более элементов. Тогда либо im B(a), либо im C(a) должны содержать более одного элемента. Полученное противоречие доказывает зависимость А -> ВС.
Обратно, если А -> ВС, то imBC(a) содержит один элемент вида <Ь,с> для любого а. Зафиксируем некоторое значение al. Значение b (как и значение с) встречается в сочетании с д! только один раз, следовательно, справедливо А -> В и А ->С.
Теорема 3
Если А ->" В и В ->С, то А -> С.
Предположим, что зависимость А -> С неверна и множество im С(а) содержит более одного элемента. Каждому значению а соответствует единственное значение b (в силу А -> В), поэтому im C(b) содержит более одного элемента. Получилось противоречие с условием В -> С, что и доказывает теорему.
Примечательно, что доказательства остальных теорем опираются на первые 3 теоремы, а не доказываются от противного.
Теорема 4
Если А—» В, то АС -> В (С произвольно).
Доказательство
АС —> А (теорема 1), А -> В (условие), следовательно, АС -> В по теореме 3.
Теорема 5
Если А -> В, то АС -> ВС (С произвольно).
Доказательство