Лекция 15 по ИСЭ. Базы данных и СУБД
Основной формой организации данных является использование баз данных (БД) и систем управления базами данных (СУБД)
Базой данных является представленная в объективной форме совокупность самостоятельных материалов (статей, расчетов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ)[1]
Система управления базой данных (СУБД) – это программный продукт, обеспечивающий поддержку БД, т.е. ввод, поиск, корректировку, удаление данных, вывод информации по запросу.
Наибольшее распространение получили следующие СУБД: Oracle, Informix, Microsoft SQL Server , MySQL, Access, dBase, Paradox, Fox PRO и другие.
Основные требования, предъявляемые к СУБД:
- сведение к минимуму дублирования в хранении данных;
- прямой и коллективный доступ к данным;
- защита данных от несанкционированного доступа;
- адаптация данных к развитию информационного обеспечения;
- обеспечение регламентированных и нерегламентированных запросов;
- минимизация затрат на создание, хранение данных и поддержание СУБД в актуальном состоянии.
Базы данных могут организовываться на разных по мощности ЭВМ: от суперкомпьютеров до персональных компьютеров.
По способу доступа к данным БД разделяются на БД с локальным доступом и БД с удаленным (сетевым) доступом.
Различают следующие типы баз данных:
- централизованные, создаваемые обычно на одном вычислительном центре с присоединенными к нему терминалами;
- распределенные в различных узлах компьютерной сети.
Централизованную базу данныхотличает традиционная архитектура баз данных.
При централизованной базе данных все необходимые для работы специалистов данные и СУБД размещены на центральном компьютере, принимающем входную информацию с пользовательского терминала. Поскольку система обслуживает много различных пользователей, каждый из них ощущает снижение быстродействия по мере увеличения нагрузки на систему.
Распределенная база данныхсостоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых на различных компьютерах вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базы данных (СУРБД).
СУБД с сетевым доступом предполагают различные архитектуры систем: файл-сервер и клиент-сервер.
Появление персональных компьютеров и локальных вычислительных сетей привело к разработке архитектуры «файл-сервер». В данной архитектуре СУБД установлена на каждом рабочем месте, файлы базы данных располагаются на сервере. Существенными недостатками таких СУБД является высокая нагрузка на локальную сеть при работе большого количества пользователей и сложность при одновременной работе с базой данных. В настоящее время такая архитектура считается устаревшей. Примеры СУБД с архитектурой «файл-сервер»: Microsoft Access, FoxPro, dBase, Paradox
При архитектуре «клиент-сервер» СУБД и БД располагаются на сервере, который обрабатывает клиентские запросы. Поэтому основная нагрузка ложится именно на сервер. Работа пользователя при данной архитектуре осуществляется через приложение, установленной на рабочем месте. Архитектура «клиент-сервер» позволяет сократить сетевой трафик, обеспечить централизованное управление базой данных, высокую надежность и безопасность работы с БД. Примеры СУБД с архитектурой «клиент-сервер»: Oracle, MySQL, Microsoft SQL Server , Firebird, Cache, MongoDB, PostgreSQL
По модели данных различают иерархические, сетевые, реляционные, объектно-ориентированные СУБД.
Иерархическую модель БД изображают в виде дерева. Каждой вершине соответствует множество экземпляров записей. Вершины расположены по уровням и связаны между собой отношениями подчиненностями. Одна-единственная вершина верхнего уровня является корневой. Примеры систем управленияиерархическими базами данных: IMS (система управления информацией IBM), СУБД Cache, используемая ГИБДД МВД РФ, пенсионным фондом РФ, учреждениями здравоохранения, промышленными и финансовыми компаниями[2].
Сетевые модели БД соответствуют более широкому классу объекта управления. Модель позволяет любому объекту быть связанным с любым другим объектом. Сетевые модели сложны, что создает определенные трудности при необходимости модернизации или развитии СУБД. ПримерысетевыхСУБД: Oracle Database , MySQL, Microsoft SQL Server , Firebird, Cache, MongoDB, PostgreSQL
Реляционная модель БД представляет объекты и взаимосвязи между ними в виде таблиц, а все операции над данными сводятся к операциям над этими таблицами. На этой модели базируются практически все современные СУБД.
В реляционной базе данных СУБД поддерживает извлечение информации из БД на основе логических связей. При работе с БД не надо программировать связи с файлами, что позволяет одной командой обрабатывать все файлы данных.
Бесспорными лидерами рынка реляционных СУБД являются системы Oracle Database, MySQL, Microsoft SQL Server. Значительно уступают СУБД PostgreSQL, DB2, Microsoft Access[3].
Толчком к появлению объектно-ориентированных баз данных (ООБД) стало объектно-ориентированное программирование и использование ПК для обработки и представления практически всех форм информации, воспринимаемых человеком.
В ООБД объекты можно сохранить и использовать непосредственно, не раскладывая их по таблицам, типы данных определяются разработчиком и не ограничены набором предопределенных типов. В объектных СУБД данные объекта, а также его методы помещаются в хранилище как единое целое. Объектная СУБД именно то средство, которое обеспечивает запись объектов в базу данных. Существенной особенностью ООБД можно назвать объединение объектно-ориентированного программирования (ООП) с технологией баз данных для создания интегрированной среды разработки приложений.
ООБД обеспечивает доступ к различным источникам данных, в том числе к данным реляционных СУБД, а также разнообразные средства манипуляции с объектами баз данных. Традиционными областями применения объектных СУБД являются системы автоматизированного проектирования (САПР), моделирование, мультимедиа.
Очень хорошо они подходят для решения задач построения распределенных вычислительных систем. На основе объектной СУБД можно строить сложные распределенные банки данных, организовывать к ним доступ как через локальную сеть, так и для удаленных пользователей в режиме реального масштаба времени.
[1] Гражданский кодекс Российской Федерации (часть четвертая)» от 18.12.2006 N 230-ФЗ (ред. от 31.12.2014)
[2] http://intersystems.ru/customers/index.html
[3] http://db-engines.com/en/ranking