|
Программирование >> Проектирование баз данных
включает шаблон кода для обработки ошибок, генерируемых ПО Oracle Server. Подводя итоги, скажем, что хорошая спецификация модуля должна сообщить компоновщику и всему остальному миру о том, что этот модуль должен делать, а не как именно он должен это делать. Описание экранных форм и отчетов в описание модулей, которые являются экранными формами или отчетами, иногда полезно включать их схему или формат. Кроме того, можно указать имя исходного столбца для всех полей, которые берутся из базы данных. Однако более важно иметь о таком модуле следующую информацию: сведения о том, что делает данная экранная форма или отчет, например. Change of Customer Status ( изменение статуса покупателя ) или Aged Debt Analysis Summary ( аналитическая сводка по просроченным долгам ); данные о навигации (откуда вызывается, что вызывает); список параметров (какие присутствуют входные параметры, каковы их значения по умолчанию); описание обработки (какие события могут происходить внутри модуля, как они обрабатываются); список ошибок (какие ошибки генерируются во время обработки и каковы их последствия); данные о безопасности (кто может запускать модуль, для кого предусмотрены ограниченные действия). В большинстве приложений после построения первых двух-трех экранных форм и отчетов форматы большинства остальных можно задать путем ссылки на одну из существующих экранных форм или отчетов. Это особенная выгода, которую может дать макетирование. Описание пакетных процессов Когда речь идет о пакетных процессах, основная часть описания касается обработки. Однако не следует забывать и о таких элементах, как: формулировка функции, выполняемой данным отчетом, например. Change of Customer Status ( изменение статуса покупателя ) или Aged Debt Analysis Summary ( аналитическая сводка по просроченным долгам ); список параметров (какие нужны входные параметры, каковы их значения по умолчанию); восстановление (что делать, если обработка задания прекращается на полпути); Г блокировка (использование блокировок уровня таблицы или предвари- тельных блокировок, чтобы задание не задерживалось); несовместимость (с оперативными функциями или другими пакетными подпрограммами); регистрация (где ведется журнал); ожидаемое состояние базы данных до и после прогона; ошибки (какие ошибки могут генерироваться во время обработки); безопасность (кто может выполнить процесс, кто может запустить его, для кого предусмотрены ограниченные действия). Более подробно пакетная обработка рассматривается в главе 20. в этой главе: Стртпегхт блокировки Взаимоблокировки Сераалазацан Другие вопроеы проетпирования Блокировка в приложениях баз данных блокировка применяется для того, чтобы не дать пользователям делать то, чего они делать не должны. Блокировку данных можно сравнить с запиранием сейфа. Но если сейф обычно запирают для предотвращения потенциального и почти наверняка умышленного преступления, то блокировка строк и таблиц базы данных осуществляется для предотвращения случайной потери данных или нарушения их целостности. В однопользовательском приложении, в котором в каждый момент времени к базе данных подключен только один пользователь, традиционная блокировка неуместна. Но как только мы начинаем поддерживать множество пользователей, возникает вероятность ошибок, которые можно предотвратить путем использования соответствующих стратегий блокировки. Слово предотвратить мы употребили не слугайно. Замок на кассе может и не отпугнуть решительного взломщика, а блокировка на базе данных будет соблюдаться базой данных, пока эта блокировка остается в силе. Стратегии блокировки Разрабатывая план книги, мы рассчитывали написать большую главу о блокировке. Когда же дело дошло до реализации нашего намерения, это глава оказалась довольно маленькой. Это объясняется тем, что стандартная стратегия блокировки Oracle практически во всех случаях дает нужный результат. Однако для обеспечения нормальной производительности в многопол j30Ba-тельском режиме необходимо помнить два простых правила: блокировать мало и блокировать позже. Эти правила противоречат тенденции ранней блокировки, характерной для большинства средств разработки, особенно для Oracle Forms. Смысл этих правил мы разъясним позже.
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |