Модели данных.
Иерархическая и сетевая модель
При работе с иерархической моделью каждая программа, пользователь или приложение определяет свою внешнюю модель. Внешняя модель представляет собой совокупность поддеревьев для физических баз данных, с которыми работает данный пользователь. Каждый подграф внешней модели в обязательном порядке должен содержать корневой тип сегмента соответствующей физической базы данных концептуальной модели… Читать ещё >
Модели данных. Иерархическая и сетевая модель (реферат, курсовая, диплом, контрольная)
- Ш Ядром любой базы данных является модель данных, которая определяет взаимосвязь данных на логическом уровне.
- Ш С помощью модели данных могут быть представлены объекты предметной области, взаимосвязи между ними.
- Ш Модель данных — совокупность структур данных и операций их обработки Иерархическая модель данных
Иерархическая модель данных является наиболее простой среди всех даталогических моделей. Основными информационными единицами в иерархической модели являются: база данных (БД), сегмент и поле. Поле данных определяется как минимальная, неделимая единица данных, доступная пользователю с помощью СУБД.
Сегмент в терминологии Американской Ассоциации по базам данных называется записью, при этом в рамках иерархической модели определяются два понятия: тип сегмента или тип записи и экземпляр сегмента или экземпляр записи.
Тип сегмента — это поименованная совокупность типов элементов данных, в него входящих. Экземпляр сегмента образуется из конкретных значений полей или элементов данных, в него входящих. Каждый тип сегмента в рамках иерархической модели образует некоторый набор однородных записей. Для возможности различия отдельных записей в данном наборе каждый тип сегмента должен иметь ключ или набор ключевых атрибутов (полей, элементов данных). Ключом называется набор элементов данных, однозначно идентифицирующих экземпляр сегмента. В иерархической модели сегменты объединяются в ориентированный древовидный граф. При этом полагают, что направленные ребра графа отражают иерархические связи между сегментами: каждому экземпляру сегмента, стоящему выше по иерархии и соединенному с данным типом сегмента, соответствует несколько (множество) экземпляров данного (подчиненного) типа сегмента. Тип сегмента, находящийся на более высоком уровне иерархии, называется логически исходным по отношению к типам сегментов, соединенным с данным направленными иерархическими ребрами, которые в свою очередь называются логически подчиненными по отношению к этому типу сегмента. Иногда исходные сегменты называют сегментами-предками, а подчиненные сегменты называют сегментами-потомками.
Схема иерархической БД представляет собой совокупность отдельных деревьев, каждое дерево в рамках модели называется физической базой данных. Каждая физическая БД удовлетворяет следующим иерархическим ограничениям:
в каждой физической БД существует один корневой сегмент, то есть сегмент, у которого нет логически исходного (родительского) типа сегмента;
каждый логически исходный сегмент может быть связан с произвольным числом логически подчиненных сегментов;
каждый логически подчиненный сегмент может быть связан только с одним логически исходным (родительским) сегментом.
Очень важно понимать различие между сегментом и типом сегмента —сегмент является экземпляром типа сегмента.
Между экземплярами сегментов также существуют иерархические связи.
Каждый тип сегмента может иметь множество соответствующих ему экземпляров. Между экземплярами сегментов также существуют иерархические связи.
На рис представлены 2 экземпляра иерархического дерева соответствующей структуры.
Экземпляры-потомки одного типа, связанные с одним экземпляром сегмента-предка, называют «близнецами». Набор всех экземпляров сегментов, подчиненных одному экземпляру корневого сегмента, называется физической записью. Количество экземпляров-потомков может быть разным для разных экземпляров родительских сегментов, поэтому в общем случае физические записи имеют разную длину. Физические записи в иерархической модели различаются по длине и структуре.
Язык описания данных иерархической модели
В рамках иерархической модели выделяют языковые средства описания данных (DDL, Data Definition Language) и средства манипулирования данными (DML, Data Manipulation Language).
При работе с иерархической моделью каждая программа, пользователь или приложение определяет свою внешнюю модель. Внешняя модель представляет собой совокупность поддеревьев для физических баз данных, с которыми работает данный пользователь. Каждый подграф внешней модели в обязательном порядке должен содержать корневой тип сегмента соответствующей физической базы данных концептуальной модели.
Представление внешней модели называется логической базой данных и определяется совокупностью блоков связи данного приложения с физическими БД, входящими в концептуальную схему БД. Блок связи — PCB, program communication bloc — описывает связь с одной физической БД.
Сетевая модель данных
Остановимся на понятии сетевой структуры, положенной в основу сетевой модели данных. Отношения, когда порожденный элемент имеет более одного исходного, описываются в виде сетевой структуры. В такой структуре любой элемент может быть связан с любым другим элементом.
Как и в случае иерархической модели, сетевую структуру можно описать в терминах исходных и порождаемых узлов, а также представить ее таким образом, чтобы порожденные узлы располагались ниже исходных. При рассмотрении некоторых сетевых структур можно говорить об уровнях.
В сетевых моделях, если на нее не накладывается никаких ограничений, в принципе любой файл может быть точкой входа в систему, каждый из файлов может быть связан с произвольным числом других файлов, и между записями связанных файлов могут быть любые отношения (1:1, 1: М, М: М). Во многих сетевых СУБД не поддерживается непосредственно отношение М: М. В таких моделях каждая связь между парой файлов определяется отдельно, и для каждой из них одни файл в этой паре объявляется «владельцем», а другой — «членом». Отношение между записью-владельцем и записями-членами — 1: М.
БД с сетевой структурой состоит из нескольких областей. Каждая область состоит из записей, которые состоят из полей. Объединение записей в логическую структуру возможно не только по областям, но и с помощью наборов данных. По существу набор данных — это поименованное двухуровневое дерево, которое является основой для построения многоуровневых деревьев. Сама база данных состоит из некоторой совокупности наборов данных. Набор данных — это экземпляр поименованной совокупности записей. Каждый тип набора представляет собой отношение между двумя или несколькими типами записей. Для каждого набора данных один тип записи может быть объявлен владельцем, а один или несколько типов других записей — членами набора.
Набор данных имеет следующие свойства:
Набор данных есть поименованная совокупность связанных записей.
В каждом экземпляре набора данных имеется только один экземпляр записи владельца.
Экземпляр набора может содержать 0,1 или несколько записей-членов.
Набор данных считается пустым, если ни один экземпляр записи-члена не связан с соответствующим экземпляром записи владельца.
Экземпляр набора данных связан с записью владельца.
Тип набора предполагает логическую взаимосвязь 1: M между владельцем и членом набора.
Необходимо различать тип и экземпляр набора. Определенный экземпляр типа записи-члена не может одновременно принадлежать более чем одному экземпляру типа записи-владельца. Уникальность владельца типа набора является обязательным элементом сетевой модели данных. С этой точки зрения иерархическая модель является частным случаем сетевой модели данных.
В некоторых определениях сетевой модели допускаются связи типа «многие-ко-многим», но требование бинарности связи остается в силе.
Для моделирования представления данных в сетевой модели используются следующие элементы данных:
простое поле (элемент данных) — наименьшая единица структуры данных, имеет уникальное имя, размер и тип;
множественное поле (агрегат данных, периодическая группа) — поименованная совокупность простых полей или агрегатов;
запись (группа данных) — поименованный агрегат, который не входит в состав никакого другого агрегата и представляет сущность ПО БД (тип записи);
групповое отношение (связь, набор) — иерархическое отношение между различными записями (графическое представление группового отношения в сетевой модели называется диаграммой Бахмана);
БД — совокупность записей различного типа, объединенная системой групповых отношений различной направленности.