СТАТЬЯ |
07.02.01
|
ГЛАВА 1
РАЗРАБОТЧИК ПРИЛОЖЕНИЙ
Эта глава кратко обсуждает этапы, из которых состоит процесс проектирования и разработки приложения базы данных ORACLE. Более детальная информация, необходимая для понимания этих задач, представлена в последующих главах этого документа. Хотя специфика этих задач варьируется в зависимости от типа и сложности разрабатываемого приложения, в общем случае обязанности разработчика приложения включают:
Первым шагом в проектировании полезного приложения является определение проблемы, которую вы хотите решить. Важно, чтобы вы сосредотачивались не на данных как таковых, а, скорее, на том, как используются эти данные. При проектировании вашего приложения вы должны определить следующее:
С этого момента вы готовы начать проектирование вашей модели данных. Эта модель поможет вам определить, как эти данные могут наиболее эффективно храниться и использоваться. Для отображения реального мира в систему управления реляционной базой данных часто используется модель связей между сущностями. Модель связей между сущностями категоризует каждый элемент системы либо как сущность (лицо, место, вещь), либо как связь, отношение между сущностями. Оба этих конструкта представляются одной и той же структурой: таблицей. Например, в системе ввода заказов как изделия, так и заказы являются сущностями. Информация об изделиях и информация о заказах представляется таблицами. Отношение, показывающее, какие изделия входят в каждый заказ, также представляется еще одной таблицей.
Приложение, реализующее модель связей между сущностями, требует выполнения следующих шагов.
Закончив проектирование вашей базы данных, вы можете начинать проектирование самого приложения. Этот процесс также является интерактивным, и может заставить вас пересмотреть ваш проект базы данных. По мере возможности вы должны привлекать вашу аудиторию к этим проектным решениям. Вы должны сделать ваше приложение доступным пользователям как можно раньше, чтобы получать от них обратную связь, необходимую для уточнения вашего проекта. Для помощи в разработке и реализации приложения существует много инструментов, как от Oracle, так и от других поставщиков. Ваша первая задача - оценить имеющиеся инструменты и выбрать из них наиболее подходящие.
Использование существующих возможностей
Затем вы должны определить, как реализовать ваши требования с помощью средств, предлагаемых как ORACLE, так и любыми другими инструментами и утилитами, которые вы выбрали на предыдущем шаге. Средства и инструменты, выбираемые вами для реализации вашего приложения, могут существенно сказаться на производительности этого приложения. Чем больше усилий вы вложите в проектирование эффективного приложения, тем меньше времени потребуется вам затратить на настройку готового приложения. Ниже перечислены некоторые возможности ORACLE, наиболее полезные для разработчиков приложений. Каждое из средств, описанных здесь, подробно обсуждается в последующих главах этой книги.
Ограничения целостности позволяют вам определить некоторые требования к данным, которые могут включаться в таблицу, и гарантировать, что эти требования будут соблюдаться независимо от того, как вводятся данные. Эти ограничения включаются как часть определения таблицы, и не требуют никакого программирования; рекомендации по их применению приводятся в главе 6.
Процедуры общего применения можно написать на PL/SQL один раз, и сохранить их в базе данных для неоднократного использования различными приложениями. Это гарантирует согласованность поведения между приложениями, и может сократить ваше время на разработку и отладку. Взаимосвязанные процедуры можно группировать в пакеты, и хранить спецификацию пакета отдельно от тела пакета. Тело пакета можно изменять и перекомпилировать, не затрагивая спецификацию пакета. Это позволяет вам вносить в тело пакета изменения, которые остаются невидимыми конечным пользователям и не требуют перекомпиляции объектов, обращающихся к спецификации данного пакета. Для дополнительной информации обратитесь к главе 7.
Сложные организационные правила, которые не могут быть реализованы посредством декларативных ограничений целостности, можно ввести в действие через триггеры. Триггеры, которые аналогичны хранимым процедурам, автоматически исполняются, когда выдается предложение триггера, независимо от пользователя или приложения. Для дополнительной информации обратитесь к главе 8. Триггеры базы данных могут найти такие разнообразные применения, как аудит, основанный на значениях, поддержка вычисляемых данных, ввод в действие комплексных правил защиты или целостности, а также дублирование данных между базами данных. За счет перемещения кода из вашего приложения в базу данных (посредством триггеров) вы можете гарантировать одинаковость поведения всех приложений.
Метод стоимостной оптимизации использует статистики по таблицам вместе с информацией о существующих индексах при выборе плана исполнения для предложений SQL. Это позволяет даже неопытным пользователям выдавать сложные запросы, не беспокоясь об их производительности. Как разработчик приложения, вы в ряде ситуаций можете иметь больше знания о данных вашей таблицы, чем известно оптимизатору, и это может позволить вам выбирать лучшие планы исполнения. В таких случаях вы можете предоставлять оптимизатору советы, позволяющие ему выбрать должный план исполнения. Для дополнительной информации обратитесь к главе 5.
Разделяемый SQL позволяет множественным пользователям совместно использовать (разделять) единственную исполняемую копию процедуры или предложения SQL, что существенно сокращает требования к памяти. Если выдаются идентичные предложения SQL, разделяемая область SQL, использовавшаяся для обработки первого экземпляра предложения, повторно используется для обработки последующих экземпляров того же самого предложения. Вы должны совместно с АБД и другими разработчиками приложений выработать стандарты, которые позволили бы предложениям и блокам, выполняющим аналогичные задачи, использовать одни и те же разделяемые области SQL всегда, когда это возможно. Для дополнительной информации см. страницу 4-10.
ORACLE поддерживает как однобайтовые, так и мультибайтовые схемы кодирования символов. Поскольку зависящие от языка данные хранятся отдельно от обрабатывающего их кода, вы можете легко добавлять новые языки и зависящие от языка средства (такие как форматы дат), не изменяя кода вашего приложения.
По умолчанию ORACLE предусматривает блокировку на уровне строк, что позволяет множественным пользователям обращаться к разным строкам одной и той же таблицы, не сталкиваясь с соперничеством за блокировки. Хотя это в высокой степени сокращает вероятность возникновения захватов, вы при проектировании приложения все-таки должны заботиться о том, чтобы избегать этих захватов.
Больше всего выигрывают от блокировки на уровне строк приложения интерактивной обработки транзакций (т.е. приложения, в которых множественные пользователи одновременно модифицируют разные строки одной и той же таблицы). Вы должны проектировать свои приложения с учетом этих средств. Помимо этого, блокировки ORACLE доступны вам для явного использования в приложениях. Эти блокировки предоставляются как часть пакета DBMS_LOCK, который описан в приложении A.
Профили могут использоваться для установления ограничений на использование системных ресурсов, как на индивидуальный запрос, так и на сессию. При проектировании приложений вы можете учесть возможность того, что пользователь может быть лишен возможности доступа к системе из-за ограничений на ресурсы. С помощью профилей вы можете предоставлять таким редко встречающимся пользователям ограниченный доступ к базе данных. В этом случае вам может потребоваться учесть их требования при формулировке вашего проекта. Профили обычно контролируются администраторами базы данных. Обратитесь к вашему АБД, чтобы выяснить, не требуется ли доступ к приложению дополнительным пользователям, и определить соответствующую аудиторию.
Вы можете применять последовательности для автоматической генерации уникальных ключей для ваших данных и координации таких ключей между множественными строками или таблицами. Генератор последовательных номеров устраняет очередь, которая возникала бы при генерации номеров программными средствами, за счет того, что блокирует последнее использовавшееся значение, а затем наращивает его. Последовательные номера могут также считываться из кэша последовательных номеров, вместо диска, что еще более увеличивает скорость их получения.
Соответствие промышленным стандартам
ORACLE разработан в соответствии с промышленными стандартами. Если ваши приложения должны удовлетворять таким стандартам, вам следует обратиться к документу ORACLE7 Server SQL Language Reference Manual за детальным объяснением вопросов согласованности ORACLE со стандартами SQL.
Все операции, выполняемые с информацией в базе данных ORACLE, осуществляются с помощью предложений SQL. После того как вы завершите проектирование ваше приложения, вы должны будете начать написание предложений SQL, реализующих этот проект. Вы должны обладать глубоким пониманием SQL, прежде чем начнете писать ваше приложение. Общее описание того, как исполняются предложения SQL, приведено в главе 4 этого документа. Для более детальной информации о SQL обратитесь к документу ORACLE7 SQL Language Reference Manual. Вы можете существенно улучшить производительность вашего приложения путем настройки используемых им предложений SQL. Настройка предложений SQL подробно объясняется в главе 5 этого документа.
Обеспечение защиты в вашем приложении
Ваш проект приложения не будет полным, пока вы не определите требования защиты для этого приложения. Как часть проекта приложения, вы в свое время идентифицировали задачи, которые должен выполнять каждый пользователь или группа пользователей с помощью вашего приложения. Сейчас вы должны определить, какие привилегии необходимы пользователям для выполнения этих задач. Для безопасности базы данных важно, чтобы пользователи имели привилегий не больше, чем требуется для выполнения соответствующих задач. Заставив ваше приложение включать соответствующие роли, когда пользователь запускает приложение, вы можете гарантировать, что пользователь сможет иметь к базе данных лишь те возможности доступа, которые изначально спланированы вами. Поскольку роли обычно назначаются пользователям администратором базы данных, вы должны согласовать с вашим АБД, чтобы каждый пользователь имел доступ к ролям, требуемым вашему приложению для соответствующих задач. Обратитесь к главе 10.
Настройка приложения базы данных имеет две важных области, над которыми следует подумать:
Сопровождение и обновление приложения
При обновлении существующего приложения или написании нового приложения для существующей базы данных вы должны следовать в основном тем же процедурам, которые были описаны выше в этой главе. Вы должны идентифицировать и понять потребности вашей аудитории, и спроектировать ваше приложение в соответствии с ними. Вы должны также тесно сотрудничать с администратором базы данных, чтобы определить следующее:
Дополнительную информацию Вы можете получить в компании Interface Ltd.
Отправить
ссылку на страницу по e-mail
Обсудить на форуме Oracle
Interface Ltd. Отправить E-Mail http://www.interface.ru |
|
Ваши замечания и предложения
отправляйте автору По техническим вопросам обращайтесь к вебмастеру Документ опубликован: 07.02.01 |