рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Концепция активного сервера в модели DBS

Концепция активного сервера в модели DBS - раздел Программирование, База данных Профессиональные Субд Обладают Мощным Активным Сервером Бд. Идея Активного Ин...

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

· БД должна отражать реальное состояние ПО, т е данные должны быть взаимно непротиворечивыми;

· БД должна отражать правила, по которым ПО функционирует, – бизнес-правила;

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

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

· контроль типов данных

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

· правила были заложены в прикладной программе. При их изменении (а в экономических ИС они меняются довольно часто) приходилось переписывать программу;

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

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

· ограничение на типы данных преодолевалось путем приведения данных новых типов к стандартным.

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

a) сервер БД лишен функций хранений и обработки знаний о предметной области;

b) за границами сервера остается контроль за состоянием БД и программирование реакции на ее изменения;

c) пассивный сервер не имеет средств отслеживания событий в БД, а также средств воздействия на работу прикладных программ и возможностей их синхронизации.

Идеи, реализованные в некоторых СУБД третьего поколения, заключаются в том, что знания выносятся за рамки прикладных программ и оформляются как объекты БД. Функции применения знаний начинает выполнять непосредственно сервер БД. Такая концепция активного сервера опирается на четыре «столпа»:

  1. процедуры БД;
  2. правила (триггеры);
  3. события в БД;
  4. типы данных, определяемые пользователем прикладных программ.

Хранимые (stored, присоединяемые, разделяемые) процедуры- это процедуры и функции, хранящиеся непосредственно в базе данных в откомпилированном виде и которые могут запускаться пользователями или приложениями, работающими с базой данных. Выполняемый или интерпретируемый код хранимой процедуры сохраняется в базе данных, а сама она может быть вызвана из любой прикладной программы авторизованного пользователя (того, кто получил привилегию на выполнение этой процедуры) с указанием фактических параметров (рисунок 7.5). Хранимые процедуры обычно пишутся либо на специальном процедурном расширении языка SQL (например, PL/SQL для ORACLE или Transact-SQL для MS SQL Server), или на некотором универсальном языке программирования, например, C++, с включением в код операторов SQL в соответствии со специальными правилами такого включения. Основное назначение хранимых процедур - реализация бизнес-процессов предметной области. Использование процедур БД преследует четыре цели:

  1. обеспечение независимого уровня централизованного контроля доступа к данным, осуществляемого администратором БД;
  2. одна процедура может быть использована несколькими прикладными программами;
  3. значительное снижение трафика сети с архитектурой «клиент-сервер» за счет вызова процедур, а не пересылки запросов.
  4. процедуры БД в сочетании с правилами предоставляют администратору мощные средства поддержки целостности БД.

Пример 7.7 Разработать процедуру, которая переводила бы рядового сотрудника в резерв на выдвижение на руководящую должность:

CREATE PROCEDURE Назначение (Номер_сотр integer not null) AS

BEGIN

INSERT INTO Резерв SELECT * FROM Сотрудник WHERE номер= Номер_сотр;

DELETE FROM Сотрудник WHERE номер= Номер_сотр;

END

Вызов процедуры осуществляется с помощью команды EXECUTE …,например:

EXECUTE PROCEDURE Назначение (115)

 

Рисунок. 7.5. Подготовка и использование хранимой процедуры

 

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

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

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

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

· реализация сложной защиты целостности данных.

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

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

Укажем основные цели механизма правил:

1. отражение некоторых внешних правил деятельности организации;

Пример 7.9 Одно из правил деятельности завода заключается в том, что недопустима ситуация, когда на складе количество деталей любого типа становится меньше 1000. Это требование описывается правилом:

CREATE RULE Проверить_деталь

AFTER UPDATE (количество) OF Деталь WHERE деталь.количество<1000

EXECUTE PROCEDURE Заказать_деталь (Ном_дет=Деталь.ном, остаток=Деталь.количество);

2. обеспечение целостности БД, особенно целостности по ссылкам

Механизм событий в БД позволяет прикладным программам и серверу БД уведомлять другие программы о наступлении в БД определенного события и тем самым синхронизировать их работу. Операторы языка SQL, которые обеспечивают уведомление, называются сигнализаторами событий в БД database event alerters). Функции управления событиями целиком ложатся на сервер БД. Различные прикладные программы и процедуры вызывают события, а сервер оповещает монитор прикладных программ об их наступлении. Реакция монитора на событие заключается в выполнении действий, которые предусмотрел разработчик.

Механизм событий используется следующим образом:

1. вначале в БД для каждого события создается флажок, состояние которого будет оповещать прикладные программы о том, что некоторое событие имело место (оператор CREATE DBEVENT – создать событие);

2. во все прикладные программы, на ход которых может повлиять это событие, включается оператор REGISTER DBEVENT (зарегистрировать событие), который оповещает сервер БД, что данная программа заинтересована в получении сообщения о наступлении события.

3. любая прикладная программа или процедура теперь может вызвать событие оператором RAISE DBEVENT;

4. каждая зарегистрированная программа может получить информацию о событии, для чего должна запросить очередное сообщение из очереди событий оператором GET DBEVENT (получить событие).

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

 

– Конец работы –

Эта тема принадлежит разделу:

База данных

На сайте allrefs.net читайте: "База данных"

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Концепция активного сервера в модели DBS

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Данные и ЭВМ
Восприятие реального мира можно соотнести с последовательностью разных, хотя иногда и взаимосвязанных, явлений. С давних времен люди пытались описать эти явления (даже тогда, когда не могли их поня

Поколения СУБД и направления исследований
Принято выделять три поколения СУБД: I. Поколение. Сетевые и иерархические системы БД, широко распространенные в 70-е годы, получили название - системы БД первого поколени

Терминология в СУБД
В общеотраслевых руководящих материалах по созданию банков данных Государственного комитета по науке и технике, изданных в 1982 г., приводятся следующие определения основных понятий:

Инфологические Даталогические Физические
  модель документальные фактографические основанные основанные сущность-связь (ER) на файловых на странично- структу

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

Манипулирование данными
Поддерживаются два класса операторов: Операторы, устанавливающие адрес записи, среди которых: прямые поисковые операторы (например, найти первую запись таблицы п

Иерархические структуры данных
Иерархическая модель данных (ИМД) свойственна многим реальным древовидным структурам (классификаторы, структуры управления и т. п.). Существуют графовая и табличная формы представления данны

Сетевые структуры данных
Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может им

Манипулирование данными
Примерный набор операций может быть следующим: найти конкретную запись в наборе однотипных записей (инженера Сидорова); перейти от предка к первому потомку по некоторой свя

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

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

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

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

Этапы доступа к БД
  Опишем последовательность действий при доступе к БД (см. рис. 2.7): Сначала в СУБД определяется искомая запись, а затем для ее извлечения запрашивается диспетчер файл

Вопросы и упражнения для самоконтроля к главе 2
Чем даталогические документальные модели отличаются от фактографических? Приведите примеры даталогических документальных моделей. Какие компоненты входят в структуру логичес

Базовые понятия реляционных баз данных
Реляционные (от английского слова relation – отношение) модели были разработаны Э. Коддом в начале 70-х годов. Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж

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

Кортеж, отношение, ключи
Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута - значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. "З

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

Отсутствие кортежей-дубликатов
То свойство, что отношения не содержат кортежей-дубликатов, следует из определения отношения как множества кортежей. В классической теории множеств по определению каждое множество состоит из различ

Отсутствие упорядоченности кортежей
Свойство отсутствия упорядоченности кортежей отношения также является следствием определения отношения-экземпляра как множества кортежей. Отсутствие требования к поддержанию порядка на множестве ко

Отсутствие упорядоченности атрибутов
Атрибуты отношений не упорядочены, поскольку по определению схема отношения есть множество пар {имя атрибута – имя домена}. Для ссылки на значение атрибута в кортеже отношения всегда используется и

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

Характеристика реляционной модели данных
Наиболее распространенная трактовка реляционной модели данных, по-видимому, принадлежит Дейту К., который воспроизводит ее (с различными уточнениями) практически во всех своих книгах. Согласно Дейт

Трехзначная логика (3VL)
В подходе 2 (п.3.3) использовано понятие «неопределенного» значения ключа. В реальном мире часто встречается ситуация, когда данные неизвестны или неполны. Для того чтобы обойти проблему неполных и

Реляционная алгебра
Вторая часть реляционной модели, манипуляционная часть, утверждает, что доступ к реляционным данным осуществляется при помощи реляционной алгебры или эквивалентного ему реляционного исчисления.

Особенности операций реляционной алгебры
Хотя в основе теоретико-множественной части реляционной алгебры лежит классическая теория множеств, соответствующие операции реляционной алгебры обладают некоторыми особенностями. Начнем с

Реляционное исчисление
Пример 3.11 Предположим, что мы работаем с базой данных, обладающей схемой СОТРУДНИКИ (СОТР_НОМ, СОТР_ИМЯ, СОТР_ЗАРП, ОТД_НОМ) и ОТДЕЛЫ (ОТД_НОМ, ОТД_КОЛ, ОТД_НАЧ), и хотим узнать име

Вопросы и упражнения для самоконтроля к главе 3
1. Чем отличается домен от типа данных? 2. Что такое степень отношения? 3. В чем отличие схемы отношения от отношения? 4. Можно ли считать любую прямоугольную таблицу дан

История языка SQL
Увеличение объема и структурной сложности хранимых данных, расширение круга пользователей информационных систем привели к широкому распространению наиболее удобных и сравнительно простых для понима

Структура языка SQL
Основу языка SQL составляют операторы, условно разбитые на несколько групп по выполняемым функциям. Можно выделить следующие группы операторов (перечислены не все операторы SQL):

Создание простых запросов
Оператор SELECT является фактически самым важным для пользователя и самым сложным оператором SQL. Он предназначен для выборки данных из таблиц, т.е. он, собственно, и реализует одно их основных наз

Агрегирование данных в запросах
В SQL существует ряд специальных стандартных функций (SQL-функций). Кроме специального случая COUNT(*) каждая из этих функций оперирует совокупностью значений столбца некоторой таблицы и создает ед

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

Формирование структур вложенных запросов
Следует отметить, что SQL обладает большой избыточностью в том смысле, что он часто предоставляет несколько различных способов формулировки одного и того же запроса. Очень удобным средство

Простые подзапросы
Рассмотрим простые подзапросы. Пример 4.27 Предположим, что известно имя продавца (Мотика), но неизвестно значение его поля snum, и необходимо извлечь все его порядки из таблицы

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

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

Вопросы и упражнения для самоконтроля к главе 4
1. Сколько версий языка SQL было принято? 2. Используется ли в какой-либо СУБД язык SQL в том виде, как он описан в стандарте? 3. Что означает символ «*» в операторе SELECT?

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

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

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

Вопросы и упражнения для самоконтроля к главе 5
Что является исходной информацией на первом шаге процесса проектирования классическим методом? Какие нормальные формы вы знаете? Приведение к какой нормальной форме считаетс

Непосредственное управление данными во внешней памяти
Эта функция включает обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей, например, для ускорения доступа к данным в не

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

Управление транзакциями
Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется, и СУБД фиксирует (COMMIT) изменения БД, произведенные этой транзакци

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

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

OLTP-системы
Сильно нормализованные модели данных хорошо подходят для так называемых OLTP-приложений (On-Line Transaction Processing - оперативная обработка транзакций). Типичными примерами

OLAP -системы
Другим типом приложений являются OLAP-приложения (On-Line Analitical Processing - оперативная аналитическая обработка данных). Это обобщенный термин, характеризующий принципы п

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

Ответ запрос
    Рисунок 6.1 Упрощенная схема работы монитора транзакций Клиентские приложения не знают, какой системе будут направлены их запросы, предлагается ли нужный се

Архитектура СУБД
Обычно современная СУБД содержит следующие компоненты (рис. 6.2):       Рис

Пользователи БД
Централизованный характер управления данными вызывает необходимость администрирования базы данных как сложной системы. Поэтому особую роль играет администратор базы или банка данных (АБД). А

Вопросы и упражнения для самоконтроля по главе 6
1. Для чего СУБД использует журналы? 2. Какова последовательность действий по восстановлению БД при жестком сбое? 3. Что содержится в системных таблицах БД? 4. Какие треб

Клиент Сервер
Рисунок 7.1 Модель файлового сервера Технология: выделяется файл-сервер для хранения и обработки файлов других узлов сети, а в остальных узлах функционирует приложение, в кодах кото

Клиент Сервер
Рисунок 7.2 Модель доступа к удаленным данным Технология: клиентский запрос направляется на сервер, где ядро СУБД обрабатывает запрос и возвращает результат (набор данных) клиенту.

Клиент Сервер
Рисунок 7.3 Модель сервера баз данных Технология: компонент представления выполняется на компьютере-клиенте, а прикладной компонент и ядро СУБД на компьютере-сервере БД. Процедуры х

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

Аспекты сетевого взаимодействия
Традиционной и наиболее популярной является модель доступа к удаленным данным (RDA-модель). Рассмотрим ее более подробно. Имеется компьютер-клиент, на котором запускаются программы переднего плана

Технология распределенной БД (технология STAR)
Системы распределенных БД состоят из набора узлов, связанных вместе коммуникационной сетью, в которой: 1) каждый узел обладает собственной системой БД; 2) узлы работают согласован

Технология тиражирования данных
Принципиальная характеристика тиражирования (репликации) данных (Data Replication - DR) заключается в отказе от физического распределения данных. Суть DR состоит в том, что любая база данных (как д

Вопросы и упражнения для самоконтроля к главе 7
1) Какие факторы влияют на реализацию технологии «клиент-сервер»? 2) Какой спектр операций манипулирования данными используется в модели файлового сервера? 3) Что означает пассивн

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги