Поиск по этому блогу

Показаны сообщения с ярлыком Oracle APEX. Показать все сообщения
Показаны сообщения с ярлыком Oracle APEX. Показать все сообщения

26.03.2013

6 - приступим к приложению

Приложение APEX состоит из веб-страниц. которые динамически формируются в базе данных на основе шаблонов. Страницы, которые предназначены для ввода и редактирования данных, называются формами (Forms). Страницы для вывода результатов запросов в виде таблиц и диаграмм - это отчеты (reports).  На страницах размещаются поля, списки и кнопки. Формы и отчеты могут быть связаны с таблицами и представлениями.
Наша задача - выбрать подходящий шаблон для каждой страницы из имеющегося довольно обширного набора и настроить его под свои нужды. Все это можно делать без программирования, в диалоговом режиме.
Впрочем, для продвинутых разработчиков имеются и возможности для программирования - и исходный код на HTML, CSS и на Java процедуры также можно использовать в приложениях Apex. Мы с вами начнем с простого: с конструирования на основе готовых шаблонов.

Методичка по разработке форм лежит на учебном сервере ПГТА. http://study.pgta.ru/file.php/1846/BD/ORACLE_APEX/6_application.pdf. В этот блог позже  перенесу ее улучшенный вариант.

Вот тут имеется  видео, как сделать табличную форму
http://applicationexpress.ru/apex-lessons/15-apex-lesson-11.html.

Здесь - как сделать форму, в которой поля выбирают значения из списка
http://applicationexpress.ru/apex-lessons/3-apex-lesson-3.html.

Дальше научимся делать страницы с отчетами.

PS: Если Вы при выполнении проекта у вас получается что-либо так, как тут написано, не поленитесь сообщить автору: вместе мы улучшим этот блог, исправим ошибки и сделаем жизнь следующих поколений студентов чуточку счастливее :-)


25.02.2013

5 - представления

Представления - это хранимые в БД запросы на выборку данных. Для поиска, вывода данных из нескольких таблиц ничего лучше представлений не придумано.


А вот пробуем для мобильных устройств qr-код для ссылки на видео. На смартфоне необходимо скачать и установить приложение для считывания QR кода. Запустите его и отсканируйте QR код с помощью встроенной камеры. Программа декодирует этот код и выведет его содержимое на дисплей смартфона.
  QRCode

4 - вводим данные в таблицы

В этом уроке мы научимся добавлять информацию в таблицы и импортировать их из готовых Access-овских или других таблиц.  Предположим, у нас имеется таблица со списком клиентов:
Как эти данные внести в таблицу Oracle?
Рассмотрим 1 способ, самый легкий. Если структура вашей таблицы в БД Oracle совпадает со структурой таблицы в БД Access или Excel, то можно просто импортировать таблицу из одной БД в другую. Выполните команды 


  • Далее требуется выбрать куда (Load to) закачивать данные: если таблица уже существует в БД Oracle, то выбираем Existing Table. Если создаем новую таблицу - New Table.
  • Потом выбираем, откуда загружать данные (Load from) : из файла (Upload file)  или копируем через буфер обмена Windows (Copy and paste).
Предположим, мы решили копипастить  данные в новую таблицу.Выберем обе нижние радиокнопки и нажмем кнопку NEXT.
  • На следующем шаге импорта мастер предлагает вставить данные из буфера в окошко, расположенное в центре страницы. Сначала откроем таблицу в Access, выделим все строки и нажмем клавиши  Ctrl+C (копировать). Затем щелкнем мышью в окошке на страницу APEX и нажмем CTRL+V (вставить). В окне появятся данные из вашей таблицы. Проверьте самую первую строчку: там должны быть названия столбцов.
  • Если имена полей совпадают в обеих базах, то жмите кнопку NEXT. Но если вы предполагаете переименовать поля, то сначала исправьте их названия в окошке со вставленными данными, чтобы они совпадали с именами полей в БД Oracle Apex. 
На следующем шаге мастер выводит всю структуру таблицы и данные. Здесь нужно ввести имя таблицы, проверить и исправить  тип, длину и имена полей. Если какие-то столбцы не нужны, можно выбрать No в строке  Upload.

В нашем примере изменим русские имена полей на латиницу, уменьшим до 15 символов длину полей с телефоном. Затем переходим к следующему шагу.
Здесь мы выбираем первичный ключ (можно также создать новый)  так же, как в предыдущем уроке. Наконец, жмем кнопку Load Data. 

Появляется список всех загруженных таблиц, где можно просмотреть результаты импорта, например, возможные ошибки. Если загрузка данных прошла успешно, то щелкнув по имени таблицы, мы переходим на страницу Object Brouser с открытой структурой таблицы. Выберите Data в списке команд над таблицей - и вы увидите свои данные.

Теперь можно редактировать данные, щелкнув по значку в столбце Edit в строке, которую нужно изменить. Apex не позволяет изменять данные прямо в табличном формате, как вы привыкли в Access. Вместо этого он открывает анкетную форму для редактируемой записи.

Посмотрите видео (по-английски) о том, как импортировать данные с помощью SQL Workshop (https://www.youtube.com/watch?v=pfG3r6A1Wx8).

Задание 1. Выберите одну из таблиц в БД Access  и импортируйте данные из неё в БД APEX. 

Итак, мы плавно перешли ко второму способу ввода данных в таблицы:  сразу после входа в APEX выполните
SQL WorkshopObject Browser. 


Выберите нужную таблицу в левом столбце,  выполните команду Data. Затем введите несколько строк, как рассказано чуть выше.

Задание 2. Введите несколько строк в небольшую таблицу путем прямого ввода данных в APEX. 

Наконец, третий способ ввода данных - это SQL-команда INSERT.  Рекомендую использовать SQL-скрипт, в котором написать все команды для ввода исходных тестовых  данных в вашу БД. Для этого выполните команду
SQL WorkshopSQL Scripts /  Create.



На открывшейся странице запишите несколько команд, как на рисунке:
SQL-скрипт

Вы можете добавлять данные сразу в несколько таблиц. Начните с родительских, а в конце добавьте команды заполнения дочерних таблиц. Когда вы закончите, не забудьте придумать и ввести имя скрипта, затем нажмите кнопку  RUN.
Вы увидите список выполненных скриптов, где выберите последний выполненный скрипт и нажмите на значок в самой правой колонке (View Results). Apex выводит результаты выполнения каждой команды скрипта. Если имеются ошибки, то выводится сообщение и код ошибки. Детально увидеть каждую команду и ее результаты можно, выбрав режим Detail, как на рисунке:
результат скрипта
Последний способ не очень удобен для обычного пользователя, зато созданный скрипт можно сохранить и использовать всякий раз, когда создается новая база данных или требуется восстановить БД после сбоя или в другой среде.

Задание 3.  Составьте SQL-скрипты для ввода данных в каждую таблицу в БД APEX. На каждую таблицу сделайте отдельный скрипт. Проведите  отладку скриптов,  Сохраните текст скриптов во внешнем текстовом файле.


В заключение замечу, что наше APEX- приложение будет иметь специальные формы для  пользователя, где он сможет редактировать данные в таблицах, не обращаясь к SQL-workshop. Как и в Access, приложение будет более удобно для пользователя, чем средства, предназначенные для разработчиков. 

3 - анализируем структуру БД и создаем таблицы

Рассмотрим, как настроить структуру базы данных на примере схемы, показанной на рисунке
Схема БД Access "Прием заказов и их анализ"
Голубым цветом выделена часть БД, которая нужна приемщику заказов, желтым цветом - часть схемы для пользователя - аналитика, а серым - общие для обоих таблицы. Примерно так вы можете разделить между собой работу по созданию таблиц в Oracle APEX. Значит, первое задание:
разделить таблицы БД между разработчиками проектов, в соответствии с темой проекта. Общие таблицы поделите на двоих, либо работайте над ними вместе.

Далее продумайте, какие типы полей Oracle вы будете использовать вместо типов Access. См. с.6-7 методички.
Например:
Тип поля Access
Тип поля Oracle
 Числовой, все форматы, в том числе:
Счетчик, длинное целое,
 Действительное
Денежный
NUMBER — числовые данные

Текстовое
VARCHAR 2 — текстовые строки переменной длины до 4000 байт.
Поле MEMO
LONG — текстовые строки длиной до 2 ГБ
CLOB – тексты длиной до 4 Гб
Дата / время
DATE — даты
TIME - время
Чтобы не запутаться в таблицах своей базы  данных, мы можем а) создать несколько схем БД в одной рабочей области или б) имена объектов одного  проекта начинать с одного и того же префикса. Воспользуемся вариантом Б: три первые буквы вашего логина будем писать перед именем каждой таблицы, например: spo_zakaz, res_zakaz и т.д.  То же самое касается представлений, приложений и прочих объектов в вашей БД.

Пользуясь приведенной таблицей и соглашением об именах таблиц, выполните второе задание: 
Напечатайте схему своей БД, напишите на схеме типы полей Oracle, названия полей и таблиц (без пробелов и все английскими буквами)

Разберемся с ключами. Первичный ключ таблицы в БД Oracle легче всего делать из объекта Sequence (секвенция), это что-то вроде отдельно живущего счетчика. Можно создать по счетчику для каждой таблицы, тогда выбирайте populated from a new sequence. Если вам нужен составной ключ или ключ без автоматического наращивания значения, то выбирайте последний вариант Not poulated.
Внешние ключи (foreign key) и связи между таблицами описываем также сразу во время создания таблицы. Внешний ключ должен ссылаться на первичный ключ в другой таблице. Поэтому создание БД начните с родительских таблиц: тех, от которых отходит связь с мощностью 1, так как при создании дочерних таблиц вам придется указывать ссылку на поле родительской таблице. Например, когда вы начнете делать таблицу ЗАКАЗ, таблицы КЛИЕНТЫ и ТИПЫ_ДОКУМЕНТОВ уже должны быть созданы.
При описании таблиц мы сразу же вводим и ограничения целостности: обязательные поля (NOT NULL), уникальные поля (Unique),  диапазон допустимых значений поля (длина и точность, а также условие проверки Check), каскадное действие при удалении. 

Задание третье:
подчеркните на схеме БД простые первичные ключи, подчеркните волнистой линией внешние ключи. Если есть составной первичный ключ - добавьте дополнительное поле ИД_данной сущности и сделайте его ключом. Не забудьте заменить внешние ключи в дочерних таблицах на это новое поле.

Напоследок советую посмотреть видео урок, где рассказано, как создать простейшее приложение. Нам из этого урока достаточно понаблюдать за технологией создания таблиц. 
Пользуемся диалоговым режимом APEX, который похож на "Конструктор таблиц" Access: выполните команду SQL WorkShop / Create Data Base Object / Table - и вперед! Теперь вы полностью готовы к созданию таблиц. 

Задание четвертое:
разработайте сначала вместе с партнером по проекту общие таблицы, а затем каждый самостоятельно - свою часть базы данных. Скопируйте SQL-скрипты, которые генерирует APEX после создания каждой таблицы, в обычный текстовый файл. Это сильно поможет вам, если база данных вдруг сломается.



17.02.2013

2 - логинимся

В каждом посте мы продвинемся на шаг вперед. И в конце Вы увидите, что мы сделали это! Если вдруг у вас что-то не выходит - пишите вопросы и пробуйте ответить на вопросы других. Мы можем также делиться друг с другом сообщениями прямо в Oracle Apex! 

Oracle Application Express (Oracle APEX) представляет собой среду для быстрого создания и разворачивания веб-приложений.  Небольшое описание этой программы вы можете прочитать здесь и здесь (используйте эти сведения при подготовке введения в вашем проекте).  Oracle Application Express сочетает в себе высокую производительность, безопасность, интегрируемость и масштабируемость корпоративных БД, разработанных на основе веб-технологий, с простотой использования, доступностью и гибкостью персональных БД.

Существует несколько версий системы: 
1) во-первых, вы можете бесплатно скачать дистрибутив, установить СУБД Oracle и приложение APEX на своем компьютере и обходиться без интернета, однако тут вам потребуется детальнее разобраться в установке и сопровождении СУБД Oracle 11g, так как она является основой среды разработки. Все сбои, резервирование и восстановление системы вы будете делать сами. После окончания проектирования, для сдачи проекта вам нужно продемонстрировать его работу преподавателю. При этом либо вы не выключаете свой домашний компьютер, чтобы получить к нему доступ из университета, либо публикуете свой проект на каком-либо стороннем хостинге, либо приносите проект вместе с ноутбуком.
Этот вариант хорош, так как вы получаете дополнительный опыт, но есть опасность не успеть его выполнить из-за технических трудностей. Рекомендую этот вариант для уверенных в себе и желающих в дальнейшем получить высокооплачиваемую работу администратора БД Oracle, а также для тех, у кого очень плохой интернет.
2) во-вторых, вы используете облачную версию APEX и тогда вам НЕ нужна установка и обслуживание ничего, кроме браузера. Правда, требуется высокоскоростной доступ в интернет, так как и база данных, и средства ее разработки находятся в "облаке". 
Сейчас существует два облачных сервера APEX:

  • бесплатная демонстрационная версия 5.0: https://apex.oracle.com, рекомендую этот вариант для всех. В этом варианте ограничивается объем базы данных  и не разрешено коммерческое использование.
  • коммерческий облачный сервер базы данных (вместе с APEX) - https://cloud.oracle.com/database, минимальная стоимость сервиса – 600 долларов в месяц. Это для тех, кто думает делать свой бизнес вместе с Oracle.
  • Загрузка автономной версии: http://www.oracle.com/technetwork/developer-tools/apex/downloads/index.html.

Рассмотрим, как начать работать с облаком APEX 5.0.
Сначала зайдите на главную страницу APEX:
Рисунок 1
Нажмите на большую кнопку  "Request a free workspace" (см. рисунок) и зарегистрируйтесь: вам нужно выбрать цель использования сервиса (Application Development), ввести имя, фамилию, работающий email и наименование вашей рабочей области, затем ввести обозначение схемы БД (schema name), попросить 10 или 25 Мб места,  а на следующем экране ответить на анкету (что вам нужно от APEX, как давно вы его используете, готова ли ваша организация ссылаться на APEX и готовы ли вы связываться с Oracle по поводу применения APEX). Далее читаете соглашение и подтверждаете его.
На указанную вами почту придет подтверждение регистрации, подтвердите его -  и можете работать.  Сделайте на рабочем столе компьютера ярлык для быстрого входа в APEX, скопировав URL из адресной строки браузера. 
На странице авторизации APEX вы вводите c учетом регистра идентификатор рабочей области, логин и пароль (советую сразу записать их в блокноте, на телефоне, на стене или там, где вы их не потеряете!!! )

После авторизации вы попадаете на главную страницу среды разработки APEX:


Рисунок 2 - меню APEX
Тут посреди страницы нас ждут 4 огромные цветные кнопки, которые в точности совпадают с пунктами главного меню, что выводится наверху окна.  Правый столбик - вспомогательный, можно на него пока не обращать внимания. В середине окна - новости, тут выводятся все сообщения, которые пользователи оставляют друг другу. Добавьте радостную весть, что вы тоже подключились к нашему проекту! Две нижних панели - статистика, какие приложения и пользователи работали в последнее время. Вверху справа 4 серых кнопки: поиск, администрирование, помощь, профиль пользователя и выход.
 
Пощелкайте по кнопкам и посмотрите, что тут к чему. Например:
  • смените пароль,  выбрав в меню Administation / Manage User and Groups/Change My Password;
  • добавьте пользователей вашей базы данных: различают 3 группы пользователей: администратор сайта (он может всё, в том числе он должен описать всех остальных), разработчики (они могут изменять проект сайта), гости – открывают готовое веб-приложение.
  • попробуйте создать и поиграть с одним из множества типовых демонстрационных приложений (рисунок 4): 
    рисунок 3 - галерея типовых приложений
И привыкайте к англоязычному интерфейсу! Можете включить онлайн-переводчик Google, если совсем забыли английский.
Что дальше?  
В следующем уроке мы узнаем, что можно хранить в базе данных Oracle Apex.