Базы данных и СУБД: история и современность

Автор: Администратор
Дата публикации: 22 декабря 2012 года
Раздел: Статьи для системного администратора

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

  • иерархические;
  • сетевые;
  • реляционные;
  • объектно-ориентированные.

К слову, ещё есть многомерные базы данных и СУБД для их обслуживания, но их рассмотрение выходит за рамки статьи. Иерархические БД с логической точки зрения образуют простую иерархическую структуру, а сете­вые - граф; они обеспечивают быстрый доступ к информации, поэтому находят применение, на­пример, в CAD-системах, но внесение изменений в их структуру затруднительно, поэтому они не обеспечивают необходимой гибко­сти.

Реляционные базы данных ис­пользуются в настоящее время на­иболее широко в силу наличия у них ряда преимуществ перед опи­санными выше моделями. Реляци­онная база данных (РБД) пред­ставляет собой связанную инфор­мацию, занесенную в двумерные таблицы. Для обеспечения макси­мальной гибкости при работе с данными строки РБД не упорядо­чены. Идентификация строк про­изводится по первичному ключу (primary key) - уникальному столб­цу, который также обеспечивает целостность хранимых данных. Связи строк одной таблицы со строками другой обеспечиваются внешним ключом (foreign key) - столбцом или группой столбцов, ссылающихся на столбец или группу столбцов другой таблицы.

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

Существуют два способа форми­рования SQL-запросов: интерак­тивный и встроенный. Интерактив­ный SQL применяется для выпол­нения действий непосредственно в базе данных с целью получить результат, используемый челове­ком. При применении этой формы SQL вводится команда, которая сразу исполняется, после чего можно увидеть выходные данные. Команды встроенного SQL вклю­чены в программы, которые напи­саны на каком-либо другом языке программирования, например, на C. Однако процедурные языки программирования несовместимы со структурой SQL, так как SQL является декларативным языком, поэтому прямое использование команд интерактивного SQL в про­граммах невозможно. Для того, чтобы разрешить данную пробле­му, в интерактивный SQL был вне­сен ряд изменений, главным из ко­торых является механизм входных и выходных параметров, отсутст­вующий в интерактивном SQL1. Результаты выполнения команд во встроенном SQL заносятся в пере­менные или параметры, использу­емые программой.

Объектно-ориентированные БД считаются перспективными ввиду удобства написания кода, отвеча­ющего за взаимодействие с ба­зой. Они предоставляют возмож­ность обращаться к базе не на уровне SQL-запросов, а на уровне объектов, что позволяет сущест­венно сократить длину строк за­проса, которые при написании сложных запросов к реляционным базам могут быть крайне громозд­кими. Кроме того, при написании приложений на объектно-ориентированных языках программирова­ния применение объектно-ориен­тированных БД является наиболее естественным. В настоящее время единых стандартов на такие базы еще не выработано, но ряд произ­водителей (в том числе и Oracle) имеют довольно развитые разра­ботки в этой области и позициони­руют последние версии своих СУБД как объектно-реляционные.

Как было отмечено выше, наиболее рас­пространены в настоящее время реляционные базы данных. При выборе конкретной СУБД необхо­димо учитывать целый ряд факто­ров. В частности, необходимо про­думать вопросы о том, будет ли данная база локальной или же не­обходима СУБД, поддерживаю­щая архитектуру клиент-сервер. Какое количе­ство пользователей будет обра­щаться к базе одновременно (хотя бы предположительно), ка­кова необходимая степень защиты от сбоев, каковы потребности кон­троля целостности БД, проверки ограничений, налагаемых на ин­формацию, обеспечение безопас­ности и разграничение доступа к данным, каковы требования на пе­реносимость и ряд других факто­ров. Такие доступные базы, как dBASE (некогда очень популярный), Paradox или MS Access, вполне сгодятся для создания простых ло­кальных баз. В  то же время их крайне редко применяют для создания крупных сетевых БД. Для таких целей ис­пользуют мощные серверные СУБД, такие, как Oracle, DB2, MS SQL Server, среди которых выби­рают оптимальную по соотноше­нию цены ПО к предоставляемым возможностям.

Fatal error: Call to a member function return_links() on a non-object in /var/www/zoleg9992/data/www/e2epro.com/page/footer.php on line 42