Н, 3. Епманова, C++Bui/der 3.0, архитектура "клиент/сервер" и Internet
Доступ к данным серверных СУБД в C++Bu!lder 3.0
pi SQL Explore!                                                                                                ШЕБЦ	
Object   Dictionary   Edit   View   Cations   Help ;~v     X    *^>   Г-    d                  +-•             :                      :       +           •»•                   C1 All Database Aliases                                        Definition of Column! Databases | Dictionary |                                  Definition | т erf   j Enter SQL)	
ffi Щ SYS.DUAL                            3 :  а щ SYS.PSTUBTBL ЕЕ .Щ SYS.STMT_AUDIT_OPTION_I :    Ш Ш SYS.SYSTEM_PRIVILEGE_M.' '.    iii El SYS.TABLE_PRIVILEGE_MAF :    ffi Щ SYSTEM.USER_PROFILE !    и Ш USER101.DEPT ;    И Ш USER101.EMP :    Й-Ж'Ш USER101.MyTable :          B-JJ("ED Columns :          i   ' ;- :$M my_ID I          i     ;- -;^R=fl My data	Order ...................... "3 Type Length             i Precision ........^ ...................... ^   ................. ...... Nuiis^    1.1 77. 7.7   ........ Default        ...] ................. ................
i     i.  -{»'-[jJ] my_comment              |	
r->s'B Indices                         _J i   :К;(Ш] Primary Key !•• -|>(~(!fl Referential Constraints i --iflil Unique Constraints       jj <i -A- .^Jiir          Г'>*Г	
A valffliuibi'splSfied for Турели:"                 .	
/"«c. 2. P. Создание таблиц серверных СУБД с помощью SQL Explorer
После сохранения изменений можно найти текст оператора SQL, сгенерированного библиотекой BDE при создании таблицы:
CREATE TABLE USER101."MyTable" ("my_ID" NUMBER(*) NOT NULL, "My_data" LONG RAW, "my_comment" DATE)
Отметим, что создавать таблицы таким образом можно только в серверных СУБД. Для создания же таблиц dBase, Paradox и др. с помощью SQL Explorer следует ввести соответствующий оператор SQL в окно редактирования Enter SQL.
Помимо таблиц и индексов, с помощью SQL Explorer можно также визуально создавать связанные с таблицами серверные ограничений (Constraints), определяющие условия, которым должны удовлетворять значения для возможности ввода их в базу данных (рис. 2.10).
PSQLExploier
Object   Djctionary   Edit   View   Options   Help
№Ш
All Database Aliases Databases I Dictionary j
Щ Triggers
FJfl USER101.EMP
Щ Й Columns
Т ИД Indices i- |§Д Primary Key г (ш| Referential Constraints !• Й Unique Constraints
В Й Check Cgnstraints
:  • гавйаишЯ
fJDl Triggers
И5Я   11ССО1П1  kj*..T^kU
±l
"Definition of SYS_C00524 Definition | Text :j EntejSQLJ::
Constraint:Te;EMPNO IS NOT NULL Disabled        No
{Oiterii;ihi;SYS_Cp0524.
Рис. 2.10. Серверные ограничения
2.2.3   Создание триггеров и хранимых процедур
Серверные СУБД могут хранить не только данные, но и исполняемый код. Он обычно содержится в объектах, называемых триггерами и хранимыми процедурами.
Хранимые процедуры - это выполняемые программы, хранящиеся как часть метаданных серверной базы данных. Хранимые процедуры могут иметь входные и выходные параметры, могут возвращать или не возвращать наборы данных (курсоры).
Существует два типа хранимых процедур: процедуры для выбора данных, которые могут быть использованы вместо таблицы или запроса, и выполняемые процедуры, которые могут ничего не возвращать.
Триггеры представляют собой исполняемый код, связанный с таблицей или представлением, автоматически выполняющийся при вставке, удалении или модификации данных. Триггер никогда не вызывается непосредственно. В определенной степени триггеры похожи на обработчики событий.
И хранимые процедуры, и триггеры реализуют алгоритмы выполнения т°й или иной задачи и поэтому пишутся на процедурных расширениях SQL, различных для разных серверных СУБД. Описание конкретного диа-ле?га SQL можно найти в документации к используемой серверной СУБД.
34
35