Фуфаев - Разработка и эксплуатация удалённых БД (1084483), страница 26
Текст из файла (страница 26)
Если в предыдущем запросе 6сООнт ВООкЯ было присвоено неопределенное значение, заменим его на нуль, используя для этого встроенную Функцию СОАЬЕЯСЕ(6СООНТ ВООКЯ.О), которая возвращает первое определенное значение из списка значений, заданных в качестве ее параметров */ Беьест 6Т н = 1 /* присвоим выходному параметру 6У н значение 1, соответствующее тому, что данный читатель ранее в библиотеке был записан */ Хранимые процедуры также играют ключевую роль в повышении быстродействия работы в сети с архитектурой клиент — сервер.
В этом случае клиент обрашается к серверу только дяя выпол)(ения команды запуска хранимой процедуры, которая выполняется на сервере. Объем пересылаемой по сети информации при этом резко сокращается. 8.6. Разработка триггеров Триггер — это специальный вид хранимой процедуры, кото-. рую БО) Бегяег вызывает при выполнении операций модификации соответствующих таблиц и которая автоматически активизируется при выполнении операции, с которой он связан.
При этом триггеры связываются с одной или несколькими операциями модификации над одной таблицей. В разных коммерческих СУБД рассматриваются разные три)теры. Так, в МБ БО). Бегуег триггеры определены только как пост- фильтры, т.е. как триггеры, которые выполняются после свершения события. 129 В СУБД Огас1е определены два типа триггеров: которые могут быть запущены перед реализацией операции модификации, называемые ВЕГОКЕ-триггерами, и которые активизируются после выполнения соответствующей модификации аналогично триггерам МЯ БО) Бегуег, называемые АРТЕК-триггерами.
Триггеры могут эффективно использоваться для поддержки семантической целостности БД„однако приоритет их ниже, чем приоритет правил, т.е. ограничений (сопз[га[пЬ), задаваемых на уровне описания таблиц и связей между ними. При написании триггеров всегда надо помнить об этом. При нарушении правил целостности по связям (ОК1 — Оес1агайче КеГегепг[а] 1п[еяпсу) триггер просто может никогда не сработать. Для создания триггеров используется специальная команда: СВЕАТЕ ТйХЯ(айй <имя триггера> ОИ <имя таблицы> ВХЖ ([1ИЯЕЕТ][, ([РЭАТЕ] [, РЕЬЕТЕ)) [Х1ТН ЕИСЕ1РТ1НС] АЗ яйЬ-операторы (текст программы) Имя триггера является идентификатором в встроенном языке программирования СУБД и должно удовлетворять соответствующим требованиям. В параметре РОК задается одна или несколько операций модификации, которые и запускают триггер.
Параметр %!ТН Е[х[СК1РТ1)ЧО имеет тот же смысл, что и дпя хранимых процедур, т.е. он скрывает исходный текст триггера. Существуют следующие правила, ограничивающие состав операторов триггера: ° нельзя использовать в теле триггера операции создания объектов новой БД; ~ нельзя использовать в триггере команду удаления объектов ПКОР для всех типов объектов БД; ° нельзя использовать в теле триггера команды изменения объектов базы данных А).ТЕК ТАВ1.Е, А1.ТЕК ОАТАВАЬЕ; » нельзя изменять установленные права доступа к объектам БД, т.е. выполнять команду ОКАМЭ или КЕУОКЕ; ° нельзя создать триггер для представления (Ъ'1Е%); ° в отличие от хранимых процедур триггер не может возвращать никаких значений, он запускается автоматически сервером и не может связаться самостоятельно ни с одним клиентом. Контрольные вопросы ].
Назовите основные причины, по которым Мгсгоазй Ассем рекомендуется применять для разработки проекта многопользовательских удаленных баз данных. !30 2. Какова технология создания серверного приложения преобразованием проекта базы данных формата М)сгояогг Ассеяя в формат ЯУ)- Беп ег? 3. Укажите назначение операторов в следующей структуре 50[.: СВЕАТЕ ТАВйЕ ТаЫ енаее ( (со1итнагпе г]агатуре [Мог МОГ Ь) [ОМТООЕ] [ОЕРАОЬТ г(еГаи1ЕОрехоп] [СНЕСК (яеагсПСопсхехоп) ] [, ] ) [РКТМАКТ КЕТ (11яЕОГСо1игяпя),) ОМТООЕ (11яЕОТСо1илта),] (, ]) ( РОИЕТОМ КЕТ (11яЕОЕГогетдпКеуСо1игяпя) КЕРЕРЕМСЕЗ Рагепгта]я1енапе [(11яЕОГСапс]1я(агеКеуСо1игппя)], [млтсн [РАкттАА ] Рпы,) [ОМ ОРОАТЕ геЕегепг1а1дсгтоп] [ОМ ОРОАТЕ гетегепета1Асгхоп) [, ]) ((СНЕСК (яедгснСопсгетоп]] (, ))) Каков результат выполнения данного фрагмента программы? 4.
Чем отличается пользовательское представление от таблицы базы данных и как оно разрабатывается? 5. Что такое хранимая процедура и в какой части архитектуры клиент — сервер выполняется эта подпрограмма? б. Чем отличается триггер от хранимой процедуры? 7. Назовите тйпы триггеров, предусмотренных в СУБД М5 5(']). Бегтег и Огас]е. ЧА СтЬ !)У ПРОЕКТИРОВАНИЕ КЛИЕНТСКОЙ ЧАСТИ ПРИЛОЖЕНИЯ БАЗ ДАННЫХ ГЛАВА 9 ОБЩИЕ ПРИНЦИПЫ ПРОЕКТИРОВАНИЯ КЛИЕНТСКОЙ ЧАСТИ БАЗ ДАННЫХ 9.1.
Основные требования к разработке пользовательского интерфейса Создание пользовательского приложения требует разработки так называемого дружественного интерфейса пользователя, т.е. организации диалога между пользователем и компьютером (клиентом и сервером). Основным способом организации диалога является разработка диалоговых форм, которые по назначению можно подразделить на следующие группы: ° для ввода данных в таблицы; ° для ввода условий обработки информации в запросы; ° для автоматизации работы с объектами базы данных.
Формы для ввода данных в таблицы предназначаются для такой организации процедур внесения информации, которые могли бы свести к минимуму возможность ошибок оператора. Кроме того, такие формы могут служить для проведения анализа имеющихся в таблицах данных. Формы для ввода условий обработки информации в запросы имеют назначение, аналогичное формам для ввода данных в таблицы. Формы для автоматизации работы с' обьектами базы данных имеют различное назначение, например это формы-заставки, формы-меню, кнопочные формы и др.
Все эти формы и представляют собой интерфейс пользователя. Разработка форм может производиться различными средствами визуального проектирования, например: с помощью языков программирования (С++, Ре)р(1(, УВА) с помощью специальных компонентов СУБД (конструкторов форм М)сгоао() Асеева, Огас!е и др.). Однако, какими бы средствами не разраба~ывались формы интерфейса пользователя, необходимо учитывать следующие советы н рекомендации: (32 ° прежде чем приступать к проектированию форм, необходимо продумать «сценарий» пользовательского интерфейса, т.е.
определить последовательность появления форм на экране компьютера пользователя в соответствии с выполняемыми задачами. Фактически разработчик форм должен научиться создавать сценарии аналогично сценаристу художественных фильмов; ° каждая форма должна иметь название, которое однозначно определяет ее назначение; ° форма должна иметь привлекательный внешний вид, но при этом не должна содержать информации, не относящейся к конкретной задаче; ° формы для ввода данных в таблицы или параметров в запросы должны обеспечивать: минимизацию возможных ошибок при вводе данных пользователем за счет согласования терминов и сокращений, ввода данных из списков и создания сообщений о допущенной ошибке; оптимальные способы перемещения курсора (табуляцией, стрелками, указателем мыши); получение пояснительных сообщений или инструкций при вводе данных в поля таблиц или запросов; автоматическое закрытие формы и переход к следующей форме. 9.2.
Разработка пользовательского интерфейса средствами визуального проектирования МЗ Ассевз Чтобы информационная система была удобна для работы пользователя, кроме создания эффективной модели данных (разработки состава и взаимодействия таблиц и запросов) необходимо разработать удобный дружественный пользовательский интерфейс. Разработка интерфейса пользователя связана с настройкой панелей инструментов, созданием пользовательского меню, разработкой различных диалоговых форм. Настройка панелей инструментов н пользовательского меню.
Для создания и настройки панелей инструментов, строк меню и контекстных меню, а также для установки свойств, влияющих на их вид и работу, используется диалоговое окно Насеройка. Для его открытия необходимо выбрать в меню Вид команду Панели инструментов и подкоманду Настройка. Создание специальной панели инструментов для открытой базы данных производится в следующем порядке: ° в меню Вид выбрать команду Панели инструментов, а затем подкоманду Настройка; ° на вкладке Панели инструментов нажать кнопку гСоздать); 133 ° в поле Панель инструментов ввести необходимое имя и нажать кнопку 1ОК]; «на вкладке Панели инструментов нажать кнопку 1Свойства]; ° установить требуемые свойства и нажать кнопку ]Закрыть]. Новая панель инструментов появится за диалоговым окном Настройка. Чтобы закончить создание панели инструментов, следует выполнить следующие действия: ° добавить кнопки из диалогового окна Настройка; ° переместить или скопировать кнопку с другой панели инструментов.