Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика Омарова 2006.doc
Скачиваний:
17
Добавлен:
17.11.2019
Размер:
4.67 Mб
Скачать

8.2. Модели баз данных.

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

Иерархическая модель данных организует данные в виде древовидной структуры и является реализацией логических связей родо-видовых отношений «целое-часть» (рис. 8.2).

Рис.8.2. Представление связей в иерархической модели.

Дерево представляет собой иерархию элементов, называемых узлами. Под элементами понимается список (совокупность, набор) атрибутов, описывающих объекты. В иерархической модели имеется корневой узел или просто корень дерева. Корень находится на самом верхнем уровне и не имеет узлов, стоящих выше него. У одного дерева может быть только один корень. Остальные узлы, называемые порожденными (потомками), связаны между собой следующим образом: каждый узел имеет исходный (предка), находящийся на более высоком уровне. Если каждый узел может быть связан только с одним исходным узлом, то на последующим уровне он может иметь один, два и большее количество узлов, либо не иметь ни одного.

В общем случае иерархия должна удовлетворять следующим условиям:

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

  • узел содержит один или несколько атрибутов, описывающих объект в данном узле;

  • порожденные узлы могут добавляться в горизонтальном или вертикальном направлениях;

  • доступ к порожденным узлам возможен через исходный узел, поэтому существует только один путь доступа к каждому узлу;

  • теоретически возможно существование неограниченного числа экземпляров узла каждого уровня. При этом каждый экземпляр исходного узла начинает логическую запись;

  • между исходным узлом и порожденными узлами существуют отношения 1:М и 1:1.

К основным операциям манипулирования иерархически организованными данными относятся:

  • поиск указанного экземпляра БД;

  • переход от одного «дерева» к другому;

  • переход от одной записи к другой внутри «дерева»;

  • вставка новой записи в указанную позицию;

  • удаление текущей записи.

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

К достоинствам иерархической модели относятся простота моделирования предметных областей, эффективное использование памяти ЭВМ, хорошие показатели времени выполнения основных операций над данными. Иерархическая модель удобна для работы с иерархически упорядоченной информацией.

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

На иерархической модели данных основано сравнительно ограниченное количество СУБД, в числе которых можно назвать IMS, PC/Focus Data Edige и др.

С етевая модель данных позволяет отображать разнообразные взаимосвязи элементов данных в виде произвольного графа (рис. 8.3).

Рис. 8.3 Представление связей в сетевой модели.

Концепция сетевой БД впервые была предложена группой КОДАСИЛ.

Сетевая модель БД состоит из набора типов записей и набора соответствующих типов связей между ними.

Набор – это экземпляр поименованной совокупности записей. Каждый тип набора представляет собой отношение между двумя или несколькими типами записей. Необходимо различать тип записи и экземпляр записи. Например, СТУДЕНТ – это тип записи, а строка символов «Иванов Иван, комната 23» - экземпляр типа записи «СТУДЕНТ». В базе данных может храниться один или несколько экземпляров записи некоторого типа.

В отличие от иерархической, в сетевой модели объект – потомок может иметь любое количество объектов – предков. Тем самым допускаются любые связи-отношения, в т.ч. одноуровневые.

К числу операций манипулирования данными сетевого типа можно отнести:

  • поиск записи БД;

  • переход от предка к первому потомку;

  • переход от потомка к предку;

  • создание новой записи;

  • удаление текущей записи;

  • обновление текущей записи;

  • включение записи в связь;

  • исключение записи из связи;

  • изменение связей.

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

Недостатки: сложность схемы БД, возможная потеря независимости данных при реорганизации базы данных, ослаблен контроль целостности связей вследствие допустимости установления произвольных связей между записями.

Системы на основе сетевой модели также не получили широкого распространения на практике. Наиболее известны IDMS, СЕТЬ, БАНК, СЕТОР.

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

Реляционная модель основывается на понятии отношение (relation). Наглядной формой представления отношения является привычная для человеческого восприятия двумерная таблица. Строку таблицы называют кортежом, а заголовок столбца соответствует атрибуту. Каждый атрибут определен на некотором домене. Доменом называют множество атомарных значений. Несколько значений атрибута отношения могут быть определены на одном и том же домене.

При создании информационной системы совокупность отношений позволяет хранить данные об объектах предметной области и моделировать связи между ними. Элементы реляционной модели и формы их представления приведены в таблице:

Элементы реляционной модели

Формы представления

Отношение

Таблица

Схема отношения

Строка заголовка таблицы (заголовок таблицы)

Кортеж

Строка таблицы

Сущность

Описание свойств таблицы

Атрибут

Заголовок столбца таблицы

Домен

Множество допустимых значений атрибутов

Значение атрибута

Значение поля записи

Первичный ключ

Один или несколько атрибутов

Тип данных

Тип значений элементов таблицы

Для пояснения математического понятия «отношение» приведем два определения:

Декартово произведение. Пусть D1, D2,… Dn – произвольные конечные множества и необязательно различные. Декартовым произведением этих множеств D1*D2*…*Dn называется множество n-k вида

(d1, d2, …dn),

Например: пусть первое множество состоит из двух элементов D1{а1, а2}, второе из трех D2={b1, b2, b3}. Тогда декартово произведение есть D1*D2={a1b1, a1b2, a1b3, a2b1, a2b2, a2b3}.

Отношение. Отношением R, определенным на множествах D1, D2,… Dn называется подмножество декартова произведения D1*D2*…*Dn. При этом множества D1, D2,… Dn (Di) называются доменами отношения, а элементы декартова произведения (строки) кортежами (Kj) отношения.

На рис. 8.4. представлены пояснения понятий реляционной БД.

Схема отношения КАДРЫ (KOД, Ф.И.О., СУММА).

Домены

о

т

н

о

ш

е

н

и

е

КОД

Ф.И.О.

СУММА

5216

Петров В.Ф.

25000

к

о

р

т

е

ж

ы

5217

Косарева Н.В.

15000

5218

Сидоров И.И.

10000

5219

Артамонов И.Н.

12000

5220

Волкова Т.Н.

8000

Первичный Атрибуты

ключ

Рис. 8.4. Пояснения понятий реляционной БД

Отношение КАДРЫ включает 3 домена:

  • домен 1 содержит коды всех сотрудников;

  • домен 2 содержит фамилии сотрудников;

  • домен 3 содержит суммы заработной платы.

Каждый домен образует значения одного типа данных, например, числовые или символьные.

Отношение КАДРЫ содержит 5 кортежей. Кортеж рассматриваемого отношения состоит из 3х элементов, каждый из которых выбирается из соответствующего домена. Каждому кортежу соответствует строка таблицы.

Схема отношения (заголовок) представляет список имен атрибутов. Схема отношения имеет вид КАДРЫ (KOД, Ф.И.О., СУММА).

Первичным ключом является атрибут отношения, однозначно идентифицирующий каждый из его кортежей. Например в отношении «КАДРЫ» таким ключом является KOД.

Связи между отношениями устанавливаются с помощью внешних ключей.

Сотрудники

Отделы

Таб. №

Ф.И.О.

Должность

Номер отдела

Номер отдела

Наименование

Руководитель

Кол-во сотрудников

Рис. 8.5. Пример связи в реляционных таблицах

Внешним ключом на рис. 8.5. является «Номер отдела».

Ключи обычно используют для достижения следующих целей:

  • исключения дублирования значений в ключевых атрибутах;

  • упорядочения кортежей;

  • ускорения работы с кортежами отношения;

  • организации связывания таблиц.

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

Основной единицей обработки данных в реляционных БД является отношение, а не отдельные кортежи (записи).

Вместе с тем, операции обработки данных в реляционной модели включают операции над отношениями и операции над строками (кортежами) таблиц (отношений), т.е. работа с таблицами осуществляется на уровне:

  • отдельной таблицы;

  • нескольких таблиц.

Операциями, выполняемыми над строками отношений, являются включение, удаление, обновление, а основными операциями над отношениями – объединение, пересечение, разность (вычитание), декартово произведение, выбор, проекция, соединение, деление.

Отношение имеет ряд свойств:

  • каждый элемент имеет таблицы представляет собой один элемент данных, повторяющиеся группы отсутствуют;

  • все столбцы в таблице однородные, т.е. элементы столбца имеют одинаковую структуру;

  • в таблице нет двух одинаковых строк;

  • в операциях с такой таблицей ее строки и столбцы могут просматриваться в любом порядке и в любой последовательности безотносительно к их информационному содержанию и смыслу.

Реляционные модели данных имеют ряд достоинств. К ним относятся: простота представления данных благодаря табличной форме, минимальная избыточность данных при нормализации отношений, независимость данных, возможность представления всех типов связей от 1:1 до М:М, равнозначность данных, легкость обновления базы данных и др. Недостатками модели являются значительная фрагментация данных, большие затраты на реализацию модели.

Примеры реляционных СУБД – Visual FoxPro, Access, Oracle и др.

В начале 90х годов реляционные СУБД стали фактически стандартом для построения самых разнообразных информационных систем. Вместе с тем, появились и ограничения реляционной модели, которые не позволяют адекватно описывать такие сложные предметные области, как конструирование, производственные технологические процессы. Поэтому в 90х годах были предприняты попытки создания новых усовершенствованных моделей организации данных в виде постреляционных и объектно-ориентрованных СУБД. К сожалению, до сих пор ни одна из попыток создания и описания новых моделей не стандартизирована и количество коммерческих СУБД, основанных на новых моделях данных, исчисляется единицами.