<< Пред.           стр. 4 (из 8)           След. >>

Список литературы по разделу

 Stdev Стандартное отклонение Находит стандартное отклонение для сгруппированных значений
 Var Дисперсия Вычисляет дисперсию для сгруппированных значений
 First Первое Возвращает первое из сгруппированных значений
 Last Последнее Возвращает последнее из сгруппированных значений
 
 Примеры
 
 SELECT SUM ([Цена]* [Количество]) AS [Общая стоимость]
 FROM [Заказы]
 WHERE [Город] = Санкт-Петербург;
 
 В этом примере функция служит для вычисления общей стоимости всех заказов по Санкт-Петербургу из таблицы заказов. В качестве аргумента используется произведение значений полей цены и количества.
 
 SELECT AVG([Цена])
 FROM [Заказы]
 WHERE [Цена] > 1000000;
 
 В этом примере среднее значение вычисляется как сумма всех значений, деленная на их количество.
 
 SELECT MIN ([Цена])
 FROM [Заказы]
 WHERE [Город] = Санкт-Петербург;
 
 В этом запросе определяется минимальная цена заказов по Санкт-Петербургу.
 
 § 2.1.4. Нормализация отношений
 
 Основной задачей проектировщика базы данных является определение количества отношений и их атрибутного состава. Рациональные варианты должны учитывать следующие требования:
 множество отношений должно обеспечивать минимальную избыточность представления информации;
 корректировка отношений не должна приводить к двусмысленности или потере информации;
 перестройка набора отношений при добавлении в базу данных новых атрибутов должна быть минимальной.
 Одним из наиболее изученных способов преобразования отношений является нормализация отношений, т.е. декомпозиция отношения, находящегося в предыдущей нормальной форме в два и более отношений, удовлетворяющих требованиям следующей нормальной формы.
 В теории реляционной БД обычно выделяются следующая последовательность нормальных форм:
 первая нормальная форма (1НФ);
 вторая нормальная форма (2НФ);
 третья нормальная форма (3НФ);
 нормальная форма Бойса-Кодда (НФБК);
 четвертая нормальная форма (4НФ);
 пятая нормальная форма, или нормальная форма проекции соединения (5НФ или НФПС).
 Каждая нормальная форма более высокого порядка является более выгодной с точки зрения реляционных БД, чем предыдущая. При этом необходимо заметить тот факт, что если некоторая БД находится во 2НФ, то не исключено, что ее часть уже находится в 3НФ, внутри которой может находиться часть в НФБК и т.д.
 Основные свойства нормальных форм:
 каждая следующая нормальная форма в некотором смысле лучше предыдущей;
 при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.
 Каждой нормальной форме соответствует некоторый набор ограничений. Отношение, находящееся в некоторой нормальной форме должно удовлетворять свойственному этой форме набору ограничений. Требования 1НФ являются базовыми в классической реляционной модели данных.
 Отношение будет находиться в первой нормальной форме при условии, что содержит только логически неделимые значения. Такие значения называются скалярными. Отношение в первой нормальной форме – это обычное отношение с двухуровневой структурой. Отношение в 1НФ обладает избыточностью информации.
 
 Функциональные зависимости и ключи
 
 Функциональные зависимости определяются для атрибутов, находящихся в одном и том же отношении, удовлетворяющем первой нормальной форме.
 В отношении Т(А,В) атрибут А функционально определяет атрибут В, если в любой момент времени каждому значению А соответствует единственное значение В. Обозначается А ? В. Отсутствие функциональной зависимости обозначается А ?/? В
 Рассмотрим пример с атрибутами ФИО и Адрес.
 
 
 Т
 ФИО Адрес
 Иванов И.И. Некрасова, 96-15
 Иванова А.А. Некрасова, 96-15
 Петров Н.Н. Океанский пр., 102-43
 
 Можно утверждать о наличии функциональной зависимости ФИО ? Адрес, так как каждому значению атрибута ФИО соответствует единственное значение атрибута Адрес, т.е. каждому человеку соответствует свой адрес. В тоже время нельзя утверждать, что каждому адресу соответствует только один человек.
 Одновременное соблюдение двух зависимостей вида А ? В и В ? А называется взаимно-однозначным соответствием и обозначается А ? В.
 В качестве примера можно рассмотреть отношение Т2 .
 
 
 Т2
 Предприятие Расчетный счет
 ОАО «Зенит» 123069798
 Завод «Спектр» 456274895
 Магазин «Заря» 572947589
 ЧП «ИвановА.К.» 4867205968
 Можно утверждать, что у каждого предприятия единственный номер расчетного счета, и каждый расчетный счет принадлежит единственному предприятию. Это доказывает справедливость функциональных зависимостей Магазин -> Расч и Расч -> Магазин, т.е. Магазин <-> Расч.
 Наконец, самыми распространенными являются случаи отсутствия функциональных зависимостей, например,
 ФИО -/-> Дисциплина и Дисциплина -/-> ФИО
 в отношении, описывающем экзамены студентов. Здесь каждый студент сдает экзамены по нескольким дисциплинам, и по каждой дисциплине экзамен сдается многими студентами.
 Таким образом, для атрибутов А и В некоторого отношения возможны следующие ситуации:
 • отсутствие функциональной зависимости,
 • наличие функциональных зависимостей А -> В (или В -> А), но не обе зависимости вместе,
 • наличие взаимно-однозначного соответствия А<->В.
 Существуют функциональные зависимости между тремя и более атрибутами. Группа атрибутов - А, В, С - функционально определяет атрибут D в отношении T(A, B, C, D,....), если каждому сочетанию значений <а, b, с> соответствует единственное значение d (а - значение A, b - значение В, с - значение С, d - значение D). Наличие такой функциональной зависимости будем обозначать А,В,С -> D.
 Функциональные зависимости позволяют определить такие важные понятия как ключи отношения – вероятные, первичные, вторичные. Вероятный ключ отношения – это такое множество атрибутов, в котором каждое сочетание их значений встречается только в одной строке отношения, и никакое другое подмножество атрибутов этим свойством не обладает. В отношении может быть несколько вероятных ключей.
 Важность вероятных ключей при обработке данных определяется тем, что выборка по известному значению вероятного ключа дает в результате одну строку отношения либо ни одной. На практике атрибуты вероятного ключа отношения связываются со свойствами тех объектов и событий, информация о которых хранится в отношении. Если в результате корректировки отношения изменились имена атрибутов, образующих ключ, то это свидетельствует о серьезном искажении информации. Следовательно, систематическая проверка свойств вероятного ключа позволяет следить за достоверностью информации в отношении.
 Если в отношении присутствует несколько вероятных ключей, то очень трудно одновременно следить за ними и обычно выбирают один из них в качестве основного (первичного).
 Первичным ключом отношения называется такой вероятный ключ, по значениям которого производится контроль достоверности информации в отношении. Как правило, экономические документы имеют один первичный ключ. Первичный ключ часто называется просто ключ.
 Нахождение первичного ключа затрудняется большим количеством информации и неизвестностью сразу всех отношений, поэтому первичный ключ отношения определяется по известным функциональным зависимостям.
 Каждое значение первичного ключа встречается только в одной строке отношения. Значение любого атрибута в этой строке также единственное. Если через К обозначить атрибуты первичного ключа в отношении F(A,B,C,..., I), то справедливы следующие функциональные зависимости К-> А, К-> В, К-> С,... ,
 К -> I. Набор атрибутов первичного ключа функционально определяет любой атрибут отношения. Обратное также верно: если найдена группа атрибутов, которая функционально определяет все атрибуты отношения по отдельности, и эту группу нельзя сократить, то найден первичный ключ отношения.
 Функциональные зависимости могут быть выражены с помощью ряда теорем. Эти теоремы позволяют получать новые зависимости из исходного множества зависимостей. Приведем шесть теорем, хотя на их основе могут быть получены и другие теоремы.
 Теорема 1
  А,В -> А и А,В -> В.
 Доказательство основано на том, что в строке <а, b> для атрибутов А и В значение а (как и значение b) присутствует один раз.
 
 Теорема 2
 А -> В и А -> С тогда и только тогда, когда А -> ВС.
 Для доказательства рассмотрим произвольное значение а атрибута А. Если А-> В иА-> С, то im В(а) и im С(а) содержат по одному элементу. Предположим, что зависимость А -> ВС неверна и im ВС(а) состоит из двух или более элементов. Тогда либо im В(а), либо im С(а) должны содержать более одного элемента. Полученное противоречие доказывает зависимость А -> ВС.
 
 Теорема 3
 Если А - > В и В - > С, то А - > С
 Теорема доказывается от противного.
 
 Теорема 4
 Если А- > В, то АС - > В (С – произвольно)
 Доказательство основано на теореме 1 и 3.
 
 Теорема 5
 Если А - > В, то АС - > ВС (С – произвольно).
 Доказательство основано на теоремах 4, 1, 2.
 Теорема 6
  Если А -> В и ВС - > D, то АС -> D.
 Доказательство основано на теоремах 5 и 3.
 Для некоторого множества функциональных зависимостей F введем множество F~, называемое покрытием. Покрытие F~ содержит все функциональные зависимости, которые можно получить из множества F в результате применения теорем 1- 6 (включая и содержимое F). Одно и то же покрытие F~ может быть получено из различных множеств функциональных зависимостей. Среди таких множеств выделим множество с минимальным числом зависимостей и назовем его минимальным покрытием (базисом) множества зависимостей F. Иначе можно сказать, что минимальным покрытием называется множество функциональных зависимостей, из которого удалены все зависимости, являющиеся следствиями оставшихся зависимостей и теорем 1 - 6.
 
 Вторая и третья нормальные формы отношений
 Отношение имеет вторую нормальную форму (2НФ), если оно соответствует 1НФ и не содержит неполных функциональных зависимостей. Неполная функциональная зависимость - это две зависимости:
 • вероятный ключ отношения функционально определяет некоторый неключевой атрибут,
 • часть вероятного ключа функционально определяет этот же неключевой атрибут.
 Например:
 Имеется отношение:
 
 
 Т
 Наименование института Мероприятие Выделено (тыс.руб.) Потрачено (тыс. руб.)
 Институт менеджмента и бизнеса Конференция 100 95
 Институт математики и компьютерных наук Встреча выпускников с работодателями 15 15
 Институт международных отношений Конференция 100 90
 Институт менеджмента и бизнеса Встреча с работодателями 15 12
 Институт математики и компьютерных наук Конференция 100 100
 
 Функциональные зависимости отношения Т:
 
 Институт, Мероприятие ? Потрачено
 Мероприятие ? Выделено
 Организация, мероприятие ? Выделено
 Организация, мероприятие ? Организация
 Организация, Мероприятие ? Мероприятие
 
 Зависимости (2) и (3) вместе образуют неполную функциональную зависимость, так как вероятным ключом отношения Т являются атрибуты Организация и Мероприятие. Отношение Т находится в первой нормальной форме. Избыточность показана тем, что на одинаковые мероприятия выделено одинаковое количество денег, и эта информация постоянно повторяется. Устранение указанной избыточности выполняется путем создания двух отношений:
 
 Т1 = Т[Институт, Мероприятие, Потрачено],
 Т2 = Т[Мероприятие, Выделено].
 
 
 
 Т1 Т2
 Наименование института Мероприятие Потрачено (тыс.руб.) Мероприятие Выделено (тыс.руб.)
 Институт менеджмента и бизнеса Конференция 95 Конференция 100
 Институт математики и компьютерных наук Конференция 100 Встреча выпускников с работодате-лями 15
 Институт международных отношений Конференция 90
 Институт менеджмента и бизнеса Встреча выпускников с работодателями 12
 Институт математики и компьютерных наук Встреча выпускников с работодателями 15
 
 Отношение соответствует третьей нормальной форме (3НФ), если оно соответствует 2НФ и среди его атрибутов отсутствуют транзитивные функциональные зависимости. Транзитивная функциональная зависимость – это две зависимости:
 вероятный ключ отношения функционально определяет неключевой атрибут,
 этот неключевой атрибут функционально определяет другой неключевой атрибут.
 Например, имеется отношение Т3:
 
 
 Т3
 Название предмета ФИО преподавателя Кафедра
 ТОИСИТ Петров П.Г. ИСЭ
 ТСиСА Петров П.Г. ИСЭ
 Информатика Иванова И.М. ИСЭ
 ТЭИС Иванова И.М. ИСЭ
 
 Функциональные зависимости отношения:
 Предмет ? Преподаватель
 Преподаватель ? Кафедра
 Предмет ? Кафедра.
 Так как ключевым атрибутом является Предмет, то на основании приведенных функциональных зависимостей можно сделать вывод, что отношение находится во второй нормальной форме, и в нем присутствуют транзитивные функциональные зависимости. Преобразуем отношение Т3 в отношения Т4 и Т5.
 Т4 = Т3[Предмет, Преподаватель],
 Т5 = Т3[Преподаватель, Кафедра].
 Отношения T4, T5 получились двухатрибутными, поэтому нарушение требований ЗНФ в них невозможно.
 База данных находится в ЗНФ, если все ее отношения находятся в ЗНФ.
 Приведенные примеры показывают, что отношения, в которых соблюдается одна ФЗ либо ни одной, будут соответствовать условиям 2НФ и ЗНФ, так как неполная и транзитивная ФЗ представляют собой две зависимости. На этом принципе основан алгоритм получения отношений в ЗНФ.
 Исходными данными для алгоритма служит некоторый список атрибутов, охватывающий одно отношение, базу данных или ее часть.
 Алгоритм получения отношений в ЗНФ обладает следую­щими свойствами:
 сохраняет все первоначальные функциональные зависимости, т.е. зависимость, справедливая в R, справедлива и в одном из производных отношений. Это гарантирует получение осмысленных отношений с легко интерпрети­руемой структурой,
 обеспечивает соединение без потерь, т.е. значения исходного отношения R могут быть восстановлены из проекций отношения R с помощью операции соединения,
 результат декомпозиции в ЗНФ обычно содержит меньше значений атрибутов, чем исходное отношение R (происходит уменьшение избыточности).
 Алгоритм нормализации (к ЗНФ)
 1. Получить исходное множество функциональных зависимостей для атрибутов рассматриваемой БД.
 Если исходные функциональные зависимости не удается определить путем анализа смысловых характеристик атрибутов, приходится использовать перечисление и отбраковку допустимых вариантов функциональных зависимостей.
 Рассматриваются все сочетания по два атрибута, и в каж­дом случае доказывается или отвергается функциональная зависимость. Затем рассматриваются сочетания:
 • по три атрибута, где первые два могут функционально определять третий,
 • по четыре атрибута, где первые три могут функционально определять четвертый и т.д.
 Применение теорем о функциональных зависимостях по­зволяет сократить количество рассматриваемых вариантов. Практически перечисление вариантов заканчивается, когда сочетания атрибутов станут содержать первичный ключ.
 2. Получить минимальное покрытие множества функциональных зависимостей. В минимальном покрытии должны отсутствовать зависимости, которые являются следствием остав­шихся зависимостей по теоремам 1-6. В частности, требуется объединить функциональные зависимости с одинаковой левой частью в одну зависимость. Обозначим полученное минималь­ное покрытие функциональных зависимостей через
 F={fl,...,fi,...,fk}.
 3. .Определить первичный ключ отношения.
 4. Для каждой функциональной зависимости fk создать проекцию исходного отношения Ri = R(Xi], где Xi - объединение атрибутов из левой и правой частей fi.
 5. Если первичный ключ исходного отношения не вошел полностью ни в одну проекцию, то создать отдельное отношение из атрибутов ключа.
 Вычислительная сложность каждого этапа приведения отношений к ЗНФ различна, но наиболее длительным является получение исходного списка функциональных зависимостей. Количество проверяемых ФЗ является экспоненциальной функцией от количества рассматриваемых атрибутов.
 Хотя на основе функциональных зависимостей можно установить более сильную нормальную форму Бойса-Кодда (БКНФ), практически она применяется редко. Во-первых, база данных в БКНФ не всегда существует, во-вторых, ее отличие от ЗНФ обычно связано с наличием нескольких ключей в отношении, что в экономических приложениях встречается исключительно редко.
 
 § 2.1.5. Ациклические базы данных
 Ряд ограничений в предметной области и БД не может быть описан с помощью функциональных зависимостей, что приводит к необходимости рассмотрения новых типов зависимостей - многозначных и взаимных.
 В отношении R(A, B ,C) существует многозначная зависимость (МЗ)
 А -> -> В, если для любого а, являющегося значением атрибута А im(BC)a = im(B)a ° im(C)a, где ° - знак декартова произведения множеств.
 Положение атрибутов В и С равноценно, поэтому одновременно справедливо А -> -> С, т.е. многозначные зависимости всегда встречаются парами.
 Отношение R(A,B,C) с многозначной зависимостью А -> -> В содержит избыточную информацию, хотя и несколько другого рода, чем отношение в 1НФ.
 Специальный класс реляционных баз данных, для которых характерна однозначная декомпозиция на основе многозначных зависимостей, называется ациклическими базами данных.
 Для определения понятия ациклической схемы БД введем граф соединений на множестве отношений {Sl,S2,...,Sk). Вершинами графа соединений являются имена существующих отношений SI, S2,...,Sk. Дуга графа существует, если в структуре отношений Si и Sj имеются общие атрибуты. Обозначим их для определенности через A(i,j) и назовем весом дуги. Путь на графе соединений называется А-путем, если атрибут А содержится в структуре каждого отношения, лежащего на пути. В графе соединений требуется, чтобы для каждой пары отношений Si, Sj с общим атрибутом A(ij) существовал A(ij)- путь между Si и Sj.
 Если граф можно превратить в дерево с помощью исключения некоторых дуг при сохранении названного требования, то база данных с отношениями {Sl,S2,...,Sk} является ациклической.
 Например, база данных, представленная на рис. 7 является циклической.
 
 
 
 
 
 
 
 
 Рис. 7. Циклическая база данных
 Существует простой алгоритм проверки базы данных на ацикличность. Он состоит из двух шагов:
 1 шаг. Если некоторый атрибут встречается только в одном отношении, вычеркнуть данный атрибут из этого отношения.
 2 шаг. Если все атрибуты некоторого отношения находятся среди атрибутов другого отношения, то первое отношение вычеркивается из списка.
 Шаги применяются в любой последовательности. Если в результате будут вычеркнуты все отношения, то БД является ациклической. В противном случае – база данных циклическая.
 Восстановление свойств ацикличности БД может быть произведено двумя способами.
 1. Добавление в БД нового отношения с атрибутами, равными объединению весов дуг, образующих цикл. В этом случае придется допустить существование неопределенных значений в новом отношении.
 2. Добавление новых атрибутов, переименование и разделение атрибутов. Такое решение не требует дополнительных соглашений при интерпретации запросов и не создает дополнительные неопределенные значения.
 Например, атрибут Кафедра может быть разделен на два атрибута – Кафедра преподавателя и Выпускающая кафедра.
 Критерии, которым соответствует база данных в ЗНФ, и ациклическая БД, безусловно, не совпадают. В первую очередь ациклическая БД не гарантирует минимальную избыточность представления информации. Гарантии единственного пути доступа в ациклической БД, вероятно, следует признать более существенными для пользователей-непрофессионалов. Надо также учитывать элементарность метода проверки ацикличности БД в сравнении с необходимостью формального анализа функциональных зависимостей, требуемых при создании БД в ЗНФ.
 
 
 § 2.2. Сетевая и иерархическая модели данных
 
 § 2.2.1. Основные понятия сетевой модели данных
 
 Информационными конструкциями в сетевой модели данных являются отношения и веерные отношения. Понятие "отношения" уже рассматривалось применительно к реляционной модели данных и будет использоваться здесь без изменений, хотя в некоторых сетевых СУБД допускаются отношения с многоуровневой (три и более) структурой.
 Сетевая БД представляется как множество отношений и веерных отношений. Отношения разделяются на основные и зависимые.
 Веерным отношением W(R,S) называется пара отношений, состоящая из одного основного R, одного зависимого отношения S и связи между ними при условии, что каждое значение зависимого отношения связано с единственным значением основного отношения.
 Названное условие является ограничением, характерным для сетевой модели данных в целом. Способ реализации этого ограничения в памяти ЭВМ неодинаков у различных сетевых СУБД.
 Допустимые в сетевой модели данных операции представляют собой различные варианты выборки.
 Сетевые базы данных в зависимости от ограничений на вхождение отношений в веерные отношения разделяются на многоуровневые сети и двухуровневые сети.
 Ограничение двухуровневых сетей состоит в том, что каждое отношение может существовать в одной из перечисленных ниже ролей:
 • вне каких-либо веерных отношении,
 • в качестве основного отношения в любом количестве веерных отношений,
 • в качестве зависимого отношения в любом количестве веерных отношений.
 Запрещается существование отношения в качестве основного в одном контексте и одновременно в качестве зависимого в другом контексте.
 Многоуровневые сети не предусматривают никаких ограничений на взаимосвязь веерных отношений, в некоторых сетевых СУБД разрешены даже циклические структуры сети.
 Среди существующих в настоящее время сетевых СУБД наиболее распространены системы, поддерживающие двухуровневую сеть. Операция связывания отношений в реляционных СУБД также приводит к двухуровневым системам отношений. Двухуровневые сети обладают свойством ацикличности, о котором будет сказано ниже, и по этой причине очень часто применяются разработчиками ЭИС и прикладными программистами.
 Для двухуровневых сетевых СУБД вводятся еще два ограничения (с теоретической точки зрения необязательные):
 • первичный ключ основного отношения может быть только одноатрибутным,
 • веерное отношение существует, если первичный ключ основного отношения является частью первичного ключа зависимого отношения.
 
 § 2.2.2. Организация веерного отношения в памяти ЭВМ
 
 В структуру основного и зависимого отношений вводится дополнительный атрибут, называемый адресом связи. Значения адресов связи совместно обеспечивают в веерном отношении соответствие каждого значения зависимого отношения S с единственным значением основного отношения R.
 Значение отношения при хранении в памяти ЭВМ часто называется записью. Адресом связи называется атрибут в составе записи, в котором хранится начальный адрес или номер следующей обрабатываемой записи.
 Связь значений зависимого отношения с единственным значением основного отношения в простейшем случае обеспечивается следующим образом. Адрес связи некоторой записи основного отношения указывает на одну из записей зависимого отношения (значением адреса связи основного отношения является начальный адрес этой записи зависимого отношения), адрес связи указанной записи зависимого отношения - на следующую запись зависимого отношения, связанную с той же записью основного отношения и т.д. Последняя запись зависимого отношения в этой цепочке адресует названную выше запись основного отношения.
 Получается кольцевая структура адресов связи, называемая веером, где роль "ручки" веера играет запись основного отношения. На графических иллюстрациях адрес связи изображается стрелкой, направленной от адреса связи данной записи к той записи, чей начальный адрес (номер) служит значением этого адреса связи. На рис. 8 показаны структуры и значения веерных отношений двух простых сетевых двухуровневых БД. Атрибуты первичного ключа во всех случаях помечены #.
 
 
 
 Группа(код#, Число студентов) Основное отношение
 
 Студент (Номер_зач#, Фамилия) Зависимое отношение
 
 
 
 Значения основного отношения Группа
 
 
 1311А 1311Б
 
 
 
 1301 1302 1303 1335 1336
 
 Значения зависимого отношения Студент
 
 Рис. 8. Структуры и значения веерных отношений
 
 Схема сетевой БД содержит следующие компоненты:
 
 S(net) = <А,R,WW,Dom,Rе1,Net,V(s)>,
 
 где WW - множество веерных отношений,
 Net - вхождение отношений в веерные отношения.
 Остальные элементы схемы аналогичны тем, которые введены выше для реляционных баз данных.
 Из аналогии определений веерного отношения и функциональной зависимости следует утверждение: если существует веерное отношение, то ключ зависимого отношения функционально определяет ключ основного отношения, и наоборот, ключ одного отношения функционально определяет ключ второго отношения, то первое отношение может быть зависимым, а второе - основным в некотором веерном отношении
 Для доказательства достаточно заметить, что в формулировке: каждое значение зависимого отношения связано с единственным значением основного отношения - точным представителем значения отношения является значение его первичного ключа, и отсюда следует приведенная выше формулировка о функциональных зависимостях между ключами.
 Указанный факт обычно используется для того, чтобы при наличии функциональной зависимости между первичными ключами двух отношений доказать корректность связывания этих отношений в веерное отношение.
 В схеме сетевой БД отношения и веерные отношения трактуются как файлы и связи, что позволяет рассматривать сетевую структуру как множество файлов
 F = {F1(Х1), F2(Х2),..,Fi(Хi),...,Fn(Хn)},
 где Xi - атрибуты ключа в файле Fi.
 Дополнительно вводится граф сетевой структуры В с вершинами {Х1, Х2,...,Х1,...,Хn}. Дуга <Хi,Хj> в графе В существует, если Xi является частью Xj и Fj[Хi] является подмножеством Fi. Последнее условие имеет тот же смысл, что и синтаксическое включение отношений в реляционной модели данных. Здесь предполагается, что ключ основного файла содержится в зависимом файле. Граф В аналогичен графу соединений реляционной БД.
 Введем определение сетевой ациклической базы данных DBA. База данных DBA называется ациклической, если между любыми двумя вершинами на графе В существует не более одного пути. Двухуровневые сети всегда ациклические.
 Для множества файлов F ациклической базы данных DВА вполне применима операция
 m(DВА) == F1 & F2 & ... & Fi1 & ...& Fn,
 называемая максимальным пересечением. Ее аналогом может служить последовательность соединений в реляционной БД.
 Рассмотрим алгоритм формирования структуры двухуровневой сетевой БД на основе известного множества атрибутов и функциональных зависимостей.
 Исходное множество функциональных зависимостей и атрибуты первичного ключа получаются так же, как при формировании множества отношений в ЗНФ.
 
 
 § 2.2.3. Алгоритм получения двухуровневой структуры сети
 
 1. Для каждой функциональной зависимости вида А?В создается файл Fi(А,В). Каждый блок взаимно-однозначных соответствий также порождает файл с ключом, равным старшему по объему понятия атрибуту.
 В нашем примере будут созданы следующие файлы (ключи помечены знаком #):
 
 F1(ПРИ #, Директор, Адрес),

<< Пред.           стр. 4 (из 8)           След. >>

Список литературы по разделу