Технологии баз данных
и знаний


УЧЕБНО-ПРАКТИЧЕСКОЕ ПОСОБИЕ

4. Системы управления базами данных

4.1. Понятие и функциональные возможности СУБД

 

Система управления базами  данными  (СУБД) – это совокупность  языковых и программных  средств, предназначенных для создания, ведения и совместного использования БД многими пользователями. Функции СУБД – это: описание данных, манипулирование данными, использование данных. Данные функции реализуются  благодаря наличию у СУБД языка описания данных (ЯОД),  языка манипулирования данными (ЯМД) и языка запросов.

ЯОД включает язык логического описания данных и язык описания физических данных. Язык логического описания данных предусматривает идентификацию файлов БД, объектов БД, полей БД и их типов; определяет длину записей, полей, порядок полей в записи,  диапазоны допустимых значений полей и др. Используя этот язык, пользователь формирует свой взгляд на БД – создается логическая БД.  Язык описания физических данных определяет способы размещения данных на машинных носителях, способы их адресации и поиска. Посредством этого языка формируется  взгляд системы на БД – создается физическая БД.

ЯМД дает возможность реорганизации данных в базе (добавления новых, удаления ненужных, обновления существующих).

Язык запросов обеспечивает доступ к данным и извлечение их по запросам пользователей.

Языковые средства могут быть реализованы различными способами: синтаксическими конструкциями (командами), меню, диалоговыми сценариями, таблицами.

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

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

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

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

Программные средства СУБД обеспечивают работу с физической БД и выполнение всех ее функций.

Функциональные возможности СУБД обширны. СУБД имеют эффективные средства для:

· создания БД, в которой интегрированы данные многих пользователей с целью удовлетворения их информационных потребностей;

· обновления хранящихся в ней данных;

· быстрого извлечения из БД необходимых данных по запросам пользователей;

· выполнения вычислений над данными;

· создания экранных шаблонов - форм, обеспечивающих удобство работы с данными;                                                    

· вывода данных из базы в отчетах в виде, удобном для восприятия пользователями;

· разработки приложений;

· экспорта данных в другие БД и импорта данных их других БД;

· публикации данных в Internet.

Эти средства ориентированы на непрофессиональных пользователей.

СУБД обеспечивают также управление БД, а именно:

· поддержку целостности БД с помощью механизма транзакций. Транзакция – это совокупность операций с БД, которые должны быть выполнены обязательно до конца, чтобы БД оказалась в непротиворечивом состоянии;

· защиту    данных от  несанкционированного доступа, от сбоев в работе компьютерной системы;

· восстановление БД в случае ее повреждения.

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

 

 

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

 

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

Важнейшим классификационным признаком СУБД является тип модели данных, поддерживаемый СУБД. По этому признаку СУБД делятся на:

· иерархические. Первой иерархической СУБД была система IMS (Information Management System)  компании IBM, коммерческое распространение которой началось в 1968 г.;

· сетевые. Первой сетевой СУБД считается  система IDS (Integrated Data Store), разработанная  компанией General Electric немного позже системы IMS;

· реляционные. Первые коммерческие реляционные СУБД от компаний IBM, Oracle Corporation, Relation Technology Inc.  и других поставщиков появились в начале 80-х годов.

По степени универсальности различают СУБД  общего и специального назначения.

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

Однако в некоторых случаях доступные СУБД общего назначения не позволяют добиться требуемой производительности и/или удовлетворить заданные ограничения по объему памяти, предоставляемой для хранения БД. Тогда приходится разрабатывать специализированную СУБД для данного конкретного применения. Примером специализированной СУБД может быть система IMBASE, используемая для автоматизации проектных и конструкторских разработок. Эта СУБД содержит информацию о стандартных конструктивных элементах, материалах и других элементах, используемых для проектирования сложных механических устройств (узлов, агрегатов).

По принципу обработки запросов к БД СУБД подразделяют на настольные и серверные.

В качестве классификационного признака  можно рассматривать также:

· среду функционирования СУБД (платформу) – класс компьютеров и операционных систем, под управлением которых работает СУБД;

· наличие диалоговых и инструментальных средств конструирования объектов БД;

· возможности встроенного языка СУБД;

· использование OLE-технологии – взаимодействие объектов БД с объектами других приложений: табличных и текстовых процессоров, графических редакторов и др.;

· возможности работы с нетрадиционными данными (данными, не являющимися текстом, числами и датами);

· обеспечение интеграции данных из баз, созданных в разных СУБД и др.

 

 

4.3. Режимы работы пользователя с СУБД

 

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

1) через меню системы;

2) в командном режиме;

3) в программном режиме.

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

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

Программный режим обеспечивает организацию доступа  к данным и управление ими из прикладных программ.

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

 

 

4.4. Современные СУБД

4.4.1. Настольные СУБД

 

Становление СУБД началось и происходило, когда наиболее популярными типами компьютеров были мэйнфреймы, а также мини - ЭВМ. Обработка данных с помощью мэйнфреймов и мини-ЭВМ имела как определенные преимущества (возможность коллективного использования ресурсов и оборудования, централизованное хранение данных), так и недостатки. Главный из них - отсутствие персонализации рабочей среды (все программное обеспечение хранилось централизованно и использовалось коллективно). Это было одной из причин бурного роста индустрии персональных компьютеров. Именно в тот период и начался  рост популярности настольных СУБД, таких как dBase и, чуть позже, FoxBASE, Paradox, а также некоторых других, уже забытых.

При работе  с настольной СУБД сами базы данных расположены на том же компьютере, что и СУБД, осуществляющая доступ к ним. Пользователь работает с БД монопольно (в однопользовательском режиме). Такая БД именуется локальной. СУБД ответственна за выполнение запросов и за поддержание целостности БД.

Следующим шагом в развитии настольных СУБД было появление их сетевых многопользовательских версий, которые обеспечивали одновременную работу нескольких пользователей с централизованной БД – БД, размещаемой на одном компьютере – сервере сети. На сервере сети располагается и СУБД. С компьютера пользователя запускается СУБД с сервера, и в результате на нем создается копия СУБД. По каждому запросу пользователя к БД все данные из базы пересылаются на его компьютер, независимо от того, сколько реально их нужно для выполнения запроса. В результате на компьютере пользователя создается локальная копия БД (время от времени обновляемая из реальной БД на сервере сети). Затем СУБД пользователя выполняет запрос. Схема работы с настольной СУБД в многопользовательском режиме показана на рис. 1.

 

 

Рис. 1. Схема работы с настольной СУБД
в многопользовательском режиме

 

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

Существенных различий между двумя вышеописанными архитектурами нет. И в том, и в другом случае используются настольные СУБД. Известно более двух десятков настольных СУБД. Однако наиболее популярными, исходя из числа проданных копий, признаются dBase, Paradox, FoxPro и Access.

dBase и Visual dBase. Первая промышленная версия СУБД dBase (компании Ashton-Tate) появилась в начале 80-х годов. Благодаря простоте в использовании, нетребовательности к ресурсам компьютера эта СУБД приобрела немалую популярность. С выходом следующих ее версий – dBase III и dBase III Plus (1986 г.), оснащенных очень комфортной по тем временам средой разработки и средствами манипуляции данными, быстро заняла лидирующие позиции среди настольных СУБД. СУБД семейства dBase имели популярный формат данных и популярный  язык программирования, получивший название xBase.

Версия Visual dBase 2000 имеет средства для: манипуляции данными dBase и FoxPro всех версий; создания форм, отчетов и приложений; публикации данных в Internet и создания Web-клиентов; визуального построения запросов и др.

Тенденция такова, что dBase превращается в некоммерческий продукт с доступными исходными текстами программ.

Paradox.  СУБД Paradox (компании Ansa Software) выпущена в 1985 году. В конце 80-х – начале 90-х годов СУБД Paradox была весьма популярной, в том числе и в нашей стране.

Ранние версии Paradox предоставляли более широкие возможности, чем аналогичные версии dBase. Это: использование деловой графики в DOS-приложениях; обновление данных в приложениях при многопользовательской работе; визуальные средства создания запросов; средства статистического анализа данных; создание приложений на языке PAL (Paradox Application Language) с возможностью визуального построения пользовательских интерфейсов.

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

Версия Paradox 9 является составной частью Corel Office Professional и содержит средства: манипуляции данными Paradox и dBase; публикации данных и отчетов в Internet  и создания Web-клиентов; доступа к данным формата Paradox из Windows-приложений, из Java-приложений и др.

Популярность СУБД Paradox несколько снизилась, хотя в мире эксплуатируется еще много информационных систем, созданных на ее основе.

Microsoft FoxPro и Visual FoxPro. СУБД FoxPro происходит от настольной СУБД FoxBase фирмы  Fox Software. Она  предоставляет дополнительно такие возможности, как использование деловой графики и др. Впоследствии эта СУБД  была приобретена компанией Microsoft. Версии FoxPro  (начиная с версии 3.0) получили название Visual FoxPro.   Версия  Visual FoxPro 6.0. имеет средства визуального моделирования объектов, средства публикации данных в Internet и др. С каждой новой версией этот продукт все более интегрируется с другими продуктами Microsoft (например, с Microsoft SQL Server).

Тенденция развития этого продукта состоит в том, что из настольной СУБД Visual FoxPro превращается в средство разработки приложений в архитектуре клиент/сервер и распределенных приложений. Эта тенденция в определенной степени характерна и для всех наиболее популярных настольных СУБД.

Microsoft Access. Первая версия СУБД Access появилась в начале 90-х годов. Это была первая настольная реляционная СУБД для 16-разрядной версии Windows. Популярность Access значительно возросла после включения этой СУБД в состав Microsoft Office.

СУБД Access ориентирована на непрофессиональных пользователей Microsoft Office. Это, в частности, проявилось в том, что вся информация, относящаяся к конкретной БД,  хранится в одном файле, что удобно для начинающих пользователей.

Версия этой СУБД  - Access 2000 входит в состав Microsoft Office 2000 Professional и Premium, а также доступна как самостоятельный продукт. Она может быть использована, с одной стороны, в качестве настольной СУБД и составной части офисного пакета, а с другой стороны, в качестве клиента Microsoft SQL Server, позволяющего осуществлять манипуляцию его данными, его администрирование и создание приложений для этого сервера.

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

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

 

4.4.2 Серверные СУБД

 

Наиболее эффективную работу с централизованной БД обеспечивает архитектура "клиент-сервер". Централизация хранения и обработки данных является базовым принципом этой компьютерной архитектуры.

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

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

 

 

Рис. 2.  Архитектура "клиент-сервер"

 

В архитектуре "клиент-сервер" функции клиентского приложения и серверной СУБД разделены.

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

Технология клиент/сервер имеет огромный потенциал, способный повлиять на расширение возможностей прикладных программ в бизнесе.

Современные серверные СУБД:

· существуют в нескольких версиях для различных платформ, как правило, для различных коммерческих версий UNIXSolaris, HP/UX и др. Многие производители также выпускают версии своих серверов баз данных для Windows NT Workstation  и Windows 95/98, а в последнее время – также версии для  Linux;

· в подавляющем большинстве поставляются с удобными административными утилитами;

· осуществляют резервное копирование данных и журналов транзакций;

· поддерживают несколько сценариев репликаций (копирование информации из одной БД в несколько других). Репликации используются для разделения нагрузки между серверами в сети и многих других целей;

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

· поддерживают создание хранилищ данных и OLAP. Хранилище данных – это совокупность данных, полученных прямо или косвенно из информационных систем, которые содержат текущую и деловую информацию, а также из некоторых внешних источников. OLAP (On Line Analytical Processing) – это технология построения многомерных хранилищ данных, являющихся результатом обработки набора данных, нередко состоящего из нескольких таблиц. Такие хранилища данных в последнее время широко используются в системах поддержки принятия решений;

· выполняют распределенные запросы и транзакции (т.к. наличие нескольких серверов баз данных в одной организации стало обычным явлением). Эти возможности поддерживаются почти всеми серверными СУБД;

· дают возможность использовать различные средства проектирования схем данных – универсальные или ориентированные на конкретную СУБД;

· имеют средства разработки клиентских приложений и генераторы отчетов;

· поддерживают как минимум публикацию баз данных в Internet;

· обладают широкими возможностями управления пользовательскими привилегиями и правами доступа к различным объектам БД.

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

 

СУБД

Производитель

Oracle8, Oracle8i

Oracle Corp.

Microsoft SQL  Server 7.0,

Microsoft SQL  Server 2000

Microsoft

Informix

Informix

Sybase

Sybase

DB2

IBM

Краткий обзор данных СУБД см. в пособии [11].

 

4.4.3. Распределенные СУБД

 

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

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

Работу с распределенной БД обеспечивают распределенные СУБД. Распределенная СУБД (РаСУБД) – это программная система, которая обеспечивает управление распределенной БД и прозрачность ее распределенности для пользователей.

Требования к РаБД и РаСУБД изложены в правилах К. Дейта, сформулированных в 1987 году:

· локальная автономность;

· никакой конкретный сервис не должен возлагаться на какой-либо специально выделенный центральный узел;

· непрерывность функционирования;

· независимость от местоположения, от фрагментации, от тиражирования;

· распределенная обработка запросов;

· управление распределенными транзакциями;

· независимость от оборудования, от операционных систем, от сети, от СУБД.

РаБД могут быть однородными и неоднородными. Однородные РаБД имеют в своей основе одну СУБД, обычно с единственным языком баз данных; неоднородные РаБД - две или более существенно различающихся СУБД.

В РаБД различаются и формы распределения данных. В одних случаях данные фрагментируются, т. е. делятся на порции, распределенные между множеством физических ресурсов. Фрагментация есть горизонтальная (разделение по географическому или другому характеристическому признаку) и вертикальная (разбиение таблицы по столбцам). Независимо от того, какого вида применяется фрагментация, поддерживается глобальная схема, позволяющая воссоздать из имеющихся фрагментов логически централизованную таблицу или другую структуру БД. Пользователь взаимодействует с РаБД посредством транзакций. Транзакция может вызвать несколько процессов в различных узлах, контролируемых независимыми программными модулями.

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

РаСУБД могут работать как в глобальных, так и в локальных сетях. Они предлагают возможности, расширяющие преимущества технологии БД. Так, позволяя каждому узлу поддерживать собственную БД,  добиваются быстрого и эффективного доступа к наиболее часто используемым данным.  РаСУБД могут повысить надежность работы в сети. Если компьютер некоторого узла вышел из строя, то нужные данные (ранее скопированные на два или более узлов) РаСУБД предоставит с узла, продолжающего функционировать. Предполагается скорое распространение РаСУБД в организациях различных типов.

 

 

4.5. Тенденции  развития СУБД

4.5.1. Объектно-ориентированные и объектно-реляционные СУБД

 

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

Шла напряженная работа в двух направлениях:

1) объединение объектно-ориентированного подхода и реляционных систем;

2) замена реляционной модели, ориентируясь исключительно на объекты.

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

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

В основе ООСУБД лежит объектно-ориентированная модель обработки данных, базирующаяся на следующих понятиях:

· объектыкак отражение сущностей реального мира средствами проектирования БД. Каждый объект имеет уникальный идентификатор, состояние и поведение. Состояние объекта определяется множеством значений его атрибутов. Поведение объекта описывают методы, называемые процедурами или операциями;

· классы как объекты, схожие по поведению и другим свойствам;

· наследование - новый класс объектов можно образовать на основе уже существующего класса, называемого базовым или родительским;

· инкапсулирование способ доступа к данным только лишь в соответствии с правилами поведения, не запрещенными или явно разрешенными объектом;

· расширяемость - возможность свободно добавлять в БД новые объекты и связанные с ними правила поведения данных, не вступая в конфликт с существующими объектами и приложениями;

· полиформизм - способность объектов по-разному реагировать на одно и тоже событие в окружающем мире.

Главной характерной чертой объектно-ориентированных БД (ООБД) является способность хранить информацию о сложных объектах с исчерпывающим описанием взаимосвязей между ними и их динамического поведения. В них составной частью описания объекта является программа, которая представляет процедуру или функцию, способную производить действия над атрибутами объекта в случае наступления  тех или иных событий. То есть, осуществляется связывание данных и программ согласно принципу инкапсулирования. Это новая идея.

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

Наиболее известные коммерческие ООСУБД – GemStone, Vbase, ORION, PDM,   IRIS. Их краткий обзор см. в пособии [11].

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

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

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

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

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

Результаты многолетних исследований в области расширенных реляционных СУБД воплотились в 1996-1997 гг. в ряде коммерческих программных продуктов, представляющих собой объектно-реляционные серверы баз данных с расширяемой системой типов данных. К числу первых систем такого типа относятся: Informix Universal Server (Informix Software, 1996), Oracle8 (Oracle Corp., 1997), DB2 Universal Database (IBM Corp., 1997). Эти программные продукты составляют значительную долю рынка СУБД, и можно сказать, что объектно-реляционная технология уже состоялась.

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

4.5.2. Системы управления базами знаний

 

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

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

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

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

Специалисты в области технологий баз данных  считают вратами, открывающими путь к базам знаний, исследуемым в области искусственного интеллекта, технологию активных БД.

Традиционные БД являются пассивными. Они  играют организующую роль, направленную на обеспечение хранения данных. Вся процедурная логика, включая выборку и модификацию данных, координируется вне сферы управления данными.

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

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

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

Во многих случаях конструкции ограничений и утверждений оказываются неадекватными для выражения сложных бизнес-правил, и СУБД поддерживают хранимые процедуры. Хранимая процедура – это модуль прикладной программы с той лишь разницей, что он относится к БД, а не к внешней программной системе, использующей эту БД. Посредством хранимых  процедур встраивается процедурная логика в среду БД. Хранимые процедуры могут определяться относительно одной или более таблиц БД и вызывать друг друга. Они выполняются сервером баз данных и могут читать и изменять данные в таблицах. Их можно вызвать из клиентского приложения, работающего с БД.

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

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

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

 

 

4. Системы управления базами данных

Тренировочные задания

1. Какие из приведенных трактовок СУБД корректны?

1. СУБД - это стандартное приложение Windows.

2. СУБД - это программная система, предназначенная для создания на ЭВМ общей БД, поддержания ее в актуальном состоянии и обеспечения к ней эффективного санкционированного доступа пользователей.

3. СУБД - это программа-оболочка Windows.

4. СУБД - это комплекс языковых и программных средств, предназначенных для создания, ведения и совместного использования БД многими пользователями.

 

2. В каких из перечисленных режимов возможна работа с СУБД?

1. Однопользовательский.

2. Одновременная работа с несколькими БД.

3. Многопользовательский

4. Командный.

5. Через систему меню

6. Программный.

7. Пакетный.

 

3. Какие из перечисленных программных продуктов относятся к классу СУБД?

1. Word Pad.

2. Sybase.

3. MS SQL Server.

4. Paint.

5. Access.

6. Winzip.

7. DrWeb.

8. Informix.

9. Oracle.

10. DB2

 

 

 

4. Системы управления базами данных

Т е с т

 

1. Какие языковые и программные средства включают СУБД?

2. Как классифицируются СУБД по типу поддерживаемой модели данных?

3. Позволяют ли современные СУБД публикацию данных в Internet?

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

5. Каковы различия в выполнении запросов к БД в архитектуре файл/сервер и в архитектуре клиент/cервер?

6. Назовите популярные настольные и серверные СУБД.

7. Какая БД именуется распределенной?

8. Какие есть формы распределения данных?

9. Перечислите основные понятия, на которых базируется объектно-ориентированная модель обработки данных?

10. Каким путем идет разработка объектно-реляционных СУБД?

11. Что такое «база знаний»?

12. Назовите основные конструкции активных БД

 

 


© Минск БГЭУ,
2005 - 201
9