Similar presentations:
Создание простейших приложений в Oracle Apex
1. Создание простейших приложений в ORACLE APEX
Графеева Н.Г.2017
2.
• Oracle Application Express предназначен длясоздания приложений, ориентированных на базы
данных. Инструмент Application Builder, входящий в
состав ORACLE APEX, предоставляет большой набор
готовых компонент и шаблонов для создания
приложений:
темы для интерфейса
элементы навигации
шаблоны форм
гибко настраиваемые отчёты
3. Основная терминология
• Workspace – позволяет нескольким разработчикам работать в рамкаходного экземпляра Oracle Application Express. В идеале: одно
прложение – один workspace.
• Application – "проект"в классическом понимании. Это коллекция
страниц и связей между ними. Содержит механизм аутентификации и
общие настройки темы для GUI.
• Page – базовый блок для построения приложений. Страницы являются
контейнерами всех остальных элементов.
• Region – логическое разбиение содержимого страницы. На странице
их может быть много. Они могут быть разного типа: HTML, SQL
Queries, PL/SQL-generated HTML, charts.
• Item – text field, text area, password, select list, check box и так далее.
4. Как это работает
• Приложение описывается различными метаданными.• Разработанное приложение сохраняется в базе данных
(для этого предусмотрены специальные системные
таблицы).
• При каждом обращении http-запрос транслируется в
запрос к БД и на основе полученных метаданных строится
очередная форма.
• Все сессии хранятся в БД.
5.
• Oracle APEX – это большое и сложное хозяйство. Его надонастраивать, им надо управлять. Возможно, при наличии
определённых навыках, оно позволит действительно
быстро и удобно создавать database oriented приложения.
Попробуем убедиться в этом на конкретных примерах…
6. Пример 1(создание приложения – отчета по двум таблицам)
7. Выберем инструмент Application Builder
8. Попытаемся создать Database Application
9. Уточним тип создаваемого приложения
10. Зададим название приложения и опции
11.
12. Выберем тип первой страницы (Report) и зададим соответствующую таблицу
13. Выберем тип второй страницы (Report) и зададим соответствующую таблицу
14. Посмотрим на созданное множество страниц
15. Откажемся от использования разделяемых компонент
16. Уточним формат вывода дат в приложении
17. Подтвердим намерение о создании приложения (Create Application)
18. Запустим готовое приложение (Run Application)
19. Окно аутентификации (по APEX)
20. Вторая страница приложения
21. Третья страница приложения
22. Пример 2 (табличный отчет и форма для редактирования и добавления новых записей – Report and Form)
23. Зададим название приложения и опции
24. Выберем тип создаваемой страницы (Report and Form)
25. Посмотрим на созданный набор страниц
26. Откажемся от использования разделяемых компонент
27. Уточним атрибуты и формат дат
28. Подтвердим свои намерения (Create Application)
29. Запустим созданное приложение (Run Application)
30. Окно аутентификации (как в APEX)
31. Страница – табличный отчет
32. Страница - редактирование
33. Страница - добавление
34. Примечание
• Страницы типа Form могут использоваться и вне контекстаReport and Form. Они могут использоваться для
добавления новых записей к любой таблице БД.
35. Пример 3 (создание страниц типа Master Detail)
36. Для каких таблиц возможно создание таких страниц?
• Страницы типа Master Detail могут создаваться для таблиц,связанных правилами целостности Foreign Key (например,
DEPT и EMP в демонстрационной базе). При этом
родительская таблица (т.е. DEPT) выступает в роли Master,
а подчиненная таблица в роли Detail (т.е. EMP).
• Соответствующее правило целостности в базе:
• ALTER TABLE EMP
• ADD FOREIGN KEY (DEPTNO)
• REFERENCES DEPT(DEPTNO) ENABLE
37. Зададим имя и опции для нового приложения
38. Выберет тип страницы – Master Detail
39. Посмотрим на множество сформированных страниц
40. Откажемся от использования Shared Components
41. Уточним атрибуты и формат дат
42. Подтвердим намерения (Create Application)
43. Запустим приложение (Run Application)
44. Окно аутентификации (как в APEX)
45. Страница c Master-таблицей
46. Страница с Detail-таблицей
47. Примечание
• Форма, в которой представлена Detailтаблица называется табулированнойформой (Tabular Form). Представление в
виде Tabular Form возможно и вне
контекста Master Detail для любой таблицы.
48. Пример 4 (построение Master Detail по Self-Referenced правилам целостности)
Пример 4 (построение Master
Detail по Self-Referenced
правилам целостности)
49.
• В демонстрационной базе ORACLE естьодно такое правило:
• ALTER TABLE "EMP" ADD FOREIGN KEY ("MGR")
• REFERENCES "EMP" ("EMPNO") ENABLE
50. …
51. В качестве Master и Detail укажем одну и ту же таблицу EMP
52. …
53. …
54. …
55. …
56. Аутентификация
57. Страница с Master-таблицей
58. Страница с Detail-таблицей
59. Пример 5 (построение графиков - Chart)
Пример 5 (построение графиков Chart)60. Создание страницы с графиком
61. Страница в приложении будет выглядеть так:
62. Редактирование приложений
• После создания первой версии приложения можно инужно продолжать расширять его функциональность и
настройку. Тем более, что список доступных типов страниц
значительно расширяется при редактировании
приложения.
63. Пример 6 (создание страницы типа Tree)
• Страницы типа Tree (иерархические структуры) можно строить потаблицам и представлениям, в которых присутствует (явно или
неявно) правила целостности типа Self Referenced (в демо-базе
таблица EMP).
• Отредактируем Приложение 2 и добавим к нему страницу,
отображающую список сотрудников в виде иерархической структуры.
64. Создание страницы типа Tree
65. Уточним атрибуты страницы
66. Уточним пункт меню
67. Зададим исходную таблицу
68. Уточним структуру дерева
69. Можем задать фильтры
70. Создадим открывающую и закрывающую кнопки
71. Подтвердим намерения
72. А вот и результат
73. А вот и результат…
74. Пример 7 (как можно оформлять вызовы процедур)
75. Создадим хранимую процедуру
• create or replace procedure ADD_SAL(value IN VARCHAR2 default 0)
is
begin
update EMP set SAL = SAL + value;
end;
76. Добавим новую страницу типа Form on a Procedure к Приложению 2 (Form -> Form on a Procedure)
Добавим новую страницу типа Formon a Procedure к Приложению 2
(Form -> Form on a Procedure)
77.
78. Зададим имя хранимой процедуры
79. Создадим пункт меню для вызова процедуры
80. Уточним имя процедуры и значение параметра по умолчанию для процедуры
81. Вот как выглядит приложение
82. Задаются фактические параметры для вызова процедуры
83. А вот результаты вызова…
84. Заключение
• Возможностей в APEX Application Builderочень много. Рассмотреть в рамках данного
курса практически невозможно. Мы
рассмотрели 2-3% из них. И тем не менее,
этого
достаточно,
чтобы
создавать
незатейливые
приложения
по
разнообразным поводам.
85. Домашнее задание 5
• Создайте приложение, которое объединит все 7заданий, упомянутых в презентации.
Результат (ссылку на приложение, логин и пароль
для входа) отправьте по адресу [email protected].
Тема письма – DB_Application_2017_job5.
Примечание:задание должно быть отправлено в
течение 14 дней. За более позднее отправление
будут сниматься штрафные баллы ( по баллу за
каждые две недели).
86. Литература
1. John Edward Scott and Scott Spendolini, Pro OracleApplication Express
2. http://docs.oracle.com/cd/E14373_01/index.htm(документа
ция)