Пример построения приложения для СУБД Oracle


Здесь находится пример приложения, построенного средствами СУБД Oracle с использованием спроектированной БД.

Построена база данных о родственниках. Стандартными средствами XML DB построен шлюз для PL/SQL. Техникой PSP (PL/SQL Server Pages) создано несколько страниц приложения для web "Родственные связи". Основная нагрузка легла на страницу выдачи сведений о каждом конкретном человеке из БД. В программе для этой страницы нашли себе применение рекурсивные запросы с вынесеной из основного запроса формулировкой. Внешнее оформление страниц (включая навигационное меню) построено техникой CSS, и отчасти JavaScript. В частности, последний язык использовался для построения двухстолбцового сводного списка лиц, что иначе можно было бы сделать "на сервере", обратившись к ассоциативному массиву в PL/SQL.

Файлы CSS и JavaScript размещены в репозитарии XML DB. Туда же копируются по FTP фотографии, откуда командой SQL INSERT добавляются в базу конструктором XDBURITYPE в требуемый столбец таблицы БД типа BLOB. Предусмотрена простая текстовка разгрузки, извлекающая при необходимости фотографию из БД в файл. Такая техника позволяет работать с БД с клиентской машины, и не переходить на сторону сервера.

Для широкого доступа приложение предполагалось разместить на съемном (арендуемом) участке сервера web, где невозможен прямой доступ к БД Oracle. По этой причине пришлось составить текстовку (script) для SQL*Plus, сканирующую все страницы приложения в XML DB (по таблицам из базы), и порождающую статические файлы в формате HTML. Сканирование выполняется с применением типа HTTPURITYPE. Для статических страниц применяется подмена адресов URL с помощью регулярных выражений на PL/SQL.

Порожденный текстовкой для SQL*Plus полный набор страниц переносится на арендуемое дисковое пространство сервера web обычным образом.

Замечательно, что это приложение для web построено и работает без привлечения дополнительного сервера приложений, то есть при помощи одной только СУБД Oracle, хотя использование отдельного сервера приложений не и запрещено.

Все использованные технологии рассмотрены в курсах по SQL, PL/SQL, XML.



Valid CSS!