Какие базы есть? Рябцев Владимир aka BigMaK Спецвыпуск: Хакер, номер #052, стр. 052-012-1 (bigmak1@progtech.ru) Чтобы выбирать, надо разбираться В наш век информационных технологий программное обеспечение для создания и управления базами данных стало одним из базовых элементов IT-инфраструктуры. Действительно, базы данных сейчас используются практически повсеместно: форум PhpBB, информационные порталы (архивы музыки и фильмов), движки сайтов вроде phpNuke и т.д. База данных (БД) – это электронное хранилище какой-либо информации, имеющее свою определенную, наиболее удобную и функциональную структуру. Для создания баз данных и работы с ними используют различные СУБД (системы управления базами данных). Базы данных различаются по своей структуре: дореляционные (на инвертированных списках, иерархические системы и сетевые СУБД), реляционные и постреляционные (например, объектные). Системы, основанные на инвертированных списках К числу наиболее известных представителей можно отнести Datacom/DB от компании Applied Data Research, Inc. (ADR). Организация доступа к данным, основанная на инвертированных списках, очень распространена и применяется практически во всех современных реляционных СУБД. С тем лишь отличием, что в этих системах пользователи не имеют непосредственного доступа к инвертированным спискам (то есть к индексам). Общие правила для ограничения целостности отсутствуют, и все возлагается на плечи прикладной программы. Иерархические системы Типичным представителем иерархических систем является Information Management System (IMS) фирмы IBM. Первая версия этого продукта вышла в свет в 1968 году. Чтобы понять иерархическую модель СУБД, попробуй представить себе дерево (представляет собой структуру данных) со всеми его ветками и выросшими от него другими деревьями. Причем к каждому листочку (сегменту структуры) можно добраться только по одному определенному пути, который начинается от корней (корневого сегмента). Для этой модели существуют некоторые базовые правила. Никакая запись-потомок не может существовать без записи предка. Согласись, ветка, висящая в воздухе без дерева, - это бред! И ветка не может расти от двух деревьев сразу, то есть запись-потомок может иметь только одного предка. Сетевые СУБД Типичным представителем сетевых СУБД является Integrated Database Management System (IDMS), созданная в компании Cullinet Software, Inc. Отличие таких СУБД от разработанных с помощью иерархического подхода кроется в особенностях сетевой структуры данных: потомок может иметь больше одного предка. Реляционная модель хранения данных Вообще реляционная база данных представляет собой таблицу, в которой в качестве столбцов выступают названия хранимых в ней данных. Причем в каждом столбце может быть только один, свой тип данных, а каждая строка хранит эти самые данные. Между таблицами существуют различные связи. Архитектуры СУБД: технология локальных (настольных) БД База данных хранится во внешней памяти компьютера, за которым работают один или несколько человек, или на выделенном сервере, доступ к которому осуществляется по сети. Локальными или настольными называют СУБД типа Access, Paradox и т.д. В них уже есть свой формат данных, который учитывает параллельное выполнение операций, возможность доступа к БД нескольких пользователей и т.д. (в принципе, в клиент-серверных ОС БД тоже часто хранятся в файлах на диске, к которым идет доступ средствами ОС, за исключением гигантов типа Oracle, где есть своя файловая система). Делается это, конечно, менее эффективно, чем в клиент-серверных СУБД. |