Иерархические базы данных

Типов современных баз данных: краткие описания, схемы и примеры БД

 

Любые данные где-то хранятся. Будь это интернет вещей или пароли в *nix. Показываем схемы основных типов баз данных, чтобы наглядно представить различия между ними.

 

Типы баз данных, называемых также моделями БД или семействами БД, представляют собой шаблоны и структуры, используемые для организации данных в системе управления базами данных (СУБД). Выбор типа повлияет на то, какие операции сможет выполнять приложение, как будут представлены данные, на функции СУБД для разработки и рантайма.

I. Простейшие типы баз данных

Начнём с трёх типов БД, которые всё ещё могут встречаться в специализированных средах, но в основном заменены надежными и производительными альтернативами.

Простые структуры данных

Первый и простейший способ хранения данных – текстовые файлы. Метод применяется и сегодня для работы с небольшими объёмами информации. Для разделения полей используется специальный символ: запятая или точка с запятой в csv-файлах датасетов, двоеточие или пробел в *nix-подобных системах:

/etc/passwd в *nix системе

       root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

bin:x:2:2:bin:/bin:/usr/sbin/nologin

sys:x:3:3:sys:/dev:/usr/sbin/nologin

sync:x:4:65534:sync:/bin:/bin/sync

games:x:5:60:games:/usr/games:/usr/sbin/nologin

man:x:6:12:man:/var/cache/man:/usr/sbin/nologin

lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin

mail:x:8:8:mail:/var/mail:/usr/sbin/nologin

news:x:9:9:news:/var/spool/news:/usr/sbin/nologin

backup:x:34:34:backup:/var/backups:/usr/sbin/nologin

list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin

nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin

syslog:x:102:106::/home/syslog:/usr/sbin/nologin

bob:x:1000:1000:Bob Smith,,,:/home/bob:/bin/bash

       

Следствия:

· ограничен тип и уровень сложности хранимой информации;

· трудно установить связи между компонентами данных;

· отсутствие функций параллелизма;

· практичны только для систем с небольшими требованиями к чтению и записи;

· используются для хранения конфигурационных данных;

· нет необходимости в стороннем программном обеспечении.

Примеры:

· /etc/passwd и /etc/fstab в *nix-системах

· csv-файлы

Иерархические базы данных

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

Пример построения иерархических связей

Следствия:

· информация организована в виде древовидной структуры с отношениями «предок-потомок»;

· каждая запись может иметь не более одного родителя;

· связи между записями выполнены в виде физических указателей;

· невозможно реализовать отношения «многих-ко-многим».

Примеры:

· файловые системы

· DNS

· LDAP

Сетевые базы данных

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

 

Пример связей в сетевой базе данных

Следствия:

· сетевые базы данных представляются не деревом, а общим графом

· ограничены теми же шаблонами доступа, что иерархические БД

Примеры:

· IDMS

II. Реляционные БД

SQL базы данных

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

 

Следствия:

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

· высокоорганизованная структура и гибкость делает реляционные БД мощными и адаптируемыми ко различным типам данных;

· для доступа к данным используется язык структурированных запросов (SQL);

· надёжный выбор для многих приложений.

Примеры:

· MySQL

· MariaDB

· PostgreSQL

· SQLite

III. NoSQL базы данных

NoSQL – группа типов БД, предлагающих подходы, отличные от стандартного реляционного шаблона. Говоря NoSQL, подразумевают либо «не-SQL», либо «не только SQL», чтобы уточнить, что иногда допускается SQL-подобный запрос.


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



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