Файл: Базы данных Учебное пособие.pdf

Добавлен: 28.11.2018

Просмотров: 7729

Скачиваний: 53

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

11 

4. Обеспечение целостности данных. 
Эта  функция  подразумевает  наличие  средств,  позволяющих  удостове-

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

5. Сервисные и вспомогательные функции. 
Вспомогательные  утилиты  обычно предназначены для оказания  помощи 

администратору  в  эффективном  управлении  СУБД.  Некоторые  утилиты  рабо-
тают на внешнем уровне, а потому они, в принципе, могут быть созданы самим 
администратором, тогда как другие функционируют на внутреннем уровне си-
стемы и потому должны быть предоставлены непосредственно разработчиками 
СУБД. Приведем некоторые примеры подобных функций: 

•  функции  и  утилиты  импортирования,  предназначенные  для  загрузки 

базы данных из различных файлов или других внешних источников, а 
также  утилиты  экспортирования,  которые  служат  для  выгрузки  базы 
данных в файлы; 

•  средства  мониторинга  и  статистического  анализа,  позволяющие  оце-

нить производительность или степень использования базы данных; 

•  инструменты  реорганизации  индексов,  предназначенные  для  пере-

стройки индексов и обработки случаев их переполнения; 

•  инструменты сборки мусора и перераспределения памяти для физиче-

ского  устранения  удаленных  записей  с  запоминающих  устройств, 
объединения  освобожденного  пространства  и  перераспределения  па-
мяти в случае необходимости. 

Конечно,  описанные  выше  базовые  и  дополнительные  функции  СУБД 

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


background image

12 

1.3 Классификация СУБД 

Существует  несколько  основных  критериев,  по  которым  в  настоящее 

время производится классификация СУБД [3–6]: 

1. По степени универсальности различают СУБД: 

•  общего назначения; 

•  специализированные. 
СУБД  общего  назначения  –  программные  комплексы,  предназначенные 

для выполнения всей совокупности функций, связанных с созданием, обновле-
нием и эксплуатацией базы данных информационной системы. 

СУБД общего назначения не ориентированы на какую-либо предметную 

область. Данным СУБД присущи развитые функциональные возможности, поз-
воляющие решать практически любые задачи.  

Специализированные  СУБД  создаются  в  тех  случаях,  когда  ни  одна  из 

существующих СУБД общего назначения не может удовлетворительно решить 
задачи,  стоящие  перед  разработчиками,  например,  не  достигается  требуемое 
быстродействие  обработки  или  специфические  функции  конкретной  предмет-
ной  области  требуют  отдельного  решения,  плохо  реализуемого  стандартными 
функциями  обычных  СУБД.  Специализированные  СУБД  предназначены  для 
решения  конкретной  задачи,  а  необходимые  параметры  этого  решения  дости-
гаются  за  счёт  знания  особенностей  конкретной  предметной  области,  а  также 
путём сокращения функциональной полноты системы. К их числу можно отне-
сти,  например,  информационно-поисковые  или  информационно-правовые  си-
стемы.  В частности,  существует  несколько  известных  информационно-
правовых систем, таких как «Консультант», «Кодекс», «Гарант» и т. п., работа-
ющих под управлением специализированных СУБД, кроме того к этой группе 
можно отнести продукты платформы «1С», «Галактика» и т. д. 

2. По модели данных используемой БД различают:  

•  иерархические; 

•  сетевые; 

•  реляционные; 

•  постреляционные; 

•  объектно-ориентированные; 

•  многомерные. 
Этот критерий классификации более подробно рассмотрен в п. 1.5 учеб-

ного пособия. 


background image

13 

3.  По  методам  обработки  и  организации  хранения  данных  различают 

СУБД: 

•  централизованные; 

•  распределенные. 
Централизованная  СУБД  работает  с  базой  данных,  которая  хранится  в 

памяти одной вычислительной системы, к которой могут быть подключены не-
сколько других компьютеров. 

Для рассмотрения понятия «распределенная СУБД» сначала необходимо 

обратиться к термину «распределенная база данных». 

Распределенная БД – это набор логически связанных между собой разде-

ляемых данных (и их описаний), которые физически распределены в некоторой 
компьютерной сети, но воспринимаются пользователями как единая БД. 

Распределенная  СУБД  –  это  программный  комплекс,  предназначенный 

для  управления  распределенными  БД  и  позволяющий  сделать  распределён-
ность информации прозрачной для конечного пользователя. 

Система  управления  распределенными  базами  данных  (СУРБД)  состоит 

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

4. По способу доступа к БД различают СУБД: 

•  файл-серверные; 

•  клиент-серверные; 

•  встраиваемые. 
В файл-серверных  СУБД  файлы  данных  располагаются  централизованно 

на  файл-сервере.  Функциональная  часть  СУБД,  как правило,  располагается на 
каждом клиентском компьютере, а доступ к данным осуществляется через ло-
кальную сеть. К преимуществам данной архитектуры относятся простота в реа-
лизации и использовании системы при небольшом количестве пользователей, а 
также  низкая  нагрузка  на  ЦП  сервера.  Недостатками  являются  потенциально 
высокая  загрузка  локальной  сети,  затруднённость централизованного  управле-
ния,  проблемы  обеспечения  таких  важных  характеристик  как  высокая  надёж-
ность, высокая доступность и высокая безопасность. Применяются чаще всего в 
локальных приложениях и системах с ограниченным числом пользователей, ко-
торые используют функции управления БД. К этому классу относятся следую-
щие СУБД: MS Access, FoxPro, dBase, Paradox и др. 


background image

14 

Клиент-серверная  СУБД  располагается  на  сервере  вместе  с  БД  и  осу-

ществляет доступ к БД для многих клиентов, находящихся в сети. В контексте 
базы данных клиентская часть СУБД управляет пользовательским интерфейсом 
и логикой приложения, действуя как интеллектуальная рабочая станция, на ко-
торой выполняются приложения баз данных. Клиент принимает от пользовате-
ля запрос, проверяет синтаксис и формирует запрос к базе данных на языке БД 
(например, SQL), который соответствует логике приложения. Затем он передает 
сообщение  серверу,  ожидает  поступления  ответа  и  форматирует  полученные 
данные для представления их пользователю. Сервер принимает и обрабатывает 
запросы к базе данных, а затем передает полученные результаты обратно кли-
енту. В функции сервера также входят обработка, проверка полномочий клиен-
та,  обеспечение  требований  целостности,  поддержка  системного  каталога,  а 
также  выполнение  запроса  и  обновление  данных.  Кроме  того,  сервером  под-
держивается  управление  параллельностью  и  восстановлением,  а  также  целый 
ряд других необходимых функций. Клиент-серверные СУБД в настоящее время 
занимают центральное место среди всех СУБД и являются основой при разра-
ботке  большинства  информационных  систем  с  различным  числом  пользовате-
лей.  К этому  классу  СУБД  относятся  MS SQL  Server,  Oracle,  MySQL,  Post-
greSQL, Interbase, Firebird и др. 

Встраиваемая  СУБД  –  это  библиотека,  которая  позволяет  унифициро-

ванным  образом  хранить  большие  объёмы  данных  на  локальной  машине. 
В отличие  от  клиент-серверных  встраиваемые  СУБД  не  представляют  собой 
независимый  процесс,  с  которым  взаимодействует  программа,  а  являются  со-
ставляющей  частью  программы  и  полностью  либо  частично  интегрируются  в 
нее. Встраиваемые СУБД зачастую превосходят по скорости клиент-серверные, 
в частности при использовании операций чтения, и при этом не требуют уста-
новки сервера, поэтому востребованы в локальном ПО. Зачастую встраиваемые 
СУБД  ориентируются  либо  на  решение  узкого  спектра  специфических  задач, 
либо создаются специально для использования в конкретном конечном продук-
те или работы с одним средством разработки. К этому классу СУБД относятся 
SQLite, Berkeley DB, Microsoft SQL Server Compact и др. 

1.4 Представление данных в БД 

Как  уже  говорилось,  каждая  информационная  система  в  зависимости  от 

назначения имеет дело с той или иной частью конкретного мира, которую при-
нято называть предметной областью. Анализ предметной области является не-


background image

15 

обходимым  начальным  этапом  разработки  любой  информационной  системы. 
Именно на этом этапе определяются информационные потребности всех буду-
щих  пользователей  системы,  которые  в  дальнейшем  и  определят  содержание 
базы данных [7]. 

Объединяя частные представления о содержимом будущей базы данных, 

полученные  в  результате  опроса  пользователей,  и  свои  представления  о  дан-
ных, которые могут потребоваться в приложениях, разработчик сначала создает 
обобщенное  неформальное  описание  создаваемой  базы  данных,  называемое 
инфологической моделью. Одной из главных задач разработчика на начальных 
этапах проектирования является структуризация полученных пользовательских 
представлений и выявление объектов и взаимосвязей в предметной области на 
основе полученных данных.  

В процессе научных исследований, посвященных тому, как именно долж-

на быть устроена СУБД, предлагались различные способы реализации. Самым 
жизнеспособным  из  них  оказалась  трехуровневая  архитектура  баз  данных, 
предложенная  в  1978 г.  комитетом  планирования  стандартов  и  норм  SPARC 
(Standards  Planning  And  Requirements  Committee)  американского  института  по 
стандартизации  ANSI  (American  National  Standard  Institute),  изображенная  на 
рисунке 1.1. 

 

Рис. 1.1 – Трехуровневая архитектура ANSI/SPARC 

Внешний  уровень  (уровень  пользователей)  –  структурный  уровень  БД, 

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

Концептуальная модель БД 

(структура)

Концептуальный

уровень

Внутренняя модель БД 

(представление в памяти)

Внутренний

уровень

Внешний

уровень

Представление № 1

(Модель 1)

Представление № 2

(Модель 2)

...

Представление  N

(Модель  )

N