Разработка автоматизированной информационной системы "Административная структура фирмы"

Страницы работы

Содержание работы

Разработка АИС "Административная структура фирмы"

Описание предметной области (ПО).

В фирме несколько отделов, много служащих, она занимает несколько комнат и ведет несколько проектов.

Про каждый отдел известно: номер отдела, номер служащего - начальника, номера комнат, занимаемых отделом.

Про каждого служащего известно: личный номер, ФИО, дата рождения, номер отдела, номер проекта, над которым он работает, профессия, оклад, номер комнаты, номер телефона (основной и резервный, если он есть).

Про каждый проект известно: номер проекта, номер служащего - руководителя проекта, название проекта, аннотация проекта, бюджет проекта, даты начала и завершения проекта.

Про каждую комнату известно: номер комнаты, размер (площадь), номера установленных в ней телефонов номер служащего - ответственного за комнату.

Семантические допущения:

Ø  Любой служащий может руководить не более, чем одним отделом

Ø  Любой служащий может работать не более, чем  в одном отделе

Ø  Любой служащий сидит только в одной комнате

Ø  Любой служащий имеет только одну профессию

Ø  Параллельных номеров телефонов в разных комнатах не существует (т.е. номера телефонов в разных комнатах не повторяются)

Ø  Любой служащий может работать по нескольким проектам сразу

Ø  Любым проектом занимается только один отдел

Ø  Бюджет отдела = сумме бюджетов выполняемых им проектов

Ø  Каждая комната предназначена не более, чем для одного отдела

Ø  При расформировании отдела, все его сотрудники увольняются, а выполняемые им проекты аннулируются

Могут быть сделаны и другие обоснованные допущения

Задание

Написать команды SQL Oracle для следующих операций манипулирования данными:

1.  Добавить нового служащего

2.  Уволить служащего (возможно и начальника отдела)

3.  Назначить начальника отдела

4.  Разжаловать начальника отдела

5.  Изменить оклад служащему

6.  Расформировать отдел

7.  Аннулировать проект

8.  Организовать новый отдел

9.  Перевести служащего из одного отдела в другой

10.  Подсчитать суммарный оклад служащих, работающих над каждым проектом

11.  Подсчитать бюджет отдела на конкретную дату

12.  Выдать список номеров отделов, суммарный оклад служащих которого больше (меньше) бюджета отдела

13.  Выдать список проектов закончившихся к конкретной дате

14.  Выдать список сотрудников старше 40 лет и окладом меньше 5000 с графами: номер, ФИО, оклад, год рождения

15.  Выдать список телефонов (основных и резервных) всех руководителей текущих (закончившихся, еще не начатых) проектов

16.  Выдать телефонный справочник фирмы (упорядоченный по номерам) с графами: номер комнаты, номер отдела, номер одного из служащих, для которого этот телефон основной

17.  Выдать список служащих, которые одновременно являются руководителями проектов и ответственными по комнате

18.  Выдать список отделов, упорядоченный по количеству ведущихся в настоящее время проектов с графами: номер начальника, число служащих, количество ведущихся в настоящее время проектов, количество занимаемых комнат.

19.  Выдать список комнат, упорядоченный по плотности (площадь / число служащих)

20.  Отсортировать список комнат по убыванию среднего оклада работающих в ней служащих

21.  Выдать список сотрудников, сидящих в одной комнате с  сотрудником «Сидоров»

Для упрощения SQL-запросов можно использовать представления.

Похожие материалы

Информация о работе