W Cat - SQL за 24 часа
Затем были рассмотрены сохраняемые процедуры и триггеры. Сохраняемые процедуры состоят, в основном, из групп операторов SQL, хранящихся вместе в базе данных. Такие операторы вместе с другими необходимыми командами компилируются базой данных и сохраняются в виде, готовом для немедленного выполнения в любое время по требованию пользователя базы данных. Триггер тоже представляет собой сохраненную процедуру, но его выполнение инициируется автоматически в ответ на определенные события, происходящие в базе данных. Использование сохраненных процедур оказывается, как правило, более выгодным с точки зрения производительности системы, чем непосредственное использование отдельных операторов SQL.
Кроме того, были рассмотрены динамический SQL, генерирование операторов SQL средствами SQL и различия между прямым вызовом SQL и использованием вложенного SQL. Динамический SQL, в отличие от статического, позволяет динамическое создание программного кода SQL непосредственно пользователем в ходе выполнения программы. Использование SQL для генерации операторов SQL может существенно экономить время, поскольку дает возможность с помощью конкатенации и выбора подходящих буквальных значений автоматизировать трудоемкие операции по созданию больших последовательностей однообразных операторов SQL. Наконец, обсуждались различия между прямым вызовом SQL и вложенным SQL. Главное из этих различий заключается в том, что прямой вызов операторов SQL осуществляется непосредственно пользователем с любого терминала, а вложенный SQL можно фактически считать частью программы, с помощью которой обрабатываются данные.
Рассмотренные в ходе этого урока средства будут использованы для иллюстрации возможностей использования SQL в рамках реальной базы данных типичного предприятия, о котором пойдет речь на следующем уроке, "Использование SQL в локальных и глобальных сетях".
Вопросы и ответыМожет ли сохраненная процедура вызывать другую сохраненную процедуру?
Да. Вызываемая процедура называется также вложенной процедурой.
Как заставить курсор выполняться?
Используйте для этого оператор OPEN CURSOR. В итоге результат выполнения курсора будет сохранен в специальной области памяти.
ПрактикумЗадания практических занятий разделены на тесты и упражнения. Тесты предназначены для проверки общего уровня понимания рассмотренного материала. Упражнения дают возможность применить на практике идеи, обсуждавшиеся в ходе текущего урока, в комбинации с идеями из предыдущих уроков. Мы рекомендуем ответить на тестовые вопросы и выполнить упражнения прежде, чем продолжать дальнейшее чтение книги. Ответы можно проверить по Приложению Б, "Ответы".
Тесты1. Можно ли изменить триггер?
2. Можно ли использовать имя курсора вновь после того, как курсор будет закрыт?
3. Какая команда используется для извлечения данных курсора после его открытия?
4. Когда выполняются триггеры - до или после выполнения команд INSERT, UPDATE И DELETE?
Упражнения1. Используя таблицы системного каталога вашей базы данных, запишите программный код SQL, с помощью которого автоматически будут созданы следующие операторы SQL. Условные имена объектов замените реальными.
a. GRANT SELECT ON ИМЯ_ТАБЛИЦЫ ТО ИМЯ_ПОЛЬЗОВАТЕЛЯ;
б. GRANT, CONNECT, RESOURCE TO ИМЯ_ПОЛЬЗОВАТЕЛЯ; В. SELECT COUNT (*) FROM ИМЯ__ТАБЛИЦЫ;
2. Запишите оператор, создающий процедуру, позволяющую удалять строки таблицы PRODUCTS_TBL. В качестве образца используйте оператор, предложенный в тексте этого урока для процедуры, добавляющей строку с новым продуктом в указанную таблицу.
3. Запишите оператор, использующий созданную в предыдущем упражнении процедуру для удаления из таблицы строки с информацией о продукте с кодом (PROD_ID), равным 9999.
23-й час Использование SQL в локальных и глобальных сетях
В ходе этого урока мы с вами поговорим о том как использовать SQL в сю-виях реального предприятия ичи локачьной сети компании и как испочьзовать SQL в Internet
Основными на этом уроке будут следующие темы
• SQL на уровне предприятия
• Приложения прикладной и интерфейсной частей системы
• Удаленный доступ к базе данных
• SQL и Internet
• SQL и intranet
SQL на уровне предприятияВ ходе предыдущего урока мы рассмотрели средства SQL, которые приоткрыли вам дверь в мир практического использования возможностей этого языка В ходе этого урока мы обсудим использование SQL в рамках реального предприятия, что предполагает, в частности, наличие приложений SQL, с помощью которых работники предприятия получают возможность использования базы данных в производственных целях Многие коммерческие предприятия имеют данные, доступ к которым предлагается пользователям вне компании - другим предприятиям, покупателям или производителям Например, предприятие может предлагать потенциальным покупателям доступ к дополнительной информации о продуктах предприятия в надежде увеличить сбыт Должны быть учтены и нужды служащих предприятия Например, доступной может быть служебная информация о графиках работы и отпусков, обучении персонала, политике компании и т п Подобная база данных может быть создана и сделана легко доступной для пользователей средствами SQL и Internet
Прикладная частьСердцем любой базы данных является ее прикладная часть Именно там происходят главные события базы данных, оставаясь совершенно незаметными для пользователя Прикладная часть клиент-серверного приложения (back-end application) состоит из сервера базы данных, источников данных и соответствующего промежуточного программного обеспечения, используемого для подключения приложения к Web или удаленной базе данных по локальной сети.
Еще раз напомним, что к наиболее распространенным серверам баз данных относят Oracle, Informix, Sybase, Microsoft SQL Server и Borland InterBase Именно с сервера начинается разворачивание приложения баз данных либо на все предприятие в рамках локальной сети (LAN) или сети intranet предприятия, либо в Internet Разворачивание (porting) представляет собой процесс внедрения приложения в среду, доступную пользователям Сервер базы данных должен быть установлен на рабочем месте администратора базы данных, который, в свою очередь, должен понимать и производственные потребности предприятия, и требования самого приложения
Промежуточное программное обеспечение приложения состоит из сервера Web и средств, позволяющих подключить сервер Web к серверу базы данных Главной целью в данном случае является наличие в Web приложения, предоставляющего доступ к корпоративным данным
Интерфейсная частьИнтерфейсная часть приложения (front-end application) - это та часть приложения, с которой имеет дело пользователь Интерфейсная часть приложения может быть коммерческим продуктом какой-нибудь компании, производящей программное обеспечение на продажу, либо продуктом, разработанным внутри предприятия с применением различных программных средств О таких средствах будет идти речь в следующих разделах.
До того, как на рынке сложилось имеющееся сегодня разнообразие приложений, предлагающих интерфейс пользователя базы данных, пользователю необходимо было уметь программировать на языках типа С HTML или любом другом из множества процедурных языков программирования, с помощью которых разрабатывались приложения для Web Языки типа ANSI С, COBOL, FORTRAN или Pascal использовались для разработки интерфейсной части внутри предприятия, и соответствующий интерфейс пользователя был, как правило, текстовым Сегодня большинство новых приложений интерфейсной части предлагают графический пользовательский интерфейс (GUI)
Интерфейсная часть приложения призвана обеспечить пользователю простоту доступа к базе данных и работы с ней Внутренние процессы программный код и происходящие в ней события должны быть незаметными для пользователя Интерфейсная часть приложения должна быть разработана для того чтобы по возможности избавить пользователя от необходимости теряться в догадках и интуитивно чувствовать систему в целом Новые технологии позволяют сделать приложения более понятными и простыми в применении что дает пользователю возможность сосредоточиться на решении своих конкретных задач повышая в конечном итоге эффективность своего труда.
Имеющиеся на сегодня средства разработки приложений достаточно просты в применении и объектно-ориентированны, что достигается использованием в них пиктограмм, возможностей перетаскивания объектов с помощью мыши, а также различных мастеров, автоматически генерирующих объекты с заданными свойствами. Среди наиболее популярных средств разработки Web-приложений следует упомянуть C++Builder, IntraBuilder фирмы Borland и Visual J++, C++ фирмы Microsoft. Для разработки программ, предназначенных для работы в рамках локальной сети предприятия, используют PowerBuilder фирмы Powersoft, Developer/2000 фирмы Oracle Corporation, Visual Basic фирмы Microsoft и Delphi фирмы Borland.