Что означает иерархичность и целостность сетевых баз данных
Что означает иерархичность и целостность сетевых баз данных
Разработчик: доц. Бородина А.И.
План лекции
2. Иерархические и сетевые модели данных
2. Иерархические и сетевые модели ДаННЫХ
Одними из основополагающих в концепции баз данных являются категории «данные» и «модель данных». Данные – это набор конкретных значений, параметров, характеризующих объект, условие, ситуацию и др., например: 200 руб., Петров Петр Петрович и т.п. Данные не обладают определенной структурой, они становятся информацией лишь тогда, когда пользователь задает им определенную структуру, то есть наделяет их смысловым содержанием. Поэтому центральным понятием в области баз данных является понятие модели. Не существует однозначного определения этого термина, но можно выделить нечто общее в существующих определениях.
Модель данных – это некоторая абстракция, которая, будучи приложима к конкретным данным, позволяет пользователям и разработчикам трактовать их уже как информацию, то есть сведения, содержащие осмысленные данные и взаимосвязь между ними.
С другой стороны, любая база данных состоит из элементов данных (реквизитов) и связей между ними. Значит, чтобы организовать данные в базу, необходим предварительный процесс моделирования, то есть должна быть разработана схема, позволяющая изобразить связи между элементами данных. Такую схему принято называть моделью данных. Таким образом, модель данных – это систематизация разнообразной информации и отражение ее свойств по содержанию, структуре, объему, связям, динамике с учетом удовлетворения информационных потребностей всех категорий пользователей. Модель данных является ядром базы данных.
В настоящее время в результате теоретических изысканий, рожденных реальными потребностями практики обработки данных, разработано много моделей данных, которые различаются по способу связи между данными. Однако наибольшее практическое применение нашли три модели: иерархическая, сетевая, реляционная. Их иногда называют традиционными моделями данных. В последние годы ведутся работы по созданию баз данных, построенных на постреляционной, многомерной, объектно-ориентированной и других моделях, которые называют нетрадиционными моделями.
2.1. Иерархическая модель
Иерархическая модель появилась впервые в результате обобщения структур данных языка Кобол. В иерархических моделях основная структура представления данных имеет форму дерева. На самом высшем (первом) уровне иерархии находится только одна вершина, которая называется корнем дерева. Эта вершина имеет связи с вершинами второго уровня, вершины второго уровня имеют связи с вершинами третьего уровня и т.д. Связи между вершинами одного уровня отсутствуют. Следовательно, данные в иерархической структуре не равноправны – одни жестко подчинены другим. Доступ к информации возможен только по вертикальной схеме, начиная с корня, так как каждый элемент связан только с одним элементом на верхнем уровне и с одним или несколькими на низком.
Примером иерархической структуры может служить книга, как иерархическая последовательность букв, которые объединяются в слова, слова – в предложения, предложения – в параграфы, затем в главы и т.д.
С точки зрения теории графов иерархическая модель представляет собой древовидный граф (перевернутое дерево), упрощенный вид которого показан на рис. 2.
Рис. 2. Древовидный граф
Реальный пример иерархической модели данных представлен на рис. 3 и 4.
Рис. 3. Пример иерархической модели данных
Рис. 4. Пример иерархической модели данных
Над иерархически организованными данными определенны следующие операции:
· Добавить в базу данных новую запись.
· Изменить значение данных предварительно извлеченной записи.
· Удалить некоторую запись и все подчиненные ей записи.
· Извлечь запись; в этой операции допускается задание условий выборки, например, извлечь сотрудников с окладом более 200 тысяч руб.
Иерархическая модель является наиболее простой, поэтому исторически она появилась первой. К достоинствам иерархической модели данных относится: достаточно эффективное использование памяти и неплохие временные показатели выполнения операций над данными. Однако, удобна эта модель в основном для работы с иерархически организованной информацией. Недостатками иерархической модели являются достаточно сложные логические связи и соответствующая громоздкость в обработке данных.
Дальнейшим развитием иерархической модели является сетевая. Сетевая модель – это структура, у которой любой элемент может быть связан с любым другим элементом (рис. 5). Реальный пример иерархической модели представлен на рис. 6.
Рис. 5 . Представление связей в сетевой модели данных
Рис. 6. Пример сетевой модели данных
Сетевая база данных состоит из наборов записей, которые связаны между собой так, что записи могут содержать явные ссылки на другие наборы записей. Тем самым наборы записей образуют сеть. Связи между записями могут быть произвольными, и эти связи явно присутствуют и хранятся в базе данных.
Над данными в сетевой базе могут выполняться следующие операции:
· Добавить – внести запись в базу данных.
· Извлечь – извлечь запись из базы данных.
· Обновить – изменить значение элементов предварительно извлеченной записи.
· Удалить – убрать запись из базы данных.
· Включить в групповое отношение – связать существующую подчиненную запись с записью-владельцем.
· Исключить из группового отношения – разорвать связь между записью-владельцем и записью-членом.
· Переключить – связать существующую подчиненную запись с другой записью-владельцем в том же групповом отношении.
Основное достоинство сетевой модели – это высокая эффективность затрат памяти и оперативность. Недостаток – сложность и жесткость схемы базы, а также сложность понимания. Кроме того, в этой модели ослаблен контроль целостности, так как в ней допускается устанавливать произвольные связи между записями.
Сравнивая иерархические и сетевые базы данных, можно сказать следующее. В целом иерархические и сетевые модели обеспечивают достаточно быстрый доступ к данным. Но поскольку в сетевых базах основная структура представления информации имеет форму сети, в которой каждая вершина (узел) может иметь связь с любой другой, то данные в сетевой базе более равноправны, чем в иерархической, так как доступ к информации может быть осуществлен, начиная с любого узла.
Однако следует отметить жесткость организации данных в иерархических и сетевых моделях. Доступ к информации осуществляется только в соответствии со связями, определенными при проектировании структуры конкретной базы данных. Базы данных с такими моделями сложно реорганизовывать. Недостатком этих моделей является и сложность механизма доступа к данным, а также необходимость на физическом уровне четко определять связи данных. А поскольку каждый элемент данных должен содержать ссылки на некоторые другие элементы, то для этого требуются значительные ресурсы памяти ЭВМ. Кроме того, для таких моделей характерна сложность реализации систем управления базами данных.
Графовые (иерархические и сетевые) модели реализованы в качестве моделей данных в системах управления базами данных, работающих на больших ЭВМ. Для персональных компьютеров больше распространены реляционные базы данных, хотя имеются и системы управления базами данных, поддерживающих сетевую модель.
Что означает иерархичность и целостность сетевых баз данных
Иерархические базы данных: могут быть представлены как дерево, состоящее из объектов различных уровней. Верхний уровень занимает один объект, второй — объекты второго уровня и т. д.
Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами.
Схема 1 пример иерархичской БД
· Наиболее быстрый доступ к информации (заранее известны все вершины и все ключи к доступу информациии).
· Не любая предметная область может быть представлена такой структурой.
· При изменении структуры модели данных требуется изменение программного обеспечения и программных средств или создание нового.
Примеры иерархических БД:
Сетевая база данных — логическая модель данных, являющаяся расширением иерархического подхода.
Основное отличие от иерархической модели в том что у потомка может быть любое число предков а в иерархической только один.
Тип связи определяется для двух типов записи: предка и потомка. Экземпляр типа связи состоит из одного экземпляра типа записи предка и упорядоченного набора экземпляров типа записи потомка.
Схема 2 Сетевая БД
· Более адекватно отражает состав и структуру предметной области за счет дополнительных связей между отдельными компонентами (Более гибкая модель).
· Быстрый доступ к информации БД. Всё определяется на этапе проектирования.
· При изменении информации требуется изменение программного обеспечения (доработка).
В чем разница между иерархической сетью и моделью реляционной базы данных
главное отличие между иерархической сетью и моделью реляционной базы данных является то, что иерархическая модель организует данные в древовидную структуру, в то время как сетевая модель упорядочивае
Содержание:
главное отличие между иерархической сетью и моделью реляционной базы данных является то, что иерархическая модель организует данные в древовидную структуру, в то время как сетевая модель упорядочивает данные в виде графа, а модель реляционной базы данных организует данные в виде таблиц.
Модели баз данных помогают создать структуру баз данных. Кроме того, они также помогают определить, как хранить и получать доступ к данным в СУБД. Другими словами, важно следовать модели базы данных для хранения данных в базе данных СУБД. Существуют различные модели, используемые для логического проектирования баз данных в СУБД, и иерархические, сетевые и реляционные являются тремя такими моделями баз данных.
Ключевые области покрыты
1. Что такое иерархическая модель базы данных
– Определение, Функциональность
2. Что такое модель сетевой базы данных
– Определение, Функциональность
3. Что такое модель реляционной базы данных
– Определение, Функциональность
4. Разница между иерархической сетью и моделью реляционной базы данных
– Сравнение ключевых различий
Основные условия
СУБД, модель иерархической базы данных, модель сетевой базы данных, модель реляционной базы данных
Что такое иерархическая модель базы данных
Иерархическая модель базы данных упорядочивает данные в структуре, подобной дереву. Во-первых, есть основной корень, который является началом дерева. Другие данные расположены под основным корнем. Кроме того, другие узлы подключаются к основному узлу как дочерние узлы. Другой набор узлов связан с этими дочерними узлами.
Более того, эта модель помогает представить отношение «один ко многим» между двумя типами данных. Как показано на приведенной выше диаграмме, узлы соединяются друг с другом, образуя отношения родитель-потомок. Каждый дочерний узел будет иметь только одного родителя.
Что такое модель сетевой базы данных
Сетевая модель является расширением иерархической модели, которая упорядочивает данные в структуре, подобной графу. В отличие от модели иерархии, узел в сетевой модели может иметь несколько родителей. Кроме того, данные в базе данных, созданной с использованием сетевой модели, будут иметь больше связей.
Кроме того, этот тип связи между данными помогает легко и быстро получить доступ к данным. Эта модель помогает представлять многие отношения.
Что такое модель реляционной базы данных
Кроме того, E.F.Codd представил модель реляционной базы данных, а 12 правил Codd помогают проверить, является ли СУБД моделью базы данных отношений.
Разница между иерархической сетью и моделью реляционной базы данных
Определение
основа
Иерархическая модель упорядочивает данные в древовидной структуре, в то время как сетевая модель упорядочивает данные в виде графа. Напротив, реляционная модель упорядочивает данные в таблицах. Следовательно, в этом главное отличие иерархической сети от модели реляционной базы данных.
отношения
Кроме того, важное различие между моделью иерархической сети и реляционной базы данных состоит в том, что, хотя иерархическая модель представляет отношение «один ко многим», модель сети представляет отношение «многие ко многим». Кроме того, реляционная модель может представлять как отношения «один ко многим», так и «многие ко многим».
Доступ к данным
Хотя доступ к данным в иерархической модели затруднен, доступ к данным в сетевой модели и реляционной модели проще.
гибкость
Кроме того, еще одно отличие между иерархической сетью и моделью реляционных баз данных заключается в их гибкости. Иерархическая модель менее гибкая, но сетевая модель и реляционная модель являются гибкими.
Заключение
Модели организации баз данных
2. Сетевая модель данных. В сетевых БД наряду с вертикальными реализованы и горизонтальные связи. Однако унаследованы многие недостатки иерархической и главный из них, необходимость четко определять на физическом уровне связи данных и столь же четко следовать этой структуре связей при запросах к базе.
3. Реляционная модель. Реляционная модель появилась вследствие стремления сделать базу данных как можно более гибкой. Данная модель предоставила простой и эффективный механизм поддержания связей данных.
Рассмотрим более подробно эти модели данных далее.
Иерархическая модель базы данных
Корневая запись каждого дерева обязательно должна содержать ключ с уникальным значением. Ключи некорневых записей должны иметь уникальное значение только в рамках группового отношения. Каждая запись идентифицируется полным сцепленным ключом, под которым понимается совокупность ключей всех записей от корневой, по иерархическому пути.
Пример
Рассмотрим следующую модель данных предприятия (см. рис. 4.2): предприятие состоит из отделов, в которых работают сотрудники. В каждом отделе может работать несколько сотрудников, но сотрудник не может работать более чем в одном отделе.
Поэтому, для информационной системы управления персоналом необходимо создать групповое отношение, состоящее из родительской записи ОТДЕЛ (НАИМЕНОВАНИЕ_ОТДЕЛА, ЧИСЛО_РАБОТНИКОВ) и дочерней записи СОТРУДНИК (ФАМИЛИЯ, ДОЛЖНОСТЬ, ОКЛАД). Это отношение показано на рис. 4.2 (а) (Для простоты полагается, что имеются только две дочерние записи).
Из этого примера видны недостатки иерархических БД :
Частично дублируется информация между записями СОТРУДНИК и ИСПОЛНИТЕЛЬ (такие записи называют парными), причем в иерархической модели данных не предусмотрена поддержка соответствия между парными записями.
Иерархическая модель реализует отношение между исходной и дочерней записью по схеме 1:N, то есть одной родительской записи может соответствовать любое число дочерних.
Операции над данными, определенные в иерархической модели :
В операции ИЗВЛЕЧЬ допускается задание условий выборки (например, извлечь сотрудников с окладом более 10 тысяч руб.)
Как видим, все операции изменения применяются только к одной «текущей» записи (которая предварительно извлечена из базы данных ). Такой подход к манипулированию данных получил название «навигационного».
Ограничения целостности
Поддерживается только целостность связей между владельцами и членами группового отношения (никакой потомок не может существовать без предка). Как уже отмечалось, не обеспечивается автоматическое поддержание соответствия парных записей, входящих в разные иерархии.
Основные виды баз данных и их модели
Модели баз данных — иерархическая база данных
Иерархическая модель базы данных подразумевает, что элементы организованы в структуры, связанные между собой иерархическими или древовидными связями. Родительский элемент может иметь несколько дочерних элементов. Но у дочернего элемента может быть только один предок.
« Система управления информацией » ( Information Management System ) компании IMB — пример иерархической СУБД.
Иерархическая база данных — пример
Будем считать, что в рамках данной статьи примером иерархической базы данных является организация, хранящая информацию о своём работнике: имя, номер сотрудника, отдел и зарплату. Организация также может хранить информацию о его детях, их имена и даты рождения.
Данные о сотруднике и его детях формируют иерархическую структуру, где информация о сотруднике – это родительский элемент, а информация о детях — дочерний элемент. Если у сотрудника три ребёнка, то с родительским элементом будут связаны три дочерних. Иерархическая база данных подразумевает, что отношение « родитель-потомок » — это отношение « один ко многим ». То есть у дочернего элемента не может быть больше одного предка.
Иерархические БД были популярны, начиная с конца 1960-х годов, когда компания IBM представила свою СУБД «Система управления информацией. Иерархическая схема состоит из типов записей и типов « родитель-потомок »:
Сетевая модель базы данных
Сетевая модель базы данных подразумевает, что у родительского элемента может быть несколько потомков, а у дочернего элемента — несколько предков. Записи в такой модели связаны списками с указателями. IDMS (« Интегрированная система управления данными ») от компании Computer Associates international Inc. — пример сетевой СУБД.
Иерархическая модель данных структурирует данные в виде древа записей, где есть один родительский элемент и несколько дочерних. Сетевая модель позволяет иметь несколько предков и потомков, формирующих решётчатую структуру.
Популярность сетевой модели совпала с популярностью иерархической модели. Некоторые данные намного естественнее моделировать с несколькими предками для одного дочернего элемента. Сетевая модель как раз и позволяла моделировать отношения «многие ко многим». Её стандарты были формально определены в 1971 году на конференции по языкам систем обработки данных ( CODASYL ).
Основной элемент сетевой модели данных — набор, который состоит из типа « запись-владелец », имени набора и типа « запись-член ». Запись подчинённого уровня (« запись-член ») может выполнять свою роль в нескольких наборах. Соответственно, поддерживается концепция нескольких родительских элементов.
Известные сетевые базы данных:
Реляционная модель базы данных
« В реляционной модели, как объекты, так и их отношения представлены только таблицами, и ничем более ».
РСУБД — реляционная система управления базами данных, основанная на реляционной модели Э. Ф. Кодда. Она позволяет определять структурные аспекты данных, обработки отношений и их целостности. В такой базе информационное наполнение и отношения внутри него представлены в виде таблиц — наборов записей с общими полями.
Реляционные таблицы обладают следующими свойствами:
Некоторые поля могут быть определены как ключевые. Это значит, что для ускорения поиска конкретных значений будет использоваться индексация. Когда поля двух различных таблиц получают данные из одного набора, можно использовать оператор JOIN для выбора связанных записей двух таблиц, сопоставив значения полей.
Часто у полей будет одно и то же имя в обеих таблицах. Например, таблица « Заказы » может содержать пары « ID-покупателя » и « код-товара ». А в таблице « Товар » могут быть пары « код-товара » и « цена ». Поэтому чтобы рассчитать чек для определённого покупателя, необходимо суммировать цену всех купленных им товаров, использовав JOIN в полях « код-товара » этих двух таблиц. Такие действия можно расширить до объединения нескольких полей в нескольких таблицах.
Поскольку отношения здесь определяются только временем поиска, реляционные базы данных классифицируются как динамические системы.
Сравниваем три модели баз данных
Первая, иерархическая модель данных, имеет древовидную структуру (« родитель-потомок »), и поддерживает только отношения типа « один к одному » или « один ко многим ». Эта модель позволяет быстро получать данные, но не отличается гибкостью. Иногда роль элемента ( родителя или потомка ) неясна и не подходит для иерархической модели.
Третья модель — реляционная — более гибкая, чем иерархическая и проще для управления, чем сетевая. Реляционная модель сегодня используется чаще всего.
Объект в реляционной модели баз данных определяется как позиция информации, хранимой в базе данных. Объект может быть осязаемым или неосязаемым. Примером осязаемого объекта может быть сотрудник организации, а примером неосязаемой сущности — учётная запись покупателя. Объекты определяются атрибутами — информационным отображением свойств объекта. Эти атрибуты также известны как столбцы, а группа столбцов — как ряд. Ряд также можно определить как экземпляр объекта.
Объекты связываются отношениями, основные типы которых можно определить следующим образом:
«Один к одному»
У каждого менеджера может быть только один отдел, и наоборот.
«Один ко многим»
Каждый сотрудник может быть только в одном отделе, но в самом отделе может быть больше одного сотрудника.
«Многие ко многим»
Сотрудник может участвовать в нескольких проектах, и каждый проект может объединять несколько сотрудников.
В реляционной модели объекты и их отношения представлены двухмерным массивом или таблицей.
Каждая таблица представляет объект.
Каждая таблица состоит из рядов и столбцов.
Отношения между объектами представлены столбцами.
Каждый столбец представляет атрибут объекта.
Значения столбцов выбираются из области или набора всех возможных значений.
Столбцы, которые используются для связи объектов, называются ключевыми. Есть два типа ключей — первичные и внешние.
Первичные служат для однозначного определения объекта. Внешний ключ — это первичный ключ одного объекта, существующий как атрибут в другой таблице.
Преимущества реляционной модели данных:
Другие модели баз данных (ООСУБД)
В последнее время на рынке СУБД появились продукты, представленные объектными и объектно-ориентированной моделью данных, такие как Gem Stone и Versant ОСУБД. Также производятся исследования в области многомерных и логических моделей данных.
Особенности объектно-ориентированных систем управления базами данных (ООСУБД):
А также поддержку классов объектов и наследование свойств и методов классов подклассами и их объектами.
На данный момент не существует общепринятого стандарта ООСУБД. Считается, что подобные модели данных находится на ранней стадии развития.
Пожалуйста, оставляйте ваши отзывы по текущей теме статьи. За комментарии, отклики, дизлайки, лайки, подписки низкий вам поклон!
Пожалуйста, оставьте ваши комментарии по текущей теме материала. Мы очень благодарим вас за ваши комментарии, лайки, отклики, подписки, дизлайки!