Здесь находится пример приложения, построенного средствами СУБД 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.
Наверх