Учебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62




НазваниеУчебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62
страница7/99
Дата04.02.2016
Размер6.67 Kb.
ТипУчебно-методический комплекс
1   2   3   4   5   6   7   8   9   10   ...   99

Обзор основных моделей данных


Тремя основными типами моделей структурированных данных являются иерархическая, сетевая и реляционная. Первые две из них основаны на представлении информации об объектах в виде плоского графа.

Иерархическая модель


Иерархическая модель данных организует данные в виде древовидной структуры и является реализацией логических связей между данными типа родовидовых отношений или отношений "часть-целое". Примером простого иерархического представления может служить административная структура организации.

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

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

Особенностью такого представления данных является наличие нескольких подчиненных уровней. В иерархической модели имеется корневой узел или корень дерева. Он располагается на 1-м, самом высоком уровне и не имеет узлов-предшественников. Остальные узлы называются порожденными и связаны между собой следующим образом: каждый узел имеет исходный, находящийся на вышестоящем уровне. На следующем уровне каждый узел может иметь более одного узла-потомка или не иметь потомков вовсе. Узлы, не имеющие порожденных, называются листьями. В иерархии рассматривают уровни, на которых расположен тот или иной узел или совокупность узлов.

Между исходным узлом и порожденными узлами по условию модели существует связь "один-ко-многим" (или "многие-к-одному").

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

  1. Иерархия имеет исходный узел (корень), из которого строится дерево. Каждое дерево имеет только один корень.

  2. Узел имеет непустое множество атрибутов, которые описывают объект, моделируемый в данном узле.

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

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

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

К основным недостаткам иерархической модели можно отнести:

  • сложность отображения связи "многие-к-многим"

  • усложнение операции включения новых объектов и удаления устаревших объектов непосредственно в базе данных (в особенности обновление и удаление связей);

  • неоднозначность представления данных о предметной области.

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

Предположим, что каждый преподаватель может читать несколько дисциплин, а каждый студент также может изучать несколько дисциплин.

Один из возможных вариантов построения иерархической модели может быть таковым. Корневым узлом является студент (Номер студента, ФИО, Номер группы). Для каждого студента при данном представлении имеется экземпляр корневого узла. Преподаватель и дисциплина объединяются в один порожденный узел (Табельный номер преподавателя, ФИО, Ученое звание, Кафедра, Дисциплина, Дата экзамена, Оценка, Зачет).

При такой организации данных достаточно легко получать ответы на запросы типа "выдать информацию о сдаче экзаменов студентами по различным дисциплинам". Однако при ответе на вопрос, какие преподаватели принимают экзамены по ВТ, необходимо просмотреть все записи порожденных узлов для каждого корневого узла. Для этого вопроса более подходит модель, в которой корневым узлом является преподаватель (Табельный номер преподавателя, ФИО, ученое звание, кафедра), а порожденным является студент (номер студента, ФИО, номер группы, дисциплина, дата сдачи, оценка, зачет).

В первом варианте модели для каждого студента дублируется информация (в экземпляре порожденного узла) о преподавателях и дисциплине, а во втором - для каждого преподавателя о студентах. Отсюда возникают проблемы включения и удаления данных. Из принципа иерархии следует, что экземпляр порожденного узла не может существовать в отсутствие соответствующего ему экземпляра исходного узла. Таким образом, невозможно без привлечения дополнительных способов включить в базу данных информацию о преподавателях, которые не принимают экзамены (для первого варианта схемы). Чтобы соблюсти принцип иерархии, нужно сформировать, например, пустой исходный узел и породить еще проблему интерпретации нуль-значений.

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

Первопричиной этих проблем является то обстоятельство, что иерархическая модель не поддерживает отношение M:N.

Основной единицей обработки здесь является запись, к которой применимы операции ЗАПОМНИТЬ, МОДИФИЦИРОВАТЬ, УДАЛИТЬ, ИЗВЛЕЧЬ, НАЙТИ. В операциях создания и уничтожения связей для этой модели нет необходимости потому, что все связи предопределены заранее древовидной структурой отношений. Операция "найти" сводится к одной из трех процедур обхода дерева.

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

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


Остановимся на понятии сетевой структуры, положенной в основу сетевой модели данных. Рассмотрим отношение между следующими объектами: Студенческий коллектив, Студенческая группа, Комната в общежитии и Студент. Взаимосвязь между этими объектами не является иерархической, так как порожденный элемент Студент имеет два исходных - Студенческая группа и Комната в общежитии. Такие отношения, когда порожденный элемент имеет более одного исходного, описываются в виде сетевой структуры. В такой структуре любой элемент может быть связан с любым другим элементом.

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

Рассмотрим, как в сетевой модели будут представлены взаимосвязи между объектами. В нашем примере присутствуют два вида взаимосвязей: 1:M (Учебная группа - Студент) и M:1 (Студент - Комната в общежитии). Сетевые структуры, которые имеют такие связи между исходными и порожденными узлами, порожденными и исходными узлами, относят к простым сетевым структурам. Сложной сетевой структурой называют такую структуру, в которой присутствует хотя бы одна связь типа N:M. Примером такой связи является отношение Студент - Преподаватель. Такое разделение сетевых структур обусловлено технологическими сложностями реализации взаимосвязи N:M. Причем некоторые СУБД не обрабатывают сложных сетевых структур (СЕТОР, DNS, DBMS).

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

Набор данных имеет следующие свойства:

  1. Набор данных есть поименованная совокупность связанных записей.

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

  3. Экземпляр набора может содержать 0,1 или несколько записей-членов.

  4. Набор данных считается пустым, если ни один экземпляр записи-члена не связан с соответствующим экземпляром записи владельца.

  5. Экземпляр набора данных связан с записью владельца.

  6. Тип набора предполагает логическую взаимосвязь 1:M между владельцем и членом набора.

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

Необходимо различать тип и экземпляр набора. Предварительно поясним различие между понятиями "тип" и "экземпляр" записи. Например, Студент является типом записи, а строка, содержащая информацию о конкретном студенте, является экземпляром типа записи Студент. Аналогичное различие существует между типом и экземпляром набора данных. Например, тип набора Состав группы, а его экземпляр содержит один экземпляр типа записи владельца Учебная группа и N экземпляров типа записи-члена Студент. Определенный экземпляр типа записи-члена не может одновременно принадлежать более чем одному экземпляру типа записи-владельца. Уникальность владельца типа набора является обязательным элементом сетевой модели данных. С этой точки зрения иерархическая модель является частным случаем сетевой модели данных.

Концепция сетевой модели данных связана с именем Ч. Бахмана, известного специалиста в области обработки данных, который оказал определяющее влияние на создание проекта DBTG CODASYL (1971 год). Сетевая модель данных является моделью объектов-связей, где допускаются только бинарные связи типа "многие-к-одному", что позволяет использовать для представления данных простую модель ориентированных графов. В некоторых определениях сетевой модели допускаются связи типа "многие-ко-многим", но требование бинарности связи остается в силе.

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

Для моделирования представления данных в сетевой модели используются следующие элементы данных:

  • простое поле (элемент данных, итем) - наименьшая единица структуры данных, имеет уникальное имя, размер и тип: (табельный номер служащего);

  • множественное поле (агрегат данных, периодическая группа) - поименованная совокупность простых полей или агрегатов; (простой агрегат: Дата = (день, месяц, год)), (составной агрегат: Организация = (наименование, адрес = (почтовый_индекс, город, улица, дома_номер))), (повторяющаяся группа: зарплата (12) = (ФИО, оклад));

  • запись (группа данных) - поименованный агрегат, который не входит в состав никакого другого агрегата и представляет сущность ПО БД (тип записи);

  • групповое отношение (связь, набор) - иерархическое отношение между различными записями (графическое представление группового отношения в сетевой модели называется диаграммой Бахмана);

  • БД - совокупность записей различного типа, объединенная системой групповых отношений различной направленности.

На рис. 1.9 приведен фрагмент описания схемы БД (описание статьи записи) на примере записи из БД "Кадры", предназначенной для автоматизации работы отдела кадров организации. Для описания записи используется язык описания данных СODASYL. Описание схемы БД в CODASYL состоит из четырех статей:

  1. статья схемы: SCHEMA NAME IS Имя_схемы;

  2. статья областей: AREA NAME IS Имя_области (файла);

  3. статья записи: RECORD NAME IS Имя_записи - способ выборки;

  4. статья выбора: SET NAME IS Имя_набора; способ включения экземпляров записей (устанавливает групповые отношения в БД).




Рис. 1.9.  Описание записи в сетевой модели данных

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

  • ЗАПОМНИТЬ - заносит экземпляр записи в БД и включает его в существующее отношение;

  • ПРИСОЕДИНИТЬ - связывает существующие записи в групповое отношение и определяет подчинение записей (родитель-потомок);

  • ПЕРЕКЛЮЧИТЬ - связывает экземпляр подчиненной записи с другим экземпляром записи-родителя;

  • МОДИФИЦИРОВАТЬ - изменяет значение полей в существующих записях БД, перед выполнением этой операции запись должна быть извлечена из БД;

  • НАЙТИ - находит записи из БД согласно критерию поиска;

  • УДАЛИТЬ - удаляет из БД ненужную запись;

  • ОТДЕЛИТЬ - разрывает существующую связь между записями в групповом отношении;

  • ПОЛУЧИТЬ - извлекает записи из БД.

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

Очень часто к недостаткам сетевого подхода в БД относят как сложность самой модели данных, так и сложность освоения средств манипулирования данными в ней. Практически, при анализе ПО БД и программировании особенно тщательно приходится отлеживать цепочки связанных групповыми отношениями данных при операциях вставки, обновления и удаления. Однако действительный источник сложности сетевой модели данных состоит в диапазоне предоставляемых моделью конструкций для представления информации и набора операции для манипулирования этими конструкциями.
1   2   3   4   5   6   7   8   9   10   ...   99

Похожие:

Учебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62 iconУчебно-методический комплекс дисциплины (опд. Ф.) Базы данных и экспертные системы
Рабочая программа составлена на основании требований Основной образовательной программы специальности 010501. 65 Прикладная математика...
Учебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62 iconУчебно-методический комплекс по дисциплине «Базы данных»
Методический комплекс включает учебную программу курса, планы проведения занятий, список основной и дополнительной рекомендуемой...
Учебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62 iconПрограмма итогового государственного экзамена Направление подготовки дипломированного специалиста: 080800-Прикладная информатика Специальность: 080801. 65 «Прикладная информатика (по областям)»
Филиал федерального государственного автономного образовательного учреждения высшего профессионального образования
Учебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62 iconУчебно-методический комплекс дисциплины «Операционные системы и среды»
Учебно-методический комплекс рекомендован к изданию кафедрой «Информационных технологий» и утвержден Учебно-методическим советом...
Учебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62 iconУчебно-методический комплекс дисциплины гсэ. 00 «История искусств»
Для специальностей: 230102 – «Автоматизированные системы обработки информации и управления», 080801 – «Прикладная информатика (в...
Учебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62 iconУчебно-методический комплекс дисциплины гсэ. В. 03 «Риторика»
Для специальностей: 080801 «Прикладная информатика (в экономике)», 030301 «Психология», 080504 «Государственное и муниципальное управление»,...
Учебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62 iconУчебно-методический комплекс дисциплины
Государственное и муниципальное управление, 080109 Бухгалтерский учет, анализ и аудит, 010501 Прикладная математика и информатика,...
Учебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62 iconУчебно-методический комплекс по дисциплине «Проектное управление фирмой»
Государственного образовательного стандарта высшего профессионального образования и предназначен для студентов очной формы обучения...
Учебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62 iconУчебно-методический комплекс по дисциплине «Проектное управление фирмой»
Государственного образовательного стандарта высшего профессионального образования и предназначен для студентов очной формы обучения...
Учебно-методический комплекс по дисциплине базы данных направление «Прикладная информатика» 080800. 62 iconУчебно-методический комплекс по дисциплине «Проектное управление фирмой»
Государственного образовательного стандарта среднего профессионального образования и предназначен для студентов Колледжа рационального...
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib2.znate.ru 2012
обратиться к администрации
Библиотека
Главная страница