Назовите основные способы организации данных в базах данных кратко

Обновлено: 02.07.2024

Свидетельство и скидка на обучение каждому участнику

Зарегистрироваться 15–17 марта 2022 г.

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

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

При построении логической модели данных используются ниже перечисленные модели представления данных, поддерживаемые СУБД:

К ранним (дореляционным) СУБД относятся системы, основанные на инвертированных списках, иерархические и сетевые. Эти системы исторически предшествовали реляционным системам, внутренняя организация которых во многом основана на использовании методов ранних систем.

Иерархическая модель данных (рис. 1) близка по своей идее к иерархической (древовидной) структуре. Эта модель позволяет строить иерархию элементов БД, т.е. у каждого элемента может быть несколько “наследников” и существует один “родитель”. Для каждого уровня связи вводится интерпритация, зависящая от предметной области и описывающая взаимоотношения между “родителями” и “наследниками”.

hello_html_m7a6c2b1f.jpg

Рис. 1. Графическое представление иерархической модели данных

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

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

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

hello_html_2e58a4d8.jpg

Рис. 2. Графическое представление сетевой модели данных

Достоинства: высокая скорость поиска и возможность адекватно представлять многие задачи в самых различных предметных областях. Высокая скорость поиска основывается на классическом способе физической реализации сетевой модели - на основе списков.

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

Для реляционной модели (рис. 3) выбрано представление данных на основе математического понятия отношения . Оно очень близко к понятию таблица . По-английски отношение - relation , отсюда и название “ реляционные СУБД”.

Реляционная модель БД – это набор информации, сгруппированной в одну или несколько таблиц. Таблица состоит из рядов и столбцов.

hello_html_6b28aa45.jpg

Рис. 2. Графическое представление реляционной модели данных

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

Для работы с реляционными СУБД используется стандартизированный язык структурированных запросов SQL ( Structured Query Language ).

Четкий математический базис для работы с данными.

Высокая стандартизованность реляционных СУБД.

Нефункциональность языка запросов SQL . Это означает, что пользователь формулируете не то, КАК надо найти данные, а то, ЧТО необходимо найти.

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

В объектно-ориентированном программировании отсутствуют общие средства манипулирования данными. Работа с данными ведется с помощью одного из объектно-ориентированных языков программирования общего назначения, обычно это SmallTalk, C++ или Java.

Для поддержания целостности объектно-ориентированный подход предлагает использовать следующие средства:

автоматическое поддержание отношений наследования;

создание процедур контроля целостности внутри объекта.

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

Иерархические БД – это такие БД, в которых данные и связи между ними можно представить в виде иерархической структуры, именуемой деревом. Например:

ФИО дата рождения зарплата адрес профессия

день месяц год код должность

Особенность иерархической БД – каждый элемент связан строго с одним предшественником.

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

Например, если рассмотреть происхождение людей только по отцовской линии, то получится генеалогическое дерево, т.е. иерархическая структура.

Алексей Егор Александр

Реляционные БД – это такие БД, в которых данные и связи между ними представляются в виде двухмерных таблиц. Например:

Фамилия Курс Форма обучения Средний балл
Ковалев Н.П. очная 4.24
Зонова Е.А. заочная 3.76
….
Мельников С.С. вечерняя 4.15

Реляционные БД в настоящее время получили наибольшее распространение. Остановимся на них более подробно.

Различают следующие основные способы организации БД:

Иерархические БД – это такие БД, в которых данные и связи между ними можно представить в виде иерархической структуры, именуемой деревом. Например:

ФИО дата рождения зарплата адрес профессия

день месяц год код должность

Особенность иерархической БД – каждый элемент связан строго с одним предшественником.

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

Например, если рассмотреть происхождение людей только по отцовской линии, то получится генеалогическое дерево, т.е. иерархическая структура.

Алексей Егор Александр

Реляционные БД – это такие БД, в которых данные и связи между ними представляются в виде двухмерных таблиц. Например:

Фамилия Курс Форма обучения Средний балл
Ковалев Н.П. очная 4.24
Зонова Е.А. заочная 3.76
….
Мельников С.С. вечерняя 4.15

Реляционные БД в настоящее время получили наибольшее распространение. Остановимся на них более подробно.

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

- справочная адресная служба большого города;

- транспортная информационная система, обеспечивающая не только возможность получения справочной информации о расписании поездов и самолётов, но и покупку железнодорожных и авиабилетов;

- информационно-поисковая система, содержащая информацию правового характера.

Центральной частью любой информационной системы является база данных.

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

Базу данных можно рассматривать как информационную модель предметной области.

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

В иерархической базе данных существует упорядоченность объектов по уровням. Между объектами существуют связи: каждый объект может быть связан с объектами более низкого уровня. Говорят, что такие объекты находятся в отношении предка к потомку. Иерархический способ организации данных реализован в системе папок операционной системы Windows. Верхний уровень занимает папка Рабочий стол. Папки второго уровня Мой компьютер, Корзина и Сетевое окружение являются её потомками. Папка Мой компьютер является предком для папок Диск А, Диск С и т. д. Поиск какого-либо объекта в такой базе данных может оказаться довольно трудоёмким из-за необходимости последовательно проходить несколько предшествующих иерархических уровней.

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

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

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

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

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

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

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

  • ограничен тип и уровень сложности хранимой информации;
  • трудно установить связи между компонентами данных;
  • отсутствие функций параллелизма;
  • практичны только для систем с небольшими требованиями к чтению и записи;
  • используются для хранения конфигурационных данных;
  • нет необходимости в стороннем программном обеспечении.
  • /etc/passwd и /etc/fstab в *nix-системах
  • csv-файлы

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

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

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

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

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

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

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

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

4. SQL базы данных

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

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

  • поле в таблице, называемое внешним ключом, может содержать ссылки на столбцы в других таблицах, что позволяет их соединять;
  • высокоорганизованная структура и гибкость делает реляционные БД мощными и адаптируемыми ко различным типам данных;
  • для доступа к данным используется язык структурированных запросов (SQL);
  • надёжный выбор для многих приложений.

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

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

6. Документная база данных

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

  • база данных не предписывает опредёленный формат или схему;
  • каждый документ может иметь свою внутреннюю структуру;
  • документные БД являются хорошим выбором для быстрой разработки;
  • в любой момент можно менять свойства данных, не изменяя структуру или сами данные.

7. Графовая база данных

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

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

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

  • выглядят аналогично сетевым;
  • фокусируются на связях между элементами;
  • явно отображает связи между типами данных;
  • не требуют пошагового обхода для перемещения между элементами;
  • нет ограничений в типах представляемых связей.

8. Колоночные базы данных

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

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

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

9. Базы данных временных рядов

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

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

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

NewSQL и многомодельные БД являются разными типами баз данных, но решают одну группу проблем, вызванных полярными подходами SQL или NoSQL-стратегии. Почему бы не объединить преимущества обеих групп?

10. NewSQL базы данных

NewSQL базы данных наследуют реляционную структуру и семантику, но построены с использованием более современных, масштабируемых конструкций. Цель – обеспечить большую масштабируемость, нежели реляционные БД, и более высокие гарантии согласованности, чем в NoSQL. Компромисс между согласованностью и доступностью является фундаментальной проблемой распределённых баз данных, описываемой теоремой CAP.

  • возможность горизонтального масштабирования;
  • высокая доступность;
  • большая производительность и репликация;
  • небольшой функционал и гибкость;
  • немалое потребление ресурсов и необходимость специализированных знаний для работы с базой данных.

11. Многомодельные базы данных

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

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

  • помогают уменьшить нагрузку на СУБД;
  • позволяют расширяться до новых моделей по мере изменения потребностей без внесения изменений в базовую инфраструктуру;
  • обеспечивают непрерывный доступ и простое распределение данных;
  • имеют линейную масштабируемость и просты для разработки.

Заключение

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

Читайте также: