Назначение и функции систем управления базами данных (СУБД). Виды (СУБД).
Система управления базами данных (СУБД) — это комплекс символьных и программных средств, предназначенных для создания, ведения и организации совместного доступа к базам данных множества пользователей.
Первыми СУБД были системы IMS фирмы «IBM» (1968 г.) и ADABAS фирмы «Software AG» (1969 г.). На сегодняшний день разработано огромное количество различных систем управления базами данных (несколько тысяч), и их число продолжает расти.
В связи с тем что под определение СУБД может попасть любой программный продукт, способный поддерживать процессы проектирования, администрирования и использования БД, была разработана классификация СУБД по видам программ:
полнофункциональные СУБД — наиболее многочисленные и мощные по своим возможностям программы. К распространенным полнофункциональным СУБД относятся Microsoft Access, Microsoft FoxPro, Clarion Database Developer и др.;
серверы баз данных. Используются для организации центров обработки данных в сетях ЭВМ, например программы Microsoft SQL Server, NetWare SQL фирмы «Novell»;
клиенты баз данных. Включают в себя различные программы (полнофункциональные СУБД, электронные таблицы, текстовые процессоры и т.д.). Можно обеспечить большую производительность вычислительной сети, если клиентская и серверная части базы данных будут произведены одной фирмой, однако данное условие не является обязательным;
средства разработки программ работы с базами данных применяются для разработки таких программных продуктов, как клиентские программы, серверы БД и их отдельные приложения, а также пользовательские приложения. Средствами разработки пользовательских приложений являются системы программирования, библиотеки программ для различных языков программирования, пакеты втоматизации разработок.
СУБД позволяют вводить, отбирать и редактировать данные. СУБД предоставляют средства для извлечения данных по определенному критерию (требованию, правилу). СУБД дают возможность конечным пользователям осуществлять непосредственное управление данными, а программистам и системным аналитикам быстро разрабатывать более совершенные программные средства их обработки.
Рассмотрим существующие классификации баз данных.
По технологии обработки данных БД подразделяются на централизованные и распределенные.
Централизованная БД хранится в памяти одной ЭВМ.
Распределенная БД состоит из нескольких частей (возможно, пересекающихся или даже дублирующих друг друга), хранящихся на различных ЭВМ вычислительной сети.
По способу доступа к данным базы данных разделяются на БД с локальным доступом и БД с удаленным (сетевым) доступом.
При локальном доступе БД размещена на одной отдельной ЭВМ, и считывание информации из БД производится непосредственно с этой машины. При удаленном доступе управление машиной, на которой размещена БД, производится по сети с другой ЭВМ.
По способу установления связей между данными различают реляционные, иерархические и сетевые БД.
Реляционная БД является простейшей и наиболее привычной формой представления данных в виде таблицы. В теории множеств таблице соответствует термин отношение (relation), который и дал название этой БД. Для нее имеется развитый математический аппарат — реляционное исчисление и реляционная алгебра, где определены такие математические операции, как объединение,вычитание,пересечение,соединение и др.
Достоинством реляционной БД является сравнительная простота инструментальных средств ее поддержки, недостатком — жесткость структуры данных (невозможность, например, задания строк таблицы произвольной длины) и зависимость скорости ее работы от размера базы данных. Для многих операций, определенных в такой БД, может оказаться необходимым просмотр всей БД.
Иерархическая и сетевая БД предполагают наличие связей между данными, имеющими какой-либо общий признак. В иерархической БД такие связи могут бьггь отражены в виде дерева-графа, где возможны только односторонние связи от старших вершин к младшим. Это ускоряет доступ к необходимой информации, но только если все возможные запросы отражены в структуре дерева. Никакие иные запросы на извлечение информации не будут удовлетворены.
Указанный недостаток снят в сетевой БД, в которой (по крайней мере, теоретически) возможны связи «всех со всеми». Поскольку на практике это, осуществить невозможно, приходится прибегать к некоторым ограничениям. ' Использование иерархической и сетевой БД ускоряет доступ к информации в базе данных. Каждый элемент данных должен содержать ссылки на некоторые другие элементы. По этой причине требуются значительные ресурсы как , дисковой, так и оперативной памяти ЭВМ.
Сведения о некоторых СУБД приведены в таблице 1
Таблица 1
Название СУБД
|
Тип БД
|
MS Access
|
реляционная
|
Clipper
|
реляционная
|
dBase
|
реляционная
|
FoxBase
|
сетевая
|
FoxPro
|
сетевая
|
1МБЯБ
|
иерархическая
|
Oracle
|
реляционная
|
Paradox
|
реляционная
|
Наиболее распространенными средствами разработки пользовательских приложений являются инструментальные средства Delphi фирмы «Borland», Visual Basic фирмы «Microsoft».
СУБД по характеру использования подразделяются на персональные и многопользовательские. Чаще всего информационные системы построены на основе архитектуры клиент - сервер. В состав этой архитектуры входят вычислительная сеть и распределенная база данных.
Распределенная база данных включает в себя многопользовательскую базу данных, находящуюся на компьютере-сервере, и персональные базы данных, находящиеся на рабочих станциях. Сервер базы данных обеспечивает выполнение основного объема обработки данных.
Персональные СУБД применяются при проектировании персональных БД и недорогих приложений, работающих с ними. Помимо этого, персональные СУБД или разработанные с их помощью приложения могут использоваться как клиентская часть многопользовательской СУБД. Персональными СУБД являются системы Visual FoxPro, Paradox, Access.
В составе многопользовательских СУБД выделяют сервер БД и клиентскую часть. Многопользовательские СУБД (например, Oracle и Informix) могут работать с различными типами ЭВМ и операционными системами различных фирм-производителей.
Языки доступа к базам данных
Языки доступа к базам данных обеспечивают доступ пользователей и программ к хранящейся в базе данных информации. Выделяют два типа языков доступа к базам данных:
язык описания данных - высокоуровневый язык, предназначенный для описания логической структуры данных;
язык манипулирования данными — язык, представляющий собой совокупность конструкций, обеспечивающих выполнение основных операций по работе сданными: ввод, модификацию и выборку данных по запросам.
Наиболее распространенными языками доступа являются два стандартизированных языка: QBE (Query by Example) — язык запросов по образцу и SQL (Structured Query Language) — структурированный языкзапросов. SQL coчетает в себе свойства языков обоих типов, а QBE характеризуется свойствами языка манипулирования данными.
Язык QBE возник на основе реляционного исчисления с переменными-доменами. Этот язык позволяет формировать сложные запросы к базе данных с помощью заполнения предлагаемой системой управления базой данных запросной формы. Каждая из реляционных СУБД имеет свой вариант языка QBE. Достоинства подобного способа задания запросов к БД:
высокая наглядность;
не требуется указания алгоритма выполнения операции.
Структурированный язык запросов SQL возник на основе реляционного исчисления с переменными кортежами. Разработано несколько стандартов данного языка, наиболее известными из которых являются SQL -89 и SQL -92. Язык SQL используется для выполнения операций над таблицами и данными, содержащимися в этих таблицах, и некоторых сопутствующих операций. SQL используется как отдельный язык, чаще всего он является частью встроенного языка npoграммирования СУБД (например, FoxPro СУБД Visual>l FoxPro, ОbjесtРАL СУБД Paradox, Visual Basic for Applications СУБД Access).
По той причине, что язык SQL ориентирован только на доступ к донным, его включают в состав средств разработки программ и называют встроенным SQL. Существуют два основных метода использования встроенного SQL:
статическое использование языка SQL характеризуется тем, что в текст программы помещены вызовы функций языка SQL, которые жестко включаются в выполняемый модуль после компиляции. Изменения в вызываемых функциях могут быть на уровне отдельных параметров вызовов с помощью переменных языка программирования;
динамическое использование языка характеризуется динамическим построением вызовов SQL-функций и интерпретацией этих вызовов в ходе выполнения программы. Динамический метод обычно применяется в тех случаях, когда в приложении вид SQL-вызова заранее не известен, и он строится в диалоге с пользователем.
|