Реляционная база данных против. Иерархическая база данных

...

Реляционные и иерархические базы данных - два наиболее распространенных типа баз данных.

Базы данных - это компьютерные программы, которые хранят данные или «записи». Что еще более важно, они также описывают, как эти данные соотносятся с другими данными в базе данных. Существует множество различных типов баз данных, включая иерархические, сетевые, реляционные и объектно-ориентированные. Все они служат разным целям и позволяют описывать свои записи по-разному.

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

Иерархические базы данных - одни из самых старых и простых типов баз данных. Они упорядочивают данные в виде «древовидной» структуры, которая похожа на папки и файлы на компьютере. Подобно тому, как файл на компьютере находится в одной папке, каждая запись в базе данных имеет одного «родителя». Иерархически упорядоченные данные часто описываются как имеющие только отношения родитель / потомок.

Видео дня

Проблемы с иерархическими базами данных

Хотя иерархическая модель подходит для простых структур, легко увидеть, как могут возникнуть проблемы, поскольку каждый «дочерний элемент» может иметь только одного «родителя». Если база данных содержат имена настоящих родителей и их детей в компании, вы не сможете описать тот факт, что оба родителя одного ребенка работали на это Компания. На языке баз данных это будет отношения «многие-к-одному» (или «многие-ко-многим», если задействовано более одного дочернего элемента), а иерархические базы данных плохо их описывают.

Реляционные базы данных

В реляционных базах данных нет проблем с отношениями «многие к одному» или «многие ко многим». Их записи построены в виде нескольких «таблиц», а не древовидных структур, и каждая запись в таблице имеет уникальный идентификатор. Тогда компания могла бы иметь таблицу с именами всех родителей, таблицу с именами всех дочерних элементов, и каждая запись в родительской таблице могла бы иметь связь с одним (или больше или ни одного) уникальных записей в дочерней таблице - эта связь является «родительской». Возможность устанавливать такие отношения в записях - вот что дает реляционным базам данных их название.

Преимущества реляционных баз данных

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

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

Использование иерархических баз данных

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