Итоговое задание по курсу БД. 2 семестр. Требуется написать клиентское приложение для работы с базой данных на Oracle. Приложение должно обладать следующими функциональными возможностями: 1. Авторизация в СУБД по заданному IP под произвольным пользователем в произвольном tablespace-е. 2. Добавление\редактирование\удаление записей в БД. 3. Создание\редактирование\удаление новых сущностей (таблиц). 4. Ввод и исполнение запросов вручную (в т.ч. PL/SQL). 5. Формирование отчётов (таблица\результат запроса, отображённые в виде обычной таблицы без возможности редактирования\добавления\удаления). 6. Выход из клиента. Нефункциональные требования: 1. Интуитивно понятный графический (!) интерфейс (никаких ручных запросов (за исключением п. 4)). 2. Написать клиент на любом ОО-языке (С++ (VS, Builder)/Java/C#), или web-языке (PHP, технологии ASP.NET\jQuery\AJAX; не желательно на Perl). 3. Интерфейс должен быть модульным (работа с данными и работа с сущностями должны быть разделены; интерфейсная архитектура должна быть продумана). За основу БД, с которой будет осуществляться работа, взять ниже предложенный проект, или другой, аналогичный по сложности: расписание занятий в ВУЗе (факультеты, группы, старосты, преподаватели соответствуют лекции/семинару в конкретной группе и т.д.); расписание движения ж/д транспорта (с возможностью смотреть наличие свободных мест по заданному маршруту (учесть, что если поезд едет от A до C через B, то все места на A-B могут быть заняты, а на B-C могут оставаться свободные). 1 Учебная база данных “ДЕМО” 1.Customer (Покупатель) Имя колонки Тип customer_id number(6) name varchar(45) address varchar(40) city varchar(30) state varchar(2) zip_code varchar(9) area_code number(3) phone_number number(7) salesperson_id number(4) credit_limit number(9,2) comments Long 2.Sales_order Имя колонки order_id customer_id order_date ship_date total (Заказ) Тип number(4) Number(6) date date number(8,2) Семантика номер покупателя имя адрес город штат индекс код территории телефон номер продавца лимит кредита коментарий Семантика номер заказа номер покупателя дата формирования Заказа дата отправки Заказа Сумма Заказа 3.Item (Строка Заказа) Имя колонки Тип order_id number(4) item_id number(4) product_id number(6) actual_price number(8,2) quantity number(8) total number(8,2) Семантика Номер Заказа Номер строки Заказа Номер продукта Цена Количество Сумма по строке Заказа 4.Product (Продукт) Имя колонки Тип product_id number(6) Description varchar(30) Семантика номер продукта описание. 5.Price (Цена) Имя колонки product_id start_date end_date list_price Семантика номер продукта начало периода действия цены конец периода действия цены цена по прейскуранту Тип number(6) date date number(8,2) 2 min_price 6.Employee Имя колонки employee_id last_name first_name middle_initial job_id manager_id hire_date salary commission department_id number(8,2) (Служащие): Тип number(4) varchar(15) varchar (15) varchar(1) number(3) number(4) Date number(7,2) number(7,2) number(2) минимальная цена Семантика номер служащего фамилия имя отчество номер должности номер управляющего дата принятия на работу жалование комисионные номер отделения. 7.Department (Отделение): Имя колонки Тип department_id number(2) name varchar(14) location_id number(3) Семантика номер отделения наименование номер местности 8.Job (Должность) Имя колонки Тип job_id number(3) function varchar(20) Семантика номер должности обязанности 9.Location (Местность) Имя колонки Тип location_id number(3) regional_group varchar(15) Семантика номер местности регион 3 4