Лабораторная работа № 4 приложений Oracle с детальными отчетами

advertisement
Лабораторная работа № 4
База данных Oracle Database 11g Express Edition. Экспресс-разработка
приложений Oracle с детальными отчетами
1. Цель работы
Изучение пользовательского интерфейса базы данных (БД) Oracle Database 11g
Express Edition и встроенных средств экспресс-разработки приложений Oracle.
2. Задачи
Разработка приложения с детальным отчетом вида «главный – подчиненный».
Разработка приложения с углубленным отчетом вида «главный – подчиненный».
3. Теоретическая часть
3.1. Разработка приложения с детальным отчетом
Приложение, которое мы разработаем, будет показывать детальный отчет вида
«главный – подчиненный». Если простой отчет показывает данные из одной
таблицы БД, то отчет «главный – подчиненный» строится на основе не менее двух
таблиц БД, связанных друг с другом. Одна из таблиц является главной (Master
Table), вторая – подчиненной (детальной, Detail Table). Соответственно в
приложении создаются два компонента (например, в виде сеток строк), связанные
с этими таблицами. Компонент главной таблицы, как правило, отображает все
записи из главной таблицы. Компонент подчиненной таблицы отображает только
те записи из детальной таблицы, которые связаны с выбранной записью главной
таблицы.
В этом отчете нужно показать всех сотрудников, работающих в расположенном в
определенном месте отделе. Приложение должно также показывать
персональные данные для выбранного сотрудника. Приложение будет иметь 3
страницы. Первая страница – это страница созданного простого отчета,
расположенный на ней набор данных теперь будет выступать в качестве главной
таблицы. На второй странице будет расположена сетка строк, отображающая
подчиненную таблицу. Наконец, на третьей странице будет расположена форма,
показывающая детальные данные для записи, выбранной на второй странице.
Эта форма предназначена для просмотра и редактирования одной конкретной
записи. Такая форма приложения иногда называется углубленным отчетом
(Report Drill Down). Но это одна из разновидностей отчета «главный –
подчиненный».
Приложение с детальным отчетом будем разрабатывать как развитие приложения
с простым отчетом, созданным в ходе выполнения лабораторной работы №3 (HR
Application Departments). Чтобы оставить приложение HR Application Departments в
неизменном виде, сделаем его копию, которую и будем развивать. Порядок
выполнения:
1. Из главного меню браузера Oracle Application Express (страница Home)
запустите конструктор приложений Application Builder. Щелкните на имени
приложения HR Application Departments. Откроется страница работы с
приложением (рис. 4.1).
Рис. 4.1. Страница работы с приложением
2. Запустите приложение (Run Application) -> Actions -> Select Columns ->
переместите имена всех столбцов на панель Display in Report -> Apply.
Сохраните настройки для отчета: Actions -> Save Report -> радиокнопка
Primary -> Apply. Вернитесь на страницу работы с приложением (рис. 4.1) с
помощью кнопки Application ID в нижней части страницы.
3. В боксе Tasks выберите пункт Copy this Application. Начинает работать
мастер копирования приложения. В форме Copy Application (рис. 4.2)
введите новое имя для копии (например, HR Application Employees) -> Next.
Рис. 4.2. Форма для ввода имени копии приложения
Подтвердите копирование с выбранными атрибутами. В появившейся
форме Application Copied выберите иконку Edit Application, чтобы внести
изменения в приложение.
Рис. 4.3. Форма Application Copied
4. На странице работы с приложением HR Application Employees (аналогичной
изображенной на рис. 4.1) нажмите кнопку Create Page. Начинает работу
мастер создания страницы. Шаг мастера Page -> выберите вид страницы
Form -> Next. Откроется окно для выбора конкретного вида формы (рис.
4.4): в нем выберите Form on a Table with Report -> Next. Эта опция создает
две страницы – отчет и форму, основанные на одной таблице.
Рис. 4.4. Окно выбора вида формы
5. Шаг мастера Identify Table or View. В окне запроса имени пользователя –
владельца схемы (рис. 4.5) оставьте по умолчанию имя HR -> Next.
Рис.4.5. Выбор имени пользователя
6. В окне выбора имени таблицы (рис. 4.6) с помощью кнопки со стрелкой из
раскрывающегося списка подстановки выберите Employees -> Next.
Рис. 4.5. Выбор имени таблицы
7. Шаг мастера Define Report Page. Здесь задаются настройки для страницы
отчета по сотрудникам. В форме Create Report Page форме сделайте
следующие изменения (рис. 4.6):
 Implementation – выберите Interactive;
 Page Name – введите Сотрудники;
 Region Title – введите Сотрудники;
 Breadcrumb – выберите Breadcrumb.
 Появится форма Create Breadcrumb Entry. Для Select Parent Entry
нажмите ссылку Отделы. В строке Parent Entry появится имя главной
формы Отделы. В строке Entry Name введите Сотрудники.
Рис. 4.6. Параметры страницы отчета
Нажмите Next -> примите по умолчанию Do not use Tabs -> Next.
8. На форме выбора столбцов (рис. 4.7) с нажатой клавишей Ctrl выберите
столбцы:
 EMPLOYEE_ID,
 FIRST_NAME,
 LAST_NAME,
 EMAIL,
 PHONE_NUMBER,
 HIRE_DATE,
 SALARY,
 COMISSION_PCT,
 DEPARTMENT_ID.
Выбранные столбцы будут отображены на странице отчета при запуске
этой страницы.
Рис. 4.7. Форма выбора столбцов
Нажмите Next -> примите значение по умолчанию (изображение иконки
Редактировать по умолчанию напоминает небольшой кусочек бумаги и
карандаш) -> Next.
9. Шаг мастера Define Form Page. Здесь задаются настройки для формы
редактирования данных по сотруднику. В формах Create Form Page и Create
Breadcrumb Entry сделайте следующие изменения (рис. 4.8):
 Page Name – введите Форма Сотрудник;
 Region Title – введите Форма Сотрудник;
 Entry Name – введите Форма Сотрудник.
Рис. 4.8. Создание страницы с формой для редактирования сотрудника
Нажмите Next -> примите значение для первичного ключа по умолчанию
(EMPLOYEE_ID) -> Next.
10. Открывается форма для определения источника значений первичного
ключа (рис. 4.9).
Рис. 4.9. Определение источника значений первичного ключа
Выберите значение по молчанию Existing Trigger (для таблицы Employees
уже создан триггер, который заполняет значения для первичного ключа) ->
Next. ->
11. Открывается форма выбора столбцов для редактирования (рис. 4.10).
Выбранные столбцы таблицы Employees будут отображаться в форме
редактирования сотрудника. Выберите все столбцы для редактирования.
Рис. 4.10. Выбор столбцов для формы редактирования
Нажмите Next -> оставьте значения по умолчанию (Yes) для всех опций
редактирования (Insert, Update, Delete) таблицы Employees -> Next.
12. Шаг мастера Confirm -> Finish.
13. Теперь можно просмотреть только что созданные страницы – отчет по
сотрудникам, а из него – форму редактирования одного сотрудника.
Щелкните иконку Run Page (рис. 4.11).
Рис. 4.11. Вызов/редактирование страницы
Появится отчет Сотрудники (рис. 4.12).
Рис. 4.13. Отчет Сотрудники
Обратите внимание на следующие элементы отчета:
 Строка поиска и меню Actions появляется в верхней части отчета.
 Заголовки столбцов имеют ссылки, которые позволяют пользователю
быстро выполнять различные операции сортировки, фильтрации и
переформатирования.
 Значок Редактировать, который был выбран при разработке отчета,
появляется в каждой строке. Вы можете нажать на иконку
Редактировать, чтобы отредактировать запись о сотруднике. Так как вы
создали форму, основанную на таблице с отчетом, мастер
автоматически связывает отчет с таблицей базы данных.
 Кнопка Create появится в правом верхнем углу. Вы можете нажать
кнопку Create, чтобы добавить сотрудника в таблицу Employyees.
 В отчете Сотрудники присутствуют восемь столбцов, которые были
указаны при разработке отчета. Oracle Application Builder автоматически
создал соответствующий код SQL в фоновом режиме, чтобы получить
эту выборку данных.
Чтобы посмотреть форму редактирования сотрудника, нажмите значок
Редактировать в первой позиции любой строки отчета. Откроется форма
создания / редактирования данных сотрудника (рис. 4.14).
Рис. 4.14. Форма создания / редактирования данных сотрудника
Обратите внимание на следующие элементы формы Сотрудник:
 Форма включает в себя кнопки Cancel, Delete, Apply Changes для отмены
действий, удаления соответствующей записи из таблицы Employees, и
применения изменений.
 Для ввода данных в столбец Hire_Date, имеющий базовый тип данных
Date, отображается иконка Календарь.
 Поля, помеченные красным, являются обязательными (not null) и не
могут быть пустыми.
14. Далее изменим отображаемые заголовки столбцов. На странице отчета
Сотрудники нажмите кнопку Edit Page 3 (внизу страницы). Откроется форма
редактирования страницы Page 3. Установите вид отображения Tree View.
В разделе Page Rendering -> Regions -> Body (3) -> Сотрудники щелкните
правой кнопкой мыши на пункте Сотрудники и во всплывающем меню
выберите пункт Edit Report Attributes. Откроется форма редактирования
атрибутов отчета (рис. 4.15).
Рис. 4.15. Редактирование атрибутов столбцов
Измените заголовки столбцов на русские наименования -> Apply Changes.
Запустите страницу детального отчета кнопкой со светофором и проверьте
правильность отображения заголовков столбцов.
15. Привязка детального отчета к панели вкладок домашней страницы
приложения. Закройте детальный отчет, нажав кнопку Application ID (внизу
страницы). Щелкните домашнюю страницу приложения 1 – Отделы. В
открывшемся окне редактирования свойств Page1 в разделе Shared
Components выберите пункт Parent Tabs -> правой кнопкой вызовите
всплывающее меню -> пункт Create. В открывшемся окне Manage Tabs
щелкните Add рядом со вкладкой График.
16. Начинает работу мастер создания стандартной вкладки. Шаг мастера Tab
Name -> в строке Tab Label введите значение Сотрудники -> Next -> шаг
мастера Current Page: в строке Tab Current for Page выберите значение 3
(Сотрудники) -> Next -> шаг мастера Sequence and Images: оставить без
изменений -> Next -> шаг мастера Display Conditions: оставить без
изменений -> Next -> шаг мастера Confirm: Create Tab. Новая вкладка с
именем Сотрудники на панель вкладок добавлена.
17. Запустите приложение кнопкой со светофором. Активизируйте отчет
Сотрудники с панели вкладок.
18. Привязка детального отчета к главному отчету. Здесь будет добавлена в
отчет Отделы ссылка по вычисляемому столбцу Number of Employees на
детальный отчет Сотрудники по значениям в столбцах Departments_ID.
Таким образом будет устанавливаться фокус на выбранном отделе. Ссылка
на столбец включает в себя команду очистки интерактивного отчета CIR
(Clear Interactive Report), чтобы очистить фильтры и другие настройки
отображения детального отчета. Чтобы осуществить такую привязку,
необходимо выполнить следующие действия. Закройте детальный отчет,
нажав кнопку Application ID (внизу страницы). Щелкните домашнюю
страницу приложения 1 – Отделы. В открывшемся окне редактирования
свойств Page1 в разделе Page Rendering выберите пункт Regions -> Body
(3) -> Отделы, правой кнопкой вызовите всплывающее меню и выберите
пункт Edit Reports Attributes.
19. Открывается форма редактирования атрибутов столбцов, подобная рис.
4.15. В секции Column Attributes щелкните на иконке редактирования для
столбца Number of Employees. Перейдите к секции Column Link (рис. 4.16).
Сделайте следующие изменения:
 Link: выберите подстановку #Number of Employees#;
 Page: выберите подстановку 3 (3 Сотрудники);
 Установите флажок Reset Pagination;
 Clear Cashe: введите 3,CIR (без пробелов);
 Item 1 Name: введите IR_DEPARTMENT_ID;
 Item 1 Value: выберите подстановку #DEPARTMENT_ID#.
Эти параметры определяют следующее поведение, когда пользователь
щелкает на ссылке:
 Происходит переход на детальный отчет Сотрудники;
 Очищаются все фильтры и пользовательские выделения в отчете
Сотрудники;
 На отчете Сотрудники выбранный отдел будет находиться в фокусе,
т.е. по нему будет установлен новый фильтр;
 Для перехода на другой отдел надо вернуться на страницу Отделы.
Щелкните Apply Changes. В секции Column Attributes атрибут Number of
Employees будет иметь флажок, отмечающий изменения.
Рис. 4.16. Форма редактирования связи
20. Запустите отчет. Обратите внимание, что при наведении курсора на
значение
столбца
Количество_сотрудников
численное
значение
подчеркивается. Щелчок на нем вызывает переход на страницу отчета
Сотрудники с установленным фильтром (рис.4.17).
Рис. 4.17. Активная ссылка детальный отчет с фильтром
Поэкспериментируйте с приложением. Щелчок на иконке редактирования
вызывает форму просмотра и редактирования данных выбранного сотрудника.
Попробуйте редактировать данные, а также создать нового сотрудника.
3.2. Разработка приложения с углубленным отчетом
Здесь мы создадим классический углубленный отчет «главный – подчиненный», в
котором будет содержаться и уже созданный детальный отчет. Отличие
заключается в том, что в приложение будет добавлена табличная форма,
позволяющая редактировать несколько записей подчиненной таблицы. Для
создания такой табличной формы (Master–Detail Form) и добавления ее на
существующую страницу необходимо выполнить следующие шаги.
1. Перейдите на страницу работы с приложением (если оно запущено,
нажмите кнопку Application ID внизу страницы). Щелкните на иконке 4 –
Форма Сотрудник (рис. 4.18).
Рис. 4.18. Страница работы с приложением
2. На открывшейся странице редактирования свойств щелкнуть кнопку Create.
Выбрать Region on this Page.
3. Шаг мастера Region. Выбрать Form -> Next.
4. Шаг мастера Create. Выбрать Tabular Form -> Next.
5. Шаг мастера Table/View Owner. Оставить значения по умолчанию -> Next.
6. Шаг мастера Table/View Name. Выбрать Table/View Name значение
EMPLOYEES -> Next.
7. Шаг мастера Displayed Columns. Выбрать все столбцы -> Next.
8. Шаг мастера Primary Key. Выбрать для Primary Key Column 1 значение
EMPLOYEE_ID -> Next.
9. Шаг мастера Primary Key Source. Выбрать Existing Trigger (Sequence -> для
Sequence установить значение EMPLOYEES _SEQ) -> Next.
10. Шаг мастера Updateable Columns. Выбрать все столбцы, которые не
являются идентификаторами (не оканчиваются на _id) -> Next.
11. Шаг мастера Page and Region Attributes. Установить для Page значение 4 ->
ввести для Region Title текст Подчиненные -> Next.
12. Шаг мастера Button Labels -> Next.
13. Шаг мастера Branching. Для When Cancel … установить значение 3 -> Next.
14. Шаг мастера Confirm. Проверьте правильность установленных свойств
приложения -> Finish -> Edit Page.
15. Открывается форма редактирования свойств для страницы 4. Выберите
Page Rendering – Regions – Report: Подчиненные (рис. 4.19).
Рис. 4.19. Форма редактирования свойств для страницы 4
16. Щелчок правой кнопкой на Подчиненные -> из сплывающего меню выбрать
пункт Edit.
17. Открывается форма редактирования региона. Перейдите к разделу Source > добавьте к SQL-запросу строку where manager_id = :P3_employee_id ->
Apply Changes (рис 4.20).
Рис. 4.20. Редактирование SQL-запроса
18. Теперь вы снова находитесь на странице с формой редактирования (рис.
4.19). Перейдите на страницу Application ID и запустите приложение (Run
Application). Вид измененной страницы Форма Сотрудник показан на рис.
4.21.
Рис. 4.21. Форма Сотрудник с таблицей Подчиненные
Поэкспериментируйте с приложением. Убедитесь, что в таблицу Подчиненные
попадают только те записи, для которых выбранный сотрудник является
менеджером. Попробуйте редактировать данные и добавить нового
сотрудника.
4. Меры безопасности
Во время выполнения лабораторной работы необходимо:
соблюдать правила включения и выключения вычислительной техники;
не подключать кабели, разъемы и другую аппаратуру к компьютеру, не
относящиеся к лабораторной установке;
 при включенном напряжении сети не отключать, не подключать и не
трогать кабели, соединяющие различные устройства компьютера;
 в случае обнаруженной неисправности в работе оборудования или
нарушения правил техники безопасности сообщить руководителю
лабораторной работы;
 не пытаться самостоятельно устранить неисправности в работе
аппаратуры;
 по окончании работы привести в порядок рабочее место.
ВНИМАНИЕ! При работе за компьютером необходимо помнить: к каждому
рабочему месту подведено опасное для жизни напряжение. Поэтому во время
работы надо быть предельно внимательным и соблюдать все требования техники
безопасности!


5. Задание
1. Запустить интернет-браузер, например, Google Chrome. Запустить
домашнюю
страницу
Oracle
Application
Express
по
адресу
http://127.0.0.1:8080/apex/ . Войти в базу данных как пользователь HR.
2. Перейти в конструктор приложений Application Builder. Разработать
приложение с детальным отчетом согласно указаниям п. 3.1.
3. Разработать приложение с углубленным детальным отчетом согласно
указаниям п. 3.2.
6. Требования к отчету
Отчет должен быть выполнен в текстовом редакторе MS Word. Отчет должен
содержать:
o Краткие теоретические сведения,
o Тексты всех использованных SQL-запросов,
o Результирующие таблицы с данными, показывающие работоспособность
приложений,
o Выводы по проделанной работе.
7. Контрольные вопросы
7.1. Какие известны разновидности детальных отчетов в приложениях БД Oracle
11g XE?
7.2. Какие виды форм используются при создании детальных отчетов?
7.3. Какие визуальные компоненты используются для создания детальных
отчетов?
7.4. Как работает детальный отчет?
7.5. Как работает углубленный детальный отчет?
7.6. Как осуществляется связь главной и подчиненной таблиц в детальных
отчетах?
Download