русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ответы на частые вопросы и комментарии


Дата добавления: 2014-12-01; просмотров: 538; Нарушение авторских прав


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

1. Создается правило, которое применяется всякий раз, когда новое значение температуры инструмента заносится в таблицу Инструмент. Как только она превосходит 500 градусов, правило вызывает процедуру Отключить_инструмент.

CREATE RULE Перегрев_инструмента

AFTER UPDATE OF

Инструмент (Температура)

WHERE Новое.Температура >= 500

EXECUTE PROCEDURE

Отключить_инструмент

(Номер_инструмента =

Инструмент.Номер);

{ СОЗДАТЬ ПРАВИЛО

Перегрев_инструмента

ПОСЛЕ ОБНОВЛЕНИЯ

Инструмент (Температура)

ГДЕ Новое.Температура >= 500

ВЫПОЛНИТЬ ПРОЦЕДУРУ

Отключить_инструмент

(Номер_инструмента =

Инструмент.Номер);

}

2. Создается процедура базы данных Отключить_инструмент, которая вызывает событие Перегрев; она будет выполнена в результате применения правила, определенного на шаге 1. Эта процедура регистрирует время, в течение которого инструмент был отключен, и вызывает событие Перегрев:

CREATE PROCEDURE

Отключить_инструмент

(Номер_инструмента) AS

BEGIN

UPDATE Инструмент

SET Статус = "ВЫКЛ"

WHERE Номер = Номер_инструмента;

RAISE DBEVENT Перегрев;

END;

{ СОЗДАТЬ ПРОЦЕДУРУ

Отключить_инструмент

(Номер_инструмента) КАК

НАЧАТЬ

ОБНОВИТЬ Инструмент

УСТАНОВИТЬ Статус = "ВЫКЛ"

ГДЕ Номер = Номер_инструмента;

ВЫЗВАТЬ СОБЫТИЕ Перегрев;

END;

}

3. Создается событие Перегрев, которое будет вызвано, когда инструмент перегреется:

CREATE DBEVENT Перегрев;

{ СОЗДАТЬ СОБЫТИЕ Перегрев }

4. Наконец, создается прикладная программа Монитор Инструментов, которая следит за состоянием инструментов. Она регистрируется сервером в качестве получателя события Перегрев с помощью оператора REGISTER DBEVENT. Если событие произошло, программа посылает сообщение пользователю и сигнал, необходимый для отключения инструмента.



...

EXEC SQL REGISTER

DBEVENT Перегрев;

...

EXEC SQL GET DBEVENT;

EXEC SQL INQUIRE_SQL

(Имя события = DBEVENTNAME, ...);

if (Имя события = "Перегрев")

then

послать сообщение;

отключить инструмент;

endif;

{...

ВЫПОЛНИТЬ SQL

ЗАРЕГИСТРИРОВАТЬ СОБЫТИЕ Перегрев;

...

ВЫПОЛНИТЬ SQL ПОЛУЧИТЬ СОБЫТИЕ;

ВЫПОЛНИТЬ SQL ПОЛУЧИТЬ ИМЯ СОБЫТИЯ;

если Имя события = "Перегрев"

то

послать сообщение;

отключить инструмент;

конец если;

}

Описанные конструкции в совокупности определяют следующую логику работы (рис.2):

1. Прикладная программа Монитор Инструментов периодически регистрирует с помощью датчиков текущие значения параметров множества различных инструментов.

2. Та же программа заносит в таблицу Инструмент новое значение температуры для данного инструмента.

3. Всякий раз, когда это происходит, то есть обновляется значение в столбце Температура таблицы Инструмент, применяется правило Перегрев_инструмента.

4. Применение правила состоит в проверке нового значения температуры. Если оно превышает максимально допустимое значение, то запускается процедура Отключить_инструмент.

5. Она изменяет значение в столбце Статус таблицы Инструмент на "ВЫКЛ".

6. Она же вызывает событие Перегрев.

7. Программа Монитор Событий получает (перехватывает) событие Перегрев.

8. Она же посылает сообщение на экран диспетчеру.

9. Она же отключает инструмент.

 

Инструмент, код 3114

           
   
     
 
 

 

 


Мониторинг датчиков

 

 
 

 


Перегрев_инструмента Если Температура > 500 Вызвать процедуру Отключить_инструмент

Процедура отключения инструмента

Рисунок 13.
Пример использования механизма событий в базе данных.

 

Рис.2.

Когда используются традиционные методы опроса БД, логика работы совершенно иная. Пришлось бы разработать дополнительную программу, которая периодически выполняла бы операцию выборки из таблицы Инструмент по критерию "Температура > 5000". Это очень заметно сказалось бы на эффективности, поскольку операция SELECT влечет серьезные накладные расходы.

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

 

Ответы на частые вопросы и комментарии

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

1. Группа Вконтакте, борющаяся с явлением «МЛМ». Самая большая из существующих: https://vk.com/club339222

2. Группа Вконтакте «Едоша-Лохотрон». Старый вариант (не модерируется): https://vk.com/club46773780 и новый вариант (информация структурированная, группа модерируется): https://vk.com/edosha_lohotron

3. Канал Леонида Котвицкого На Youtube.ru «Антилохотроны»: http://www.youtube.com/user/Antilohotrony

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

Учитывая большой опыт авторов предыдущего общения с представителями компании «Едоша», мы сразу можем ответить на самые частые комментарии:

- «вы все нытики, неудачники, РАБотающие на дядю»

Указание на факты не является нытьем. Авторы – вполне успешные в своих областях люди. А работа по найму не является постыдной и унизительной. В конце концов, сетевики тоже работают на дядю. Вы же заключаете с компанией агентский договор, и круг ваших прав очень ограничен. Хозяин бизнеса МЛМ – только один. В «Едоше» это Солошенко Владимир Сергеевич, но не вы. Если вы хотите быть настоящим «бизнесменом», то открывайте настоящее свое дело.

- «а вы попробуйте-ка тоже открыть магазины, наладить систему, организовать семинары, построить сеть. Это же все тяжело! Москва не сразу строилась!»

Поверьте: чтобы понять, что яйцо тухлое, не обязательно быть экспертов по продуктам питания. Авторы книги являются специалистами в своих областях, и делают свою работу ответственно и качественно. И уж точно не дают громких невыполнимых обещаний, как Основатель. Поэтому, с чистой совестью ответственных работников, считаем себя имеющими право указывать на явные ошибки в работе компании «Едоша». Как говорится: «Взялся за гуж – не говори, что не дюж».

- «Едоша» - лучшая компания, продукты вкуснее, деньги платятся, вы ничего не понимаете, и вообще: собаки лают – караван идет»

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

«Едоша – лучшая компания потому-то и потому-то (факты, ссылки и скрины). Продукты в Едоше вкуснее, потому что (ссылки, факты, сравнения т и.д.)»

«Едошу много ругают, о ней много говорят, значит компания значащая».

Про чупакабру тоже много говорят. Это не значит, что чупакабра хорошая или значащая.

Именно в такой форме мы готовы рассматривать ваши мнения. Что до собак и каравана, то в случае сетевого маркетинга имеет место караван. Но это скорее караван трудяг-верблюдов, погоняемых одним погонщиком-Основателем.

Также не будут приниматься всерьез откровенно оскорбительные комментарии. Особенно если они не подкреплены фактами. Если у вас есть острое желание вылить свой негатив на эту книгу, то сделать это можно так: на своей странице в ЖЖ, Вконтакте, на своей сайте и т.д. вы даете ссылку на эту книгу (где ее можно прочитать), и уже там – у себя – обсуждаете ее сколько захотите в любых выражениях. Мы даем обещание, что в ваши дискуссии на ваших страницах встревать не будем.

 



<== предыдущая лекция | следующая лекция ==>
Активный (интеллектуальный) сервер. | ОБСТАНОВКА С ПОЖАРАМИ НА ТЕРРИТОРИИ


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.124 сек.