Назовите основные способы организации данных в базах данных кратко
Обновлено: 02.07.2024
Свидетельство и скидка на обучение каждому участнику
Зарегистрироваться 15–17 марта 2022 г.
Системы автоматизации Базы данных манипулируют с конкретной моделью организации данных на машинном носителе. Модель данных определяется способом организации данных, ограничениями целостности и множеством операций, допустимых над объектами организации данных.
Модель данных – это абстрактное, самодостаточное, логическое определение объектов, операторов и прочих элементов, в совокупности составляющих абстрактную машину доступа к данным, с которой взаимодействует пользователь. Эти объекты позволяют моделировать структуру данных, а операторы – поведение данных.
При построении логической модели данных используются ниже перечисленные модели представления данных, поддерживаемые СУБД:
К ранним (дореляционным) СУБД относятся системы, основанные на инвертированных списках, иерархические и сетевые. Эти системы исторически предшествовали реляционным системам, внутренняя организация которых во многом основана на использовании методов ранних систем.
Иерархическая модель данных (рис. 1) близка по своей идее к иерархической (древовидной) структуре. Эта модель позволяет строить иерархию элементов БД, т.е. у каждого элемента может быть несколько “наследников” и существует один “родитель”. Для каждого уровня связи вводится интерпритация, зависящая от предметной области и описывающая взаимоотношения между “родителями” и “наследниками”.
Рис. 1. Графическое представление иерархической модели данных
Достоинства : возможность реализовать очень быстрый поиск, когда условия запроса соответствуют иерархии в схеме БД.
Недостатки: большая жесткость схемы. Если запрос не соответствует имеющейся иерархии, то его программирование и исполнение требуют значительных усилий. Другой недостаток- сложность внесения изменений.
Сетевая модель является развитием иерархической модели (рис. 2). Она основывается на понятиях элемента данных и связей, задающих логику взаимоотношений между данными. Связи от каждого элемента могут быть направлены на произвольное количество других элементов. Каждый элемент данных описывает некоторое понятие из предметной области и характеризуется некоторыми атрибутами.
Рис. 2. Графическое представление сетевой модели данных
Достоинства: высокая скорость поиска и возможность адекватно представлять многие задачи в самых различных предметных областях. Высокая скорость поиска основывается на классическом способе физической реализации сетевой модели - на основе списков.
Недостатки: жесткость, т.е. поиск данных и доступ к ним возможен только по тем связям, которые реально существуют в данной конкретной модели.
Для реляционной модели (рис. 3) выбрано представление данных на основе математического понятия отношения . Оно очень близко к понятию таблица . По-английски отношение - relation , отсюда и название “ реляционные СУБД”.
Реляционная модель БД – это набор информации, сгруппированной в одну или несколько таблиц. Таблица состоит из рядов и столбцов.
Рис. 2. Графическое представление реляционной модели данных
Каждый ряд (запись) в таблице описывает некий отдельный объект, поля содержат характеристики, значения неких признаков этих объектов. Записи в таблице объединяются по какому-то признаку. Связь между таблицами существует на логическом уровне и определяется предметной областью. Практически связь между таблицами устанавливается за счет логически связанных данных в разных таблицах.
Для работы с реляционными СУБД используется стандартизированный язык структурированных запросов SQL ( Structured Query Language ).
Четкий математический базис для работы с данными.
Высокая стандартизованность реляционных СУБД.
Нефункциональность языка запросов SQL . Это означает, что пользователь формулируете не то, КАК надо найти данные, а то, ЧТО необходимо найти.
Недостатки: атомарность, ограниченность, предопределенность набора возможных типов данных атрибутов. Это затрудняет использование реляционных моделей для некоторых современных приложений. Данная проблема решается расширением реляционных моделей в объектно-реляционные.
В объектно-ориентированном программировании отсутствуют общие средства манипулирования данными. Работа с данными ведется с помощью одного из объектно-ориентированных языков программирования общего назначения, обычно это SmallTalk, C++ или Java.
Для поддержания целостности объектно-ориентированный подход предлагает использовать следующие средства:
автоматическое поддержание отношений наследования;
создание процедур контроля целостности внутри объекта.
Появление объектно-ориентированных СУБД вызвано потребностями программистов, которым были необходимы средства для хранения объектов, не помещавшихся в оперативной памяти компьютера. Также важна была задача сохранения состояния объектов между повторными запусками прикладной программы. Поэтому большинство СУБД представляют собой библиотеку, процедуры управления данными которой включаются в прикладную программу.
Иерархические БД – это такие БД, в которых данные и связи между ними можно представить в виде иерархической структуры, именуемой деревом. Например:
ФИО дата рождения зарплата адрес профессия
день месяц год код должность
Особенность иерархической БД – каждый элемент связан строго с одним предшественником.
Сетевые БД – это такие БД , в которых в общем случае любой элемент может быть связан с любым другим элементом.
Например, если рассмотреть происхождение людей только по отцовской линии, то получится генеалогическое дерево, т.е. иерархическая структура.
Алексей Егор Александр
Реляционные БД – это такие БД, в которых данные и связи между ними представляются в виде двухмерных таблиц. Например:
Фамилия | Курс | Форма обучения | Средний балл |
Ковалев Н.П. | очная | 4.24 | |
Зонова Е.А. | заочная | 3.76 | |
…. | … | … | … |
Мельников С.С. | вечерняя | 4.15 |
Реляционные БД в настоящее время получили наибольшее распространение. Остановимся на них более подробно.
Различают следующие основные способы организации БД:
Иерархические БД – это такие БД, в которых данные и связи между ними можно представить в виде иерархической структуры, именуемой деревом. Например:
ФИО дата рождения зарплата адрес профессия
день месяц год код должность
Особенность иерархической БД – каждый элемент связан строго с одним предшественником.
Сетевые БД – это такие БД , в которых в общем случае любой элемент может быть связан с любым другим элементом.
Например, если рассмотреть происхождение людей только по отцовской линии, то получится генеалогическое дерево, т.е. иерархическая структура.
Алексей Егор Александр
Реляционные БД – это такие БД, в которых данные и связи между ними представляются в виде двухмерных таблиц. Например:
Фамилия | Курс | Форма обучения | Средний балл |
Ковалев Н.П. | очная | 4.24 | |
Зонова Е.А. | заочная | 3.76 | |
…. | … | … | … |
Мельников С.С. | вечерняя | 4.15 |
Реляционные БД в настоящее время получили наибольшее распространение. Остановимся на них более подробно.
Современный человек в своей практической деятельности всё чаще и чаще использует различные информационные системы, обеспечивающие хранение, поиск и выдачу информации по его запросам. Примерами информационных систем являются:
- справочная адресная служба большого города;
- транспортная информационная система, обеспечивающая не только возможность получения справочной информации о расписании поездов и самолётов, но и покупку железнодорожных и авиабилетов;
- информационно-поисковая система, содержащая информацию правового характера.
Центральной частью любой информационной системы является база данных.
База данных (БД) — совокупность данных, организованных по определённым правилам, отражающая состояние объектов и их отношений в некоторой предметной области (транспорт, медицина, образование, право и т. д.), предназначенная для хранения во внешней памяти компьютера и для постоянного применения.
Базу данных можно рассматривать как информационную модель предметной области.
Основными способами организации данных в базах данных являются иерархический, сетевой и реляционный.
В иерархической базе данных существует упорядоченность объектов по уровням. Между объектами существуют связи: каждый объект может быть связан с объектами более низкого уровня. Говорят, что такие объекты находятся в отношении предка к потомку. Иерархический способ организации данных реализован в системе папок операционной системы Windows. Верхний уровень занимает папка Рабочий стол. Папки второго уровня Мой компьютер, Корзина и Сетевое окружение являются её потомками. Папка Мой компьютер является предком для папок Диск А, Диск С и т. д. Поиск какого-либо объекта в такой базе данных может оказаться довольно трудоёмким из-за необходимости последовательно проходить несколько предшествующих иерархических уровней.
Любые данные где-то хранятся. Будь это интернет вещей или пароли в *nix. Показываем схемы основных типов баз данных, чтобы наглядно представить различия между ними.
Типы баз данных, называемых также моделями БД или семействами БД, представляют собой шаблоны и структуры, используемые для организации данных в системе управления базами данных (СУБД). Выбор типа повлияет на то, какие операции сможет выполнять приложение, как будут представлены данные, на функции СУБД для разработки и рантайма.
Начнём с трёх типов БД, которые всё ещё могут встречаться в специализированных средах, но в основном заменены надежными и производительными альтернативами.
1. Простые структуры данных
Первый и простейший способ хранения данных – текстовые файлы. Метод применяется и сегодня для работы с небольшими объёмами информации. Для разделения полей используется специальный символ: запятая или точка с запятой в csv-файлах датасетов, двоеточие или пробел в *nix-подобных системах:
/etc/passwd в *nix системе
- ограничен тип и уровень сложности хранимой информации;
- трудно установить связи между компонентами данных;
- отсутствие функций параллелизма;
- практичны только для систем с небольшими требованиями к чтению и записи;
- используются для хранения конфигурационных данных;
- нет необходимости в стороннем программном обеспечении.
- /etc/passwd и /etc/fstab в *nix-системах
- csv-файлы
2. Иерархические базы данных
Пример построения иерархических связей
3. Сетевые базы данных
Сетевые базы данных расширяют функциональность иерархических: записи могут иметь более одного родителя. А значит, можно моделировать сложные отношения.
Пример связей в сетевой базе данных
- сетевые базы данных представляются не деревом, а общим графом
- ограничены теми же шаблонами доступа, что иерархические БД
4. SQL базы данных
Реляционные базы данных – старейший тип до сих пор широко используемых БД общего назначения. Данные и связи между данными организованы с помощью таблиц. Каждый столбец в таблице имеет имя и тип. Каждая строка представляет отдельную запись или элемент данных в таблице, который содержит значения для каждого из столбцов.
- поле в таблице, называемое внешним ключом, может содержать ссылки на столбцы в других таблицах, что позволяет их соединять;
- высокоорганизованная структура и гибкость делает реляционные БД мощными и адаптируемыми ко различным типам данных;
- для доступа к данным используется язык структурированных запросов (SQL);
- надёжный выбор для многих приложений.
- хранилища обеспечивают быстрый и малозатратный доступ;
- часто хранят данные конфигураций и информацию о состоянии данных, представленных словарями или хэшем;
- нет жёсткой схемы отношения между данными, поэтому в таких БД часто хранят одновременно различные типы данных;
- разработчик отвечает за определение схемы именования ключей и за то, чтобы значение имело соответствующий тип/формат.
6. Документная база данных
- база данных не предписывает опредёленный формат или схему;
- каждый документ может иметь свою внутреннюю структуру;
- документные БД являются хорошим выбором для быстрой разработки;
- в любой момент можно менять свойства данных, не изменяя структуру или сами данные.
7. Графовая база данных
Вместо сопоставления связей с таблицами и внешними ключами, графовые базы данных устанавливают связи, используя узлы, рёбра и свойства.
Графовые базы представляют данные в виде отдельных узлов, которые могут иметь любое количество связанных с ними свойств.
- выглядят аналогично сетевым;
- фокусируются на связях между элементами;
- явно отображает связи между типами данных;
- не требуют пошагового обхода для перемещения между элементами;
- нет ограничений в типах представляемых связей.
8. Колоночные базы данных
Колоночные базы данных (также нереляционные колоночные хранилища или базы данных с широкими столбцами) принадлежат к семейству NoSQL БД, но внешне похож на реляционные БД. Как и реляционные, колоночные БД хранят данные, используя строки и столбцы, но с иной связью между элементами.
- БД удобны при работе с приложениями, требующими высокой производительности;
- данные и метаданные записи доступны по одному идентификатору;
- гарантировано размещение всех данных из строки в одном кластере, что упрощает сегментацию и масштабирование данных.
9. Базы данных временных рядов
Базы данных временны́х рядов созданы для сбора и управления элементами, меняющимися с течением времени. Большинство таких БД организованы в структуры, которые записывают значения для одного элемента. Например, можно создать таблицу для отслеживания температуры процессора. Внутри каждое значение будет состоять из временной метки и показателя температуры. В таблице может быть несколько метрик.
- ориентированы на запись;
- предназначены для обработки постоянного потока входных данных;
- производительность зависит от количества отслеживаемых элементов, интервала опроса между записью новых значений и фактической полезной нагрузки данных.
NewSQL и многомодельные БД являются разными типами баз данных, но решают одну группу проблем, вызванных полярными подходами SQL или NoSQL-стратегии. Почему бы не объединить преимущества обеих групп?
10. NewSQL базы данных
NewSQL базы данных наследуют реляционную структуру и семантику, но построены с использованием более современных, масштабируемых конструкций. Цель – обеспечить большую масштабируемость, нежели реляционные БД, и более высокие гарантии согласованности, чем в NoSQL. Компромисс между согласованностью и доступностью является фундаментальной проблемой распределённых баз данных, описываемой теоремой CAP.
- возможность горизонтального масштабирования;
- высокая доступность;
- большая производительность и репликация;
- небольшой функционал и гибкость;
- немалое потребление ресурсов и необходимость специализированных знаний для работы с базой данных.
11. Многомодельные базы данных
Многомодельные базы данных – базы, объединяющие функциональные возможности нескольких видов БД. Преимущества такого подхода очевидны – одна и та же система может использовать различные представления для разных типов данных.
Совместное размещение данных из нескольких типов БД в одной системе позволяет выполнять новые операции, которые в противном случае были бы затруднены или невозможны. Например, многомодельные базы могут позволить юзерам получить доступ к данным, хранящимся в разных типах БД, и управлять ими в рамках одного запроса, а также поддерживают согласованность данных при выполнении операций, изменяющих информацию сразу в нескольких системах.
- помогают уменьшить нагрузку на СУБД;
- позволяют расширяться до новых моделей по мере изменения потребностей без внесения изменений в базовую инфраструктуру;
- обеспечивают непрерывный доступ и простое распределение данных;
- имеют линейную масштабируемость и просты для разработки.
Заключение
Изменение типов хранимых данных, требования к скорости и производительности привели и к продолжающемуся расширению типов баз данных. При этом каждый из них продолжает быть нужным в своей нише, где взаимосвязи между данными ассоциируются с определенной схемой строения базы данных.
Читайте также: