Массивы данных и файлы требуют упорядочивания и организации. Их делят на группы по определенным признакам, соединяют, выстраивают в иерархическом порядке. Хранение упорядоченной и взаимосвязанной информации по принципу, описанному программистом, называют базой данных (БД). В статье мы расскажем о трех основных видах баз данных, их плюсах, минусах и сферах использования.
Иерархические
Представляют собой набор объектов, у которых есть родительские и дочерние элементы. В иерархических базах данных имеется корневой родительский объект, от которого ответвляются все остальные. От родительского объекта к дочерним идет только одно обращение по принципу «один ко многим».
Пример иерархической БД — файловая система компьютера под ОС Windows. Информацию о взаимосвязях и уровнях вложенности папок и файлов хранит реестр.
Преимущества. Иерархические базы данных быстро ищут запрашиваемую информацию и выдают ее пользователям. По такому принципу устроены сайты в интернете, поэтому в них легко ориентироваться.
Недостатки. В иерархической БД элементы связаны жестко. Это затрудняет изменение связей: в таких случаях приходится менять структуру всей базы. Труден и перебор информации, организованной иерархическим образом. Например, проверка компьютера антивирусом занимает много времени, так как за один проход по дереву не удается прочитать данные, хранящиеся на другой ветке.
Сетевые
Представляют собой диаграммы связей. В таких БД записи могут быть связаны друг с другом как угодно по принципу «многие ко многим». То есть, у дочернего объекта может быть много родительских. Пример сетевой БД — интернет. Один сайт может ссылаться на любое количество других сайтов, и на него может сослаться любой сайт. Сетевые БД применяют не только в интернете, но и для организации работы программных приложений.
Преимущества. Сетевые базы данных умеют обрабатывать большой объем информации и поддерживают аналитическую обработку информации. На обработку данных уходит меньше времени, чем в иерархической БД.
Недостатки. Пользователи сетевых баз данных ограничены связями, которые предусмотрели для них разработчики этих баз. Чтобы пользоваться такой системой организации информации было удобно, связи должны разрабатывать системные аналитики. Взаимодействие между объектами сетевой БД получается сложным, и обычному пользователю непросто обрабатывать хранимую ей информацию. Еще из-за возможности установления произвольных связей между объектами трудно следить за целостностью связей.
Реляционные
В них нет отличий между записями и взаимосвязями между ними. Объекты связаны в них по принципу «один к одному». Связи хранятся в двумерных таблицах — это удобно для пользователя и компьютера. Таблица — набор из фиксированного количества столбцов, куда можно записать название, тип данных (число, строку, дату и др.), а количество строк не ограничено. Структура таблицы известна заранее. Для доступа к данным нужно сформировать запрос на языке программирования SQL или другом ЯП.
Пример реляционной БД — приложение для поиска препаратов по аптекам, которые относятся к одной сети. Есть таблица Аптеки, куда занесены названия аптек сети, таблица Препараты и таблица Наличие. Один и тот же препарат может быть в наличии в нескольких аптеках, пользователь формирует запрос и выбирает ту аптеку, которая ближе к нему. Препаратов много, и их могут искать по аптекам одновременно несколько пользователей.
Преимущества. Реляционные базы данных устроены логично и просто — другими словами, имеют строгий математический аппарат и потому широко распространены. Данные в них хранятся независимо друг от друга.
Недостатки. Реляционную БД трудно спроектировать так, чтобы пользователи могли обращаться к ней параллельно, и процесс выдачи результатов поиска не замедлялся. Это — задача для системных аналитиков.
Узнать о различных БД больше и пройти обучение вы можете на курсе ИПАП:
Администрирование сервера баз данных Microsoft SQL Server с применением языка запросов Transact-SQL