408.09K
Category: databasedatabase

Типы моделей данных

1.

29.09.2023 Основы проектирования баз данных

2.

Ядром любой базы данных есть модель данных.
Модель данных представляет собой великое множество
структур данных, ограничений целостности и операций
манипулирования данными. С помощью модели данных могут
быть представленные объекты предметной области,
взаимосвязи между ними.
Модель данных - это совокупность структур данных и
операций их обработки. Современная СУБД базируется на
использовании иерархической, сетевой, реляционной и
объектно-ориентированной моделях данных, комбинации
этих моделей или на некотором их подмножестве.
Рассмотрим несколько основных типа моделей данных:
Иерархическую;
Сетевую;
Реляционнную;
Объектно-ориентированную.

3.

Иерархическая модель данных — это модель данных, где
используется представление базы данных в
виде древовидной (иерархической) структуры, состоящей из
объектов (данных) различных уровней.
Между объектами существуют связи, каждый объект может
включать в себя несколько объектов более низкого уровня. Такие
объекты находятся в отношении предка (объект более близкий к
корню) к потомку (объект более низкого уровня), при этом возможна
ситуация, когда объект-предок имеет несколько потомков, тогда как
у объекта-потомка обязателен только один предок. Объекты,
имеющие общего предка, называются близнецами (в
программировании применительно к структуре данных дерево
устоялось название братья).
Базы данных с иерархической моделью одни из самых старых, и
стали первыми системами управления базами
данных для мейнфреймов. Разрабатывались в 1950-х и 1960-х,
например, Information Management System (IMS)[1] фирмы IBM.

4.

5.

В стандартном виде иерархическая модель данных состоит из следующих
компонентов:
Атрибут. Минимальный неделимый элемент, к которому пользователь имеет
доступ. В процессе использования каждый атрибут получает имя, по
которому к нему можно обратиться из программного кода.
Запись. Комплекс логически взаимосвязанных элементов (атрибутов) с
уникальным именем. Обращаясь к «Записи», можно за считаные секунды
отправить в обработку огромный массив информации. При этом записи
могут добавляться, преобразовываться и удаляться. В зависимости от
специфики атрибутов, входящих в состав «Записи», ее можно представить в
разных форматах.
Экземпляр записи. Состоит из записи с четко обозначенным количеством и
значением атрибутов.
Групповое отношение. Иерархия данных между элементами двух разных
типов.
Например: между «предками» и «потомками», родительскими записями
(расположены на вершине дерева) и дочерними (расположены ниже по
иерархии).

6.

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

7.

В качестве ключевых функциональных единиц в этом
случае используются «Поле» и «Сегмент». «Поле»
(«Атрибут») представляет собой минимальный
неделимый элемент, который находится в доступности
у пользователя. Это крошечный винтик в гигантской
многофункциональной системе. «Сегмент» — это
комплекс полей данных с указанием их видов. Из этого
следует, что иерархическая база данных – это БД, в
которой все объекты пребывают в тесной взаимосвязи
друг с другом. При этом вне зависимости от
количества все они строго систематизированы и
упорядочены.

8.

Процесс трансформации концептуальной модели БД в древовидную
осуществляется аналогично преобразованию в сетевую модель.
Однако в этой ситуации все же есть ряд нюансов, которые
обязательно необходимо учитывать. Преобразование связей между
«предком» и «потомком» происходит практически автоматически
при условии, если у потомка есть только один предок. В этом случае
каждый компонент, задействованный в подобном формате связи,
превращается в логистический сегмент. Впоследствии между
логистическими сегментами налаживается мощная взаимосвязь
типа – «1 ко многим», в рамках которой элемент со стороны «1»
превращается в «предка», а элемент со стороны «много»
превращается в потомка. В этом заключается принципиальное
отличие иерархической модели организации данных от сетевой.
Преобразование существенно затрудняется, если в
рассматриваемой связи потомок имеет больше одного предка. Такая
ситуация является недопустимой для древовидной модели базы
данных. Решить эту проблему можно только посредством
дублирования объектов и создания нового дерева.

9.

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

10.

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

11.

12.

Иерархическая структура базы данных – это основа функционирования семейства ОС Windows. Для
того чтобы убедиться в этом, достаточно воспользоваться традиционной опцией «Проводник».
Кликнув по ней, вы попадает в корень операционной системы, в которой расположены крупнейшие
структурные компоненты – «Этот компьютер», «Загрузки», «Изображения», «Музыка», «Рабочий
стол» и др. Двигаясь в направлении от корня до других структурных единиц, вы будете переходить
от одного уровня гигантской иерархической системы до другого. На практике это выглядит
примерно так: «Этот компьютер»→«Локальный диск
(С)»→«Пользователи»→«User»→«Документы»→«Файл». Таким образом, переходя от одной папки к
другой, вы, наконец, находите необходимую вам информацию. В данном случае иерархический вид
базы данных выступает в качестве вашего путеводителя, обеспечивающего быстрый и удобный
доступ ко всем компонентам системы. Помимо сферы программирования иерархические БД
повсеместно используются в биологии, географии и анатомии. Ключевая роль при этом отводится
ветвящейся структуре, с помощью которой производится классификация живых организмов, клеток,
органов и систем жизнедеятельности. Все они основываются на выстраивании иерархических
взаимосвязей. Особое распространение в биологии получила система «доминированияподчинения», которая считается основополагающим принципом иерархической модели СУБД. В
географии иерархия отчетливо прослеживается в административно-территориальном делении,
которое идет от большего к меньшему (от континентов к странам, от стран к областям, штатам и т.
д.). Кроме того, порядок подчинения низших элементов высшим встречается в обществе. Иерархия
может быть: социальной, классовой, государственной, профессиональной, этнической, церковной и
пр. Помимо науки и социальной сферы иерархическая модель используется при проектировании и
эксплуатации строительных и технических объектов, при архитектурном планировании в качестве
метода детализации планов.

13.

Преимущества иерархической модели
БД Иерархическая модель базы данных обладает широким спектром безоговорочных преимуществ, в
числе прочих выделяют:
Эффективное использование памяти электронно-вычислительных машин.
Простота концепции.
Автономность и независимость всех компонентов системы.
Высокая скорость обработки операций: от подачи команды до ее выполнения проходит минимум
времени.
Целостность представленных данных.
Выполнение широкого спектра узкопрофильных задач.
Высокий уровень безопасности системы.
Удобство работы с большими массивами информации.
Иерархическая модель данных основана на большом количестве компонентов с различным уровнем
подчинения, что обеспечивает упрощенный доступ к информации.
Недостатки иерархической базы данных
Несмотря на универсальность использования иерархические модели БД имеют некоторые недостатки,
в частности:
Громоздкость.
Наличие большого количества логических взаимосвязей значительно усложняет применение моделей
данного формата.
Трудность в восприятии обычным пользователем.
Сложность управления и реализации СУБД зачастую ставит в тупик среднестатистических
пользователей. Даже опытному специалисту будет трудно освоить ранее неизвестную базу.
Трудность в применении.
Работа с иерархической моделью БД требует задействования серьезных ресурсов.
Причем не только материальных, но и временных и человеческих.
Кроме того, применение объемных разветвленных систем часто приводит к утрудненному доступу к
файлам. Это обусловлено тем, что большинство имеющихся связей базируются на принципе
навигационности.

14.

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

15.

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

16.

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

17.

18.

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

19.

Реляционную модель предложил британский математик Эдгар Кодд на
рубеже шестидесятых и семидесятых годов XX в. Она основывается на
теории множеств и представляет все данные в привычной, строгой и
логичной форме обыкновенных таблиц. Такие таблицы в математике
именуют отношением (англ. relation — отсюда и название модели). Кодд
сформулировал единые для любой реляционной базы данных законы и
заложил основы построения запросов для работы с данными.
Реляционная база данных — это составленная по реляционной модели база
данных, в которой данные, занесенные в таблицы, имеют изначально
заданные отношения. Сами таблицы в такой базе данных также соотносятся
друг с другом строго определенным образом. Реляционные базы данных
используют целый комплекс инструментов, которые обеспечивают
целостность данных, т. е. их точность, полноту и единообразие.
Для взаимодействия с любой реляционной базой данных используется SQL
(Structured Query Language) — язык структурированных запросов. Это
основа интерфейса систем управления базами данных. Он
стандартизирован с 1986 года и поддерживается всеми известными ядрами
реляционных баз данных. SQL позволяет работать со строками таблиц
(например, удалять, добавлять или изменять их), а также извлекать нужные
блоки информации и производить транзакции.

20.

Транзакция — это комплекс последовательных
операций с применением операторов SQL, имеющих
определенную цель. Все транзакции должны отвечать
четырем требованиям ACID:
Атомарность (англ. atomicity) — транзакция является
неделимым блоком и выполняется или полностью, или
никак.
Согласованность (англ. consistency) — завершенная
транзакция сохраняет согласованность базы данных.
Изолированность (англ. isolation) — параллельные
транзакции не могут влиять друг на друга.
Устойчивость (англ. durability) — никакой сбой в
системе не может влиять на результат завершенной
транзакции.

21.

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

22.

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

23.

MySQL
Данную открытую систему управления базами данных
американская корпорация Oracle приобрела в комплекте с Sun
Microsystems. Опрос, проведенный порталом
StackOverflow.com два года назад, в котором приняли участие
65 000 пользователей, показал, что около 55,6 %
разработчиков работают с MySQL.
Такая популярность обусловлена высокой скоростью
управления данными и возможностью бесплатного
использования. MySQL изначально разрабатывалась, чтобы
обрабатывать огромные информационные базы в
промышленных объемах. Впоследствии, когда разработчики
оценили ее быстродействие и бесплатность, эта СУБД
покорила мировой Интернет. Пока MySQL остается наиболее
удобной системой управления данными для работы и вебприложениями, и страницами.

24.

PostgreSQL
Это наиболее продвинутая система управления
реляционными базами данных. PostgreSQL
является свободной объектно-реляционной СУБД.
Уникальность данной СУБД состоит в том, что
кроме стандартных типов данных,
поддерживаемых другими реляционными
системами, она может работать с финансовой
информацией, сетевыми адресами, JSON, XML и
геометрическими данными. Более того,
PostgreSQL может создавать свои типы данных.

25.

Microsoft SQL Server.
Microsoft SQL Server — система управления
реляционными базами данных (РСУБД), разработанная
корпорацией Microsoft. Основной используемый язык
запросов — Transact-SQL, создан совместно Microsoft
и Sybase. Transact-SQL является реализацией
стандарта ANSI/ISO по структурированному языку
запросов (SQL) с расширениями. Используется для
работы с базами данных размером от персональных до
крупных баз данных масштаба предприятия; конкурирует
с другими СУБД в этом сегменте рынка.
English     Русский Rules