Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Отношение, схема отношения. Формализация отношений
Основным объектом РБД является таблица (отношение), которая представляет собой набор столбцов и строк. При этом каждый столбец таблицы описывает некоторое свойство объекта, а строка содержит набор значений по всем свойствам объекта предметной области. Например, расписание движения поездов, экзаменационная ведомость, сведения о доходах сотрудников и др. Несмотря на разнообразие объектов и наборов их свойств, а, следовательно, и таблиц содержащих данные об этих объектах, все таблицы имеют одну формальную основу (слд. 28 с ЭФ).
СХЕМОЙ таблицы R называется конечное множество атрибутов {A1, A2,..., Аi, ... An}. Каждому имени атрибута Ai ставится в соответствие множество Di, называемое доменом атрибута Ai, для всех 1 £ i £ n. Домен атрибута Ai может обозначаться и как dom(Ai). Имена атрибутов для краткости называют просто атрибутами. Домены являются произвольными непустыми конечными или счетными множествами. Таблица r со схемой R - это конечное множество упорядоченных кортежей {t1, t2, ... tj... tp}. Причем каждый кортеж t r должен удовлетворять ограничению: t(Ai) принадлежит Di, 1 £ i £ n (т.е. значения атрибута Ai во всех кортежах отношения находятся в пределах множества допустимых для данного атрибута значений). Рассмотрим в качестве примера БД из состоящую из одной таблицы " Перевозки" (рис.1). (слд. 29 ) ПЕРЕВОЗКИ
Рис. 1. Отношение (таблица) " Перевозки"
Схемой отношения ПЕРЕВОЗКИ является множество атрибутов характеризующих этот процесс: {Nр, Дата, ПН, Водитель, М_АМ, ГН, Вес, РСТ}, т.е. (слд. 30 с ЭФ) R(«ПЕРЕВОЗКИ») = {Nр, Дата, ПН, Водитель, М_АМ, ГН, Вес, РСТ}. Доменом атрибута " Водитель" является множество водителей работающих на данный момент в организации занимающейся перевозками, т.е. Dom(Водитель)={Ермаков Ф.Г., Иванов С.П., Локтев И.Д., Антонов Р.Т.}. Отношение ПЕРЕВОЗКИ имеет на данный момент семь кортежей. Последовательность атрибутов в таблице не имеет значения, однако, на практике атрибуты всегда указывают в некотором порядке, а кортежи представляют списками значений в том же порядке. Свойство: отношения могут меняться во времени, т.е. кортежи могут добавляться, удаляться или изменяться. Тем не менее, предполагается, что схема отношения ИНВАРИАНТНА во времени. Т.е. строки в таблице «перевозки» могут добавляться, удаляться, могут изменяться значения атрибутов, но набор имен атрибутов не изменяется.
2.2.2. Нормализованные отношения Нормальная форма представляет собой ограничение на схему базы данных. Такое ограничение избавляет БД от некоторых нежелательных свойств. В теории РБД рассматриваются несколько нормальных форм для баз данных. В данном случае будет рассмотрена первая нормальная форма (1НФ). Схема отношения Rj находится в первой нормальной форме, если значения в dom(Ai) являются атомарными для каждого атрибута Ai в Rj (где Rj - j-е отношение БД, т.е. БД содержит несколько таблиц). Другими словами, значения в домене, не являются ни списками, ни множествами простых или сложных чисел. Дать строгое определение понятию атомарности очень сложно, т.к. значения некоторого атрибута в одном случае могут рассматриваться как атомарные, а в другом случае, эти же значения будут неатомарными. Общий принцип - значение атрибута не атомарно, если в приложении оно используется по частям. Пример приведен на рис. 2. (слд. 31 с ЭФ)
СОТРУДНИКИ СОТРУДНИКИ
(а) (б) Рис. 2. Пример ненормализованной (а) и нормализованной (б) таблицы (два варианта отношения СОТРУДНИКИ)
Нормализация отношений позволяет минимизировать дублирование, обеспечить целостность данных и однократность их ввода. Схема БД R находится в первой нормальной форме, если схема каждого отношения Rj находится в 1НФ (для всех 1 £ j £ m, где m - количество отношений в БД). Общее понятие схемы БД будет рассмотрено ниже.
2.2.3. Функциональные зависимости между данными (F-зависимости и их свойства) Другие ограничения на схему БД связаны с таким понятием как функциональные зависимости. Функциональные зависимости определяются для атрибутов, находящихся в одном и том же отношении, удовлетворяющем 1НФ. Функциональная зависимость может охватывать несколько атрибутов, в простейшем случае зависимость связывает два атрибута. В отношении r со схемой R(А, В, …) атрибут А функционально определяет атрибут В, если в любой момент времени каждому значению А соответствует единственное значение В (обозначается А→ В). Иначе говоря В функционально зависит от А т.е. В = f(А) (слд. 32 с ЭФ). В рассматриваемом примере (кнопка ПЕРЕВОЗКИ), между атрибутами «ГН» и «М_АМ» (рис.3),
Рис. 3. существует функциональная зависимость «ГН» → «М_АМ». В тоже время «М_АМ» − /→ «ГН». Наличие функциональных зависимостей порождает понятие КЛЮЧА (слд. 33 с ЭФ). КЛЮЧ отношения r со схемой R является подмножеством атрибутов K из множества атрибутов {A1, A2,... Аi... An} входящих в R. Подмножество K обладает следующим свойством. В отношении r не существует двух различных кортежей t1 и t2, таких, что t1(K) = t2(K). Другими словами, не существует двух строк, имеющих одинаковые значения на всех атрибутах из K. Это можно записать как t1(K)¹ t2(K). Такой ключ называют первичным. Атрибуты, входящие в подмножество K называют ключевыми полями. Чаще всего ключ отношения состоит из одного атрибута (поля). Такой ключ является простым. Когда ключ состоит из нескольких атрибутов, его называют составным. В рассматриваемом примере (кнопка ПЕРЕВОЗКИ), в качестве ключевого можно использовать поле с именем " Nр" (номер рейса). Т.о., достаточно знать значение ключевого поля, чтобы однозначно определить значения всех атрибутов для данного объекта. Следует отметить, что для одной таблицы может быть указано более одного ключа. Одно и то же отношение в различных состояниях может иметь различные ключи. Однако, поскольку схемы таблиц инвариантны во времени, то предпочтительнее, чтобы ключи так же не изменялись во времени. Ключи должны оставаться ключами во всех допустимых состояниях таблицы. Рассмотренный выше пример (рис.3) функциональной зависимости не порождает первичного ключа для таблицы «перевозки». Рейсы №1 и №5 выполнены в разные пункты назначения с разным весом груза. Поэтому f-зависимость «Гос_номер»→ «Марка_АМ» в таблице «перевозки» будет называться неполной. Наличие неполных функциональных зависимостей порождает такие нежелательные свойства БД, как аномалии обновления данных и избыточность данных. Аномалии обновления связаны с тем, что при определенных условиях f-зависимость м.б. нарушена. Избыточность БД будет рассмотрена ниже. Популярное:
|
Последнее изменение этой страницы: 2016-05-28; Просмотров: 768; Нарушение авторского права страницы