Задание 1. Клиент для работы с СУБД Oracle.

реклама
Итоговое задание по курсу БД. 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
Скачать