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

26.09.2013

Мои тесты по БД: бесплатно

Альтернативное тестирование по курсу Базы данных на free hosting Moodle.
Проверьте -  http://shigina.gnomio.com/
Возможно, сервис не доступен, так как он закрывается автоматически, когда его не посещают. Понятно, что студенты тестируются не каждый день... НО! хорошо, что сервис можно легко реанимировать. Если вам, уважаемый читатель, потребовались мои тесты, не поленитесь написать тут комментарий!

09.04.2013

7 - Делаем составную форму


Делаем составную форму руками

В APEX при разработке мобильного приложения нет мастера для автоматического создания составной формы. Видио потому, что она довольно большая и вряд ли уместится на экране телефона. Но мы сделаем ее вручную! И заодно поковыряемся во внутренностях форм и отчетов. Сразу оговорюсь: может быть, это далеко не лучший способ, но он работает и мной проверен.
Итак, имеются  две связанные 1:М таблицы:
Клиенты (Код, название, Заметки, телефон1, телефон 2, ФИО_контакта) и
ТС (ИД, Город, Магазин, концепт, площадь, клиенты_код). ТС – это торговые центры, если что.
Получим мы вот что: 
  •  Отчет «Клиенты», каждая строчка которого – ссылка на редактирование выбранного клиента. В отчете выводим только минимум: фамилии клиентов по алфавиту и один из телефонов. Вид отчета – на рисунке 1.
  •  Форма «Правка клиента» - содержит 2 региона: сверху - обычная форма со всеми полями  таблицы «Клиенты», виден только выбранный клиент. Во втором регионе – редактируемый отчет, где видны магазины текущего клиента (рисунок 2).
  •  Форма для редактирования выбранного магазина (рисунок 3). Она создается автоматически.
Самое сложное – правильно связать формы.  Это делается с помощью параметров запроса, являющегося источником данных для форм и отчетов, а также параметров гиперссылки в первом отчете.


Шаг 1. Делаем отчет КЛИЕНТЫ.
Жмем CREATE PAGE / Report / Classic Report. Оставляем все параметры или меняем, как нам нужно (не забудьте на 2 шаге мастера выбрать источник данных – таблицу КЛИЕНТЫ). После успешного создания страницы  жмем кнопку EDIT для ее редактирования. Или Щелкаем по отчету в меню компонентов вашего приложения. Открываем отчет в режиме конструктора. Давайте подправим описание региона REPORT1 (рисунок 4). Щелкните по  ссылке Report, откроется список всех атрибутов отчета. Убрать ненужные столбцы:  щелкаем по вкладке REGION DEFINITIONS наверху страницы, в поле Source видим SQL- запрос для отчета. Убираем все столбцы, кроме нужных CODE, NAME, PHONE1.

На вкладке  REPORT ATRIBUTES (Рисунок 5) устанавливаем правильную ширину столбцов, исправляем заголовки на русские, отмечаем сортировку только по полю NAME. В конце жмем APPLY CHANGES

Нам еще нужно сделать ссылки со столбца NAME на форму редактирования клиента, но пока формы нет, мы отложим это. Можете проверить отчет, нажав кнопку RUN. Запомним номер страницы нашего отчета: например, 20.


Шаг 2. Создаем форму для редактирования выбранного клиента.


Жмем CREATE PAGE / FORM /Form on Table or View.  Имя базовой таблицы – КЛИЕНТЫ (на 2 шаге мастера), выбираем первичный ключ вручную, - CODE. Затем выбираем видимость всех полей и всех стандартных кнопок (можно сразу обрусить подписи на кнопках). В самом  конце указываем, куда идти после закрытия формы: на страницу 20 - отчет со списком клиентов.  Запомним номер новой страницы 24.
Открываем страницу в режиме конструктора (EDIT) . На рисунке 7 мы видим несколько пунктов (ITEMS)  для ввода данных в поля таблицы, несколько кнопок.   Все они в регионе CLIENTS.

Добавим еще один регион для вывода подчиненного отчета Магазины. Жмите кнопку с крестом (рис. 7) на панели  REGIONS. Далее создаем FORMS / Form an s Table with Report. Выбираем источник данных – таблицу TC и все ее поля.  На шаге Report Columns –выбираем значок для ссылки на форму редактирования одного магазина (мастер ее сделает автоматом), ее номер – 25 и имя можно заменить, если нужно. Выбираем первичный ключ вручную (столбец ID) – и проделав те же шаги для формы редактирования магазина – получаем готовый отчет с формой. Если сейчас открыть полученную страницу – два ее региона никак не связаны, внизу видим все магазины , а наверху – пустую форму. Поэтому вернемся к редактированию страницы 24.
В  списке регионов появился еще один – Report 1. Надо исправить его источник данных. Запомним, что код клиента хранится на текущей странице в поле P24_CODE (рис 8).

Щелкнем по ссылке Report 1 (рис.9) и добавим условие отбора записей в SQL- запрос:
select "ID",
"NAME_CLIENT",
"SITY",
"SHOP",
"CONCEPT",
"VOLUME",
"IDSITY",
"CLIENTS1_CODE"
from TC
where CLIENTS1_CODE=:P24_CODE
Мы тут сравниваем внешний ключ таблицы ТС с значением поля P24_CODE на веб-странице. Кстати, пишите имена переменных с учетом регистра, уберите кавычки и префикс OWNER в имени таблицы.
Сохраним изменения. И нажмем RUN. Вот эффект: все магазины пропали и «No data found»! Пора настраивать  первый регион.

Шаг 3. Создание ссылки из отчета на форму и настройка формы.
В списке страниц нашего приложения найдите недоделанную страницу с отчетом ( № 20) и откройте ее в конструкторе. Щелкните по ссылке REPORT1 в списке регионов. Выберите вкладку REPORT ATRIBUTES, нажмите значок редактирования поля NAME (рисунок 5 – красный кружок). Среди массы параметров поля найдите COLUMN LINK и установите их  значения (рис.10).


В поле Link Text – текст, который становится ссылкой (пусть будет значение поля NAME),
Page – страница с нашей формой ввода данных клиента (24, можно выбрать из списка)
Clear Cache – - очистить кэш этой страницы
Item1  -  Name / Value  - какой пункт данных на 24 странице надо изменить (у нас – код клиента на 24 странице должен браться из поля БД CODE с текущей страницы).  В принципе можно несколько полей указывать, ели ключ составной.
После применения изменений напротив поля со ссылкой появится галочка в списке столбцов.
Проверяем работу страницы (Run) и видим отчет со ссылками. Если мешаются коды клиентов – уберите галочку в свойстве «Show» в редакторе атрибутов отчета. 

Заключительная отладка
o   проверьте переходы по ссылкам, должна открываться форма с выбранным клиентом;
o   проверьте работу кнопок;  по кнопке Cancel и Apply Changes должна открываться предыдущая форма;
o   исправьте имена полей и надписи на кнопках в автоматически созданной форме для магазина.
o   Добавьте кнопку СОЗДАТЬ в первом отчете со списком клиентов (открывается форма 24 для ввода новых данных). 



Ну вот как-то так…





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.


11.02.2013

1 - оформляем ТЗ

Привет!
Мы начинаем делать курсовой проект с помощью этого демонстрационного облачного сервиса Тем самым мы познакомимся сразу с тремя новейшими ИТ: базой данных Oracle, средой быстрой разработки приложений Oracle Apex 4.2 и облачными сервисами.

Вам нужны: интернет, ваша тема проекта и список функций, которые должно выполнять приложение. Все это написано в техническом задании к проекту. Для студентов ПГТА образец задания и темы доступны на странице курса "Базы данных" в Moodle.
Например:

Тема проекта:  «Разработка базы данных для учета заказов и расчетов с клиентами  ресторана»
Технические требования на проектирование:
База данных предназначена для оперативного ввода, хранения и поиска информации о заказах клиентов ресторана в течение 1 месяца.  Пользователем БД является администратор ресторана. Результаты запросов выводятся на экран устройства в табличном и / или графическом виде. Для обеспечения целостности БД предусмотреть контроль данных, вводимых пользователем.
БД предназначена для коллективного использования в сети интернет. Для авторизации пользователя используется уникальный логин и пароль. Доступ к базе данных осуществляется с помощью веб - приложения для мобильного устройства (например, планшет). 
Среда реализации БД и приложения -  Oracle Application Express (облачный сервис http://apex.oracle.com).
Функции приложения БД:
- оперативный ввод, редактирование и просмотр заказов;
- ведение клиентской базы (ввод, коррекция, удаление, поиск информации о клиентах, формирование карточки постоянного клиента);
- выборка товаров из меню в заданной группе в заданном ценовом диапазоне;
- расчет суммарной стоимости заказа и формирование квитанции;
- отчет о суммарной стоимости заказов по каждому клиенту за месяц;
- вывод сведений об авторе и назначении программы;
- помощь пользователю в html-формате.
Объем работы по курсу
1.                Расчетная часть:
1.1.            Анализ среды разработки
1.2.            Проектирование структуры БД
1.3.            Разработка приложения APEX.
1.4.            Разработка руководства пользователя.
2.                Графическая часть:
2.1.                        Схема базы данных
2.2.                        Иерархическая функциональная диаграмма
2.3.                        Диаграмма потоков данных
2.4.                        Презентация к защите
3.                Экспериментальная часть:
3.1.                Разработка таблиц, ввод тестового примера
3.2.                Разработка SQL-скриптов
3.2.                Разработка страниц приложения в среде Oracle APEX

Срок выполнения проекта по разделам:
     1. Проектирование структуры БД, разработка SQL- скриптов, ввод данных тестового примера  - к  15.03.2013
     2. Разработка страниц приложения – к 15.04.2013
     3. Оформление пояснительной записки - к  15.05.2013
     4. Оформление графической части, подготовка доклада и защита - до 31.05.2013
Итак, для начала получите ваш вариант задания у преподавателя, оформите лист ТЗ и подпишите его. Дальше - посмотрим, что такое этот APEX.