Лекция №7 сетевая модель данных сетевые базы данных



Скачать 69.55 Kb.
Дата11.07.2014
Размер69.55 Kb.
ТипЛекция
Тема 7
Лекция № 7
СЕТЕВАЯ МОДЕЛЬ ДАННЫХ


  1. Сетевые базы данных

Информационными конструкциями в сетевой модели данных являются отношения и веерные отношения. Понятие "отношения" уже рассматривалось применительно к реляционной модели данных и будет использоваться здесь без изменений, хотя в некоторых сетевых СУБД допускаются отношения с многоуровневой (три и более) структурой.

Сетевая БД представляется как множество отношений и веерных отношений. Отношения разделяются на основные и зависимые.

Веерным отношением W(R,S) называется пара отношений, состоящая из одного основного R, одного зависимого отношения S и связи между ними при условии, что каждое значение зависимого отношения связано с единственным значением основного отношения.

Названное условие является ограничением, характерным для сетевой модели данных в целом. Способ реализации этого ограничения в памяти ЭВМ неодинаков у различных сетевых СУБД.

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

Сетевые базы данных в зависимости от ограничений на вхождение отношений в веерные отношения разделяются на многоуровневые сети и двухуровневые сети.

Ограничение двухуровневых сетей состоит в том, что каждое отношение может существовать в одной из перечисленных ниже ролей:

• вне каких-либо веерных отношений,

• в качестве основного отношения в любом количестве веерных отношений,

• в качестве зависимого отношения в любом количестве веерных отношений.

Запрещается существование отношения в качестве основного в одном контексте и одновременно в качестве зависимого в другом контексте.

Многоуровневые сети не предусматривают никаких ограничений на взаимосвязь веерных отношений, в некоторых сетевых СУБД разрешены даже циклические структуры сети.

Среди существующих в настоящее время сетевых СУБД наиболее распространены системы, поддерживающие двухуровневую сеть. Операция связывания отношений в реляционных СУБД также приводит к двухуровневым системам отношений. Двухуровневые сети обладают свойством ацикличности, о котором будет сказано ниже, и по этой причине очень часто применяются разработчиками ЭИС и прикладными программистами.

Для двухуровневых сетевых СУБД вводятся еще два ограничения (с теоретической точки зрения необязательные):

• первичный ключ основного отношения может быть только одноатрибутным,

• веерное отношение существует, если первичный ключ основного отношения является частью первичного ключа зависимого отношения.
2. Организация веерного отношения в памяти ЭВМ
В структуру основного и зависимого отношений вводится дополнительный атрибут, называемый адресом связи.

Значения адресов связи совместно обеспечивают в веерном отношении соответствие каждого значения зависимого отношения S с единственным значением основного отношения R.

Значение отношения при хранении в памяти ЭВМ часто называется записью. Адресом связи называется атрибут в составе записи, в котором хранится начальный адрес или номер следующей обрабатываемой записи.

Связь значений зависимого отношения с единственным значением основного отношения в простейшем случае обеспечивается следующим образом. Адрес связи некоторой записи основного отношения указывает на одну из записей зависимого отношения (значением адреса связи основного отношения является начальный адрес этой записи зависимого отношения), адрес связи указанной записи зависимого отношения - на следующую запись зависимого отношения, связанную с той же записью основного отношения и т.д. Последняя запись зависимого отношения в этой цепочке адресует названную выше запись основного отношения. Получается кольцевая структура адресов связи, называемая веером, где роль "ручки" веера играет запись основного отношения. На графических иллюстрациях адрес связи изображается стрелкой, направленной от адреса связи данной записи к той записи, чей начальный адрес (номер) служит значением этого адреса связи. На рис. 2.2 показаны структуры и значения веерных отношений двух простых сетевых двухуровневых БД. Атрибуты первичного ключа во всех случаях помечены #.

Схема сетевой БД содержит следующие компоненты:

S(net) = , где WW - множество веерных отношений, Net - вхождение отношений в веерные отношения.

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



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

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

В схеме сетевой БД отношения и веерные отношения часто трактуются как файлы и связи, что позволяет рассматривать сетевую структуру как множество файлов

F = {Fl(Xl),F2(X2),...)Fi(Xi),...,Fn(Xn)}, где Xi - атрибуты ключа в файле Fi.

Дополнительно вводится граф сетевой структуры В с вершинами {Xl,X2,...,Xi,...,Xn}. Дуга в графе В существует, если Xi является частью Xj и Fj[Xi] является подмножеством Fi. Последнее условие имеет тот же смысл, что и синтаксическое включение отношений в реляционной модели данных. Здесь предполагается, что ключ основного файла содержится в зависимом файле. Граф В аналогичен графу соединений для реляционной БД.

Введем определение сетевой ациклической базы данных DBA. База данных DBA называется ациклической, если между любыми двумя вершинами на графе В существует не более одного пути. Двухуровневые сети всегда ациклические.

Для множества файлов F ациклической базы данных DBA вполне применима операция

m(DBA) = F1 & F2 & ... & Fi & ...& Fn,

называемая максимальным пересечением. Ее аналогом может служить последовательность соединений в реляционной БД.


3. Алгоритм формирования двухуровневой структуры сети
Рассмотрим алгоритм формирования структуры двухуровневой сетевой БД на основе известного множества атрибутов и функциональных зависимостей.

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

3. Алгоритм получения двухуровневой структуры сети

1. Для каждой функциональной зависимости вида А —» В создается файл Fi(A,B)- Каждый блок взаимно-однозначных соответствий также порождает файл с ключом, равным старшему по объему понятия атрибуту.

В нашем примере будут созданы следующие файлы (ключи помечены знаком #):

Р1(НИИ #, Директор, Адрес),

Р2(Отдел #, НИИ, Ксотр),

РЗ(Тема #, Датанач, Датакон, Приор),

Р4(ФИО #, Отдел),

Р5(Тема #, Работа #, ФИО #, Прод),

Р6(Тема #, Заказ #, Обфин).

2. У всех пар файлов, полученных на шаге 1, проверяется условие для ключей (Ki является частью Kj). Если оно соблюдаемся, то из соответствующих файлов создается веерное отношение Wij(Fi,Fj). В нашем примере получим W35(F3,F5), W45(F4,F5), W36(F3,F6).

3. Если на шаге 2 будут получены два веерных отношения Wij и Wjk, то все атрибуты файла Fi передаются в файл Fj, и Fi вместе с Wij уничтожаются. В нашем примере таких веерных отношений нет.

4. Атрибуты, не вошедшие в состав веерных отношений на шаге 2, добавляются в те файлы Fn (и содержащие Fn веерные отношения), где они будут неключевыми. При наличии нескольких подходящих файлов предпочтение отдается основным файлам. Если требуемые Fn отсутствуют, то создается новый файл из атрибутов первичного ключа, и повторяются шаги 2, 3,4.

В нашем примере F4 расширяется атрибутами НИИ, Директор, Адрес, Ксотр.

На рис.2.3 показана структура соответствующей двухуровневой БД.



Структуры основных отношений показаны в верхней части рисунка, а структуры зависимых отношений - внизу.

Перед рассмотрением операций в сетевой базе данных следует отметить, что существуют 2 различных подхода к обработке данных средствами СУБД.

Центральным для навигационного принципа доступа является понятие "текущая запись" в отношениях базы данных. Текущей записью в отношениях после выполнения некоторой операции является значение отношения, на котором операция завершилась. Следующая операция начинается с этой текущей записи, а в результате выполнения операции положение текущей записи изменяется (завершение операции может изменить положение текущей записи и в других отношениях).

Рассмотрим операции выборки для двухуровневой сетевой базы данных. Чтобы не пользоваться синтаксисом включающего языка, условимся записывать лишь название операции и условие выборки. Примеры выборки относятся к сетевой структуре, изображенной на рис. 2.4. В этой базе данных на основном отношении Сотрудник и зависимом Зарплата установлены два веерных отношения Оси - основная зарплата и Доп - дополнительная зарплата.

При выборке в зависимом отношении текущей записью становится следующая запись зависимого отношения относительно той, которая раньше была текущей в зависимом отношении. Условие выборки содержит указание на текущую запись в основном отношении, а также на имя зависимого отношения и имя веерного отношения.



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

В сетевых СУБД количество операций выборки достаточно велико. Мы рассмотрели минимально необходимое множество вариантов выборки. Остальные варианты выборки создают более удобные для прикладного программиста возможности реализации запросов.

Похожие:

Лекция №7 сетевая модель данных сетевые базы данных iconЛекция №07 Модели данных
Описание: Иерархическая модель данных. Режимы исключения. Сетевая модель данных. Объектно-ориентированная модель данных. Объектно-реляционная...
Лекция №7 сетевая модель данных сетевые базы данных iconБазы данных Реляционная модель данных. Объекты данных, целостность реляционных данных
Реляционная модель данных была предложена Е. Коддом, в 1970 году. Реляционная модель(РМ) данных представляет информацию в виде совокупности...
Лекция №7 сетевая модель данных сетевые базы данных iconТем Виды моделей данных
Ядром любой базы данных является модель данных. Модель данных представляет собой множество структур данных, ограничений целостности...
Лекция №7 сетевая модель данных сетевые базы данных iconЛекция Понятие модели. Типы связей. Модель сущность-связь. Иерархическая и сетевая модель данных

Лекция №7 сетевая модель данных сетевые базы данных iconКонтрольная работа №1 «Создание проекта базы данных»
Цель работы: выполнить анализ предметной области, построить еr-модель базы данных, составить проекты таблиц для их создания в базе...
Лекция №7 сетевая модель данных сетевые базы данных iconЛекция №3 нормализация данных
Мы обсудим преимущества и недостатки нормализации и денормализации базы данных, а также рассмотрим то, как с точки зрения нормализации...
Лекция №7 сетевая модель данных сетевые базы данных icon1. Иерархическая модель данных. Сетевая модель данных
Иерархическая модель может быть представлена как древовидный граф с записями в виде узлов (которые также называются сегментами) и...
Лекция №7 сетевая модель данных сетевые базы данных iconТипы моделей данных
Иерархическая и сетевая модели данных стали применяться в системах управления базами данных в начале 60-х годов. В начале 70-х годов...
Лекция №7 сетевая модель данных сетевые базы данных iconПонятие базы данных, реляционной базы данных, субд, ключа, отношения
Базовые понятия реляционных баз данных (тип данных, домен, атрибут, кортеж, первичный ключ, отношение)
Лекция №7 сетевая модель данных сетевые базы данных iconВопросы к государственному междисциплинарному экзамену по специальности 230101 «Вычислительные машины, комплексы, системы и сети» на 2011 год
База данных: понятие, уровни представления базы данных. Преимущества базы данных перед файловой организацией данных. Система управления...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2016
обратиться к администрации
ru.convdocs.org