-------------------------Семестр 1---------------------------------------
Лк - Поденок, Лр - Куприянова
-
Создание ER-диаграммы. Выбрать вариант для выполнения лабораторных работ на весь семестр. Создать концептуальную модель организации и реализация ее в виде ER- диаграммы. Подробности задания.
-
Создание реляционной схемы данных. Преобразовать ER-диаграмму в реляционную модель данных. Нормализовать реляционные отношения. Подробности задания (на примере базы данных Oracle).
-
Реализация SQL-запросов для создания схемы базы данных и запросов на модификацию данных. Реализация реляционной схемы данных с помощью SQL-операторов для создания схемы, таблиц и индексов. Формирование SQL-операторов для добавления, изменения и удаления данных. Реализация транзакций. Импорт и экспорт данных. Подробности задания (на примере базы данных Oracle). В каждую таблицу необходимо добавить минимум 20 строк данных. Часть таблиц заполняется ручками, часть генерируется кодом.
-
Реализация SQL-запросов на простую выборку данных. Формирование SQL-операторов для выборки данных из таблиц с использованием многотабличных запросов, подзапросов и секций WHERE, ORDER BY и других. Подробности задания (на примере базы данных Oracle). Реализовать по 10 запросов с каждым оператором, который описан в задании.
-
Реализация SQL- запросов на выборку с группированием результатов. Формирование SQL-операторов для простой выборки данных из таблиц с использованием обобщающих функций и секций GROUP BY, HAVING и других. Подробности задания (на примере базы данных Oracle). Реализовать 20 запросов с операторами, которые описаны в задании.
-
Создание приложения для базы данных. Создание прикладной программы для работы с базой данных и выполняющей заданные транзакции, а также реализовать механизм работы с базой данных: добавление новой таблицы; удаление существующих таблиц; работа с таблицами (редактирование, удаление, добавление полей); создание резервной копии для восстановления удаленной таблицы, строк, всей базы данных; вывод созданных новых запросов и возможность их сохранения для последующего использования; разработать механизм экспорта каждой таблицы, результатов запросов в файл (например exsel). Можно использовать любую среду и язык программирования. Писать запрос в приложении нельзя для 4 и 5 лабораторной работы! (нужно реализовать интерфейс вывода запросов из 4 и 5 лабораторной работы) Добавление новых запросов приветствуется, сохранение уже
-------------------------Семестр 2---------------------------------------
Требования к лабораторным работам: База данных: PostgreSQL Лабораторные выполняются на основе модели данных и реляционной схемы, что была в первом семестре. При необходимости реляционная схема может быть изменена, чтобы более соответствовать разрабатываемому приложению. Детализация требований к ПО должна быть такова, чтобы их можно было молча отдать программисту для реализации.
Задания на лабораторные работы:
-
Разработка серверной части прикладной программы. Разработка спецификаций (технических требований) серверной части (backend) программы. Включает минимально: составление уточненной реляционной схемы, определение имен и типов данных для всех полей БД; приведение имен в БД и имен в реляционной схеме в полное соответствие и создание подробного описания для каждого имени (имена таблиц и полей в реляционной схеме должны быть идентичны именам в SQL операторах); выделение двух ролей — пользователь и суперпользователь и определение их прав; выделение основной таблицы, с отображения которой по умолчанию стартует приложение; выделение справочников (LookUp Table) в отдельную категорию таблиц, право на запись в которые имеет только суперпользователь; оформление спецификации в соответсвии с ГОСТ. Программирование серверной части программы. Включает: cоздание скриптов для создания пустой базы данных; первичное наполнение таблиц-справочников; cоздание генераторов и скриптов для наполнения основной и прочих больших таблиц (объем в несколько сот записей); создание и отладка необходимых триггеров, функций и операторов; создание скриптов для сохранения/восстановления БД; тестирование сервера с помощью psql; оформление отчета о лабораторной работе. Подробности выполнения задания.
-
Разработка пользовательского интерфейса прикладной программы. Разработка требований к внешним интерфейсам (пользовательским, аппаратным, программным). Интерфейс пользователя строго классический, все диалоговые окна и меню статические. Для программирования пользовательского интерфейса следует использовать фреймворки, предназначенные исключительно для создания пользовательского интерфейса и позволяющие тонкую настройку и редактирование элементов отображения и управления. Основное управление клиентской программой — клавиатурные события. Все события указателя (мыши, тачпада) транслируются в клавиатурные и уже клавиатурные обрабатываются. Для обработки клавиатурных событий следует руководствоваться стандартом CUA (Common User Access). Все клавиатурные события вызываемые ими действия должны быть описаны в требованиях к интерфейсу пользователя. Основной принципы UI: здоровье оператора, в том числе и психологическое, важнее эстетики; информация в диалоговых окнах типа «Форма» не скроллируется; без явного подтвержения ничего не происходит (транзакционный характер взаимодействия); программа не управляет действиями оператора (отказ от прогрессивного предложения действий); время отклика интерфейса на событие не более 0,1 с. Более детальные требования к пользовательскому интерфейсу определены в приложении А. Знакомство с прикладным интерфейсом СУБД PostgreSQL и программирование клиентской компоненты приложения с использованием библиотеки libpq. Подробности выполнения задания.
-
Разработка NoSQL базы данных и спецификаций прикладной программы. Освоение прикладного интерфейса СУБД BerkeleyDB. Разработка конвертора базы данных Postgres в набор баз данных BerkeleyDB. Разработка требований к приложению. Подробности выполнения задания.
-
Разработка прикладной программы с использованием NoSQL базы данных. Программирование прикладной программы с использованием прикладного интерфейса СУБД BerkeleyDB. Подробности выполнения задания.
В отчете отразить руководство пользователя и листинг кода.