Державна влада та державне управління

Контрольные вопросы по лекции.

Реляционная модель данных (РМД)

Иерархическая модель данных (ИМД)

Сетевая модель данных (СМД)

Сетевая модель позволяет организовывать БД, структура которых представляется графом общего вида (пример СМД – на рис. 2.3). Организация данных в сетевой модели соответствует структуризации данных по версии CODASYL. Каждая вершина графа хранит экземпляры сущностей (записи) и сведения о групповых отношениях с сущностями других типов. Каждая запись может хранить произвольное количество значений атрибутов (элементов данных и агрегатов), соответствующих экземпляру сущности.

В СМД применяются следующие операции над данными:

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

Связи между записями в СМД обычно выполнены в виде указателей (т.е. каждая запись хранит ссылки на другие однотипные записи и записи, связанные с ней групповыми отношениями). Подробнее об этом рассказано в разделе 5.5."Организация связей между хранимыми записями".

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

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

Наиболее распространенной и стандартизованной из реализаций СМД является модель CODASYL. В соответствии с ней описание схемы БД осуществляется на языке COBOL, а манипулирование данными – с помощью включающего языка программирования высокого уровня.

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

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

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

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

В иерархических моделях данных используется ориентация древовидной структуры от корня к листьям. Графическая диаграмма схемы базы данных называется деревом определения. Пример иерархической базы данных приведён на рис.2.4.

Рис.2.4. Пример иерархической базы данных

Каждая некорневая вершина связана с родительской записью иерархическим групповым отношением. Каждая вершина дерева соответствует сущности ПО, которая характеризуется произвольным количеством атрибутов, связанных с ней отношением 1:1. Атрибуты, связанные с сущностью отношением 1:n, образуют отдельную сущность и переносятся на следующий уровень иерархии. Тип вершины определяется типом сущности и набором её атрибутов. Каждая вершина дерева хранит экземпляры сущностей – записи. Следствием внутренних ограничений иерархической модели является то, что каждому экземпляру зависимой группы в БД соответствует уникальное множество экземпляров родительских групп – по одному экземпляру каждого типа вершин вышестоящих уровней.

В ИМД также предусмотрены специальные способы навигации. Передвижение по дереву всегда начинается с корневой вершины, от которой можно прейти на конкретный экземпляр записи любой вершины следующего уровня. Эта вершина становится текущей вершиной, а экземпляр – текущим экземпляром (записью). От этой записи можно перейти к другой записи данной вершины, к экземпляру записи родительской вершины или к экземпляру записи подчиненной вершины.

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

Связи между записями в ИМД обычно выполнены в виде ссылок (т.е. хранятся адреса связанных записей). Подробнее об этом рассказано в разделе 5.5."Организация связей между хранимыми записями".

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

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

1.Понятие отношения

Реляционная модель данных была предложена математиком Э.Ф. Коддом (Codd E.F.) в 1970 г. РМД является наиболее широко распространенной моделью данных и единственной из трех основных моделей данных, для которой разработан теоретический базис с использованием теории множеств.

В основе РМД лежит понятие отношения, представляющего собой подмножество декартова произведения доменов. Домен – это множество значений, которое может принимать элемент (например, множество целых чисел, множество комбинаций символов длиной N и т.п.).

Пусть D1, D2 ,…, Dk – произвольные конечные и не обязательно различные множества (домены). Декартово произведение этих множеств определяется следующим образом:

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

Пример. Для доменов D1 = (1,2), D2 = (A,B,C) декартово произведение D будет таким:

D = {(1,A), (1,B), (1,C), (2,A), (2,B), (2,C)}.

Подмножество декартова произведения доменов называется отношением.

Элементы отношения называют кортежами. Элементы кортежа принято называть атрибутами. Количество атрибутов кортежа определяет арность отношения. Отношения арности 1 называют унарными, арности 2 – бинарными, арности n – n-арными.

Отношение содержит информацию о сущностях одного типа. Каждый кортеж отношения соответствует одному экземпляру сущности.

2.Свойства отношений

Отношение обладает двумя основными свойствами:

1. в отношении не должно быть одинаковых кортежей, т.к. это множество;

2. порядок кортежей в отношении несущественен.

Отношение удобно представлять как таблицу, где строка является кортежем, столбец соответствует домену (рис. 2.5, отношение СТУДЕНТЫ).

домен 1........ домен 2................домен 3 (ключ)..............домен 4........домен 5

Группа ФИО студента Номер зачётной книжки Год рождения Стипендия
С–72 Волкова Елена Павловна С-12298   566.40
С–91 Белов Сергей Юрьевич С-12299   400.00
...
С–72 Фролов Юрий Вадимович С-14407    

Рис.2.5. Пример табличной формы представления отношения

Отношение имеет имя, которое отличает его от имён всех других отношений. Атрибутам реляционного отношения назначаются имена, уникальные в рамках отношения. Обращение к отношению происходит по его имени, а обращение к атрибуту – по имени отношения и имени атрибута.

Каждый атрибут определён на некотором домене, несколько атрибутов отношения могут быть определены на одном и том же домене (например, номера рабочего и домашнего телефона). Домен задаётся типом данных и ограничениями целостности, например, оклад – это число больше нуля. Значение атрибута может быть не определено в момент внесения записи в БД. Для таких случаев предусмотрено специальное значение – null, которое можно интерпретировать как "неизвестное значение".

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

РМД не поддерживает групповые отношения. Для связей между отношениями используются внешние ключи. Внешний ключ – это атрибут подчиненного отношения, который является копией первичного (или уникального) ключа родительского отношения. (Пример – отношение ДЕТИ, связанное с отношением СТУДЕНТЫ по внешнему ключу Номер зачётной книжки, рис. 2.6). Фактически, внешние ключи логически связывают экземпляры сущностей разных типов между собой. Т.о., внешний ключ можно трактовать как ограничение целостности на две таблицы, в соответствии с которым множество значений внешнего ключа является подмножеством значений ключа родительской таблицы. Если связь необязательная, то значение внешнего ключа может быть неопределённым (null).

Номер зачётной книжки Имя, отчество ребенка Дата рождения
С-12298 Антон Павлович 01.12.01
С-12298 Юлия Павловна 01.12.01
С-12299 Ольга Сергеевна 16.04.02

Рис.2.6. Связь отношений "Студенты" и "Дети" по внешнему ключу

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

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

  • запомнить: внесение информации в БД (требует формирования значений уникального ключа и обязательных атрибутов кортежа);
  • обновить: модификация данных – изменение значений отдельных атрибутов кортежей;
  • извлечь: чтение данных;
  • удалить: физическое или логическое удаление данных (кортежа или группы кортежей).

Структуризация данных в РМД существенно отличается от структуризации данных по версии CODASYL. В таблице 2.1. приведено соответствие этих двух вариантов структуризации.

Таблица 2.1. Сравнение структуризации данных в РМД и по версии CODASYL

Термины версии CODASYL Термины (и синонимы) РМД
Элемент данных Атрибут (поле)
Агрегат -
Запись (группа) Кортеж (запись, строка)
Совокупность записей одного типа Отношение (таблица)
Набор (групповое отношение) -
База данных База данных

3. Достоинства и недостатки РМД

Широкое распространение РМД объясняется в первую очередь простотой представления и формирования БД, универсальностью и удобством обработки данных, которая осуществляется с помощью декларативного языка запросов SQL (Structured Query Language).

Существуют два стандарта SQL, определённые американским национальным институтом стандартов (ANSI): SQL-89 (SQL1) и SQL-92 (SQL2). В настоящее время в стадии разработки находится новый стандарт – SQL3. Большинство коммерческих систем управления базами данных (СУБД) поддерживают стандарт SQL2, который принят ISO (International Standards Organization) в качестве международного стандарта. (Подробнее об SQL рассказано в [10]).

Моделирование ПО в рамках РМД создаёт некоторые сложности, т.к. в РМД нет специальных средств для отображения различных типов связей. Отсутствие множественных связей, например, "многие ко многим", вызывает увеличение объёма хранимой (дублируемой) информации. Отсутствие возможности указания типов связей (например, "работает" или "имеет"), приводит к тому, что семантика связей в принципе не может быть отражена в РМД и зависит от того, как связь интерпретируется приложениями.

Отсутствие специальных механизмов навигации (как в ИМД или СМД), с одной стороны, ведёт у упрощению модели, а с другой – к многократному увеличению времени на извлечение данных, т.к. во многих случаях требуется просмотреть всё отношение для поиска нужных данных.

Литература:

основная:

1. Линдваль В.Р.Геоинформационные системы и технологии в телекоммуникациях: учеб. пособие / В. Р. Линдваль, Е. А. Спирина, Г. И. Щербаков; Мин-во образования и науки РФ, Фед. агентство по образованию, ГОУ ВПО "КГТУ им. А.Н. Туполева". - Казань: Изд-во КГТУ им. А.Н. Туполева, 2009.

2. Мастрюков Б.С.Безопасность в чрезвычайных ситуациях в природно-техногенной сфере. Прогнозирование последствий: учеб. пособие для студ. вузов / Б. С. Мастрюков. - М.: Академия, 2011. - 368 с.

дополнительная:

1. Шумилин В.К.Чрезвычайные ситуации: защита населения и предприятий: практические рекомендации и примеры / В. К. Шумилин. - М.: Альфа-Пресс, 2011. - 176 с.

2. Дьяченко В.В.Науки о Земле: учеб. пособие для студ. вузов / В. В. Дьяченко, Л. Г. Дьяченко, В. А. Девисилов; под ред. В. А. Девисилова. - М.: КНОРУС, 2010. - 304 с.

1. Назначение и основные компоненты системы баз данных.

2. Уровни представления данных.

3. Системы управления базами данных (СУБД).

4. Основные функции СУБД.

5. Модель данных.

6. Типы структур данных

7. Операции над данными.

8. Сетевая модель данных.

9. Иерархическая модель данных.

10. Реляционная модель данных.

Разработал:

старший преподаватель кафедры ПЭБ, к.п.н. _________________ Загребина Е.И.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: