Разработка автоматизированной информационной системы "Учет личного состава полка"

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

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

Разработка АИС "Учет личного состава полка"

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

В полку несколько батальонов, в батальоне - несколько рот, в роте несколько взводов, во взводе - несколько отделения. Личный состав полка состоит из офицеров (лейтенант,    , полковник) и рядовых. По достижении возраста 60 лет офицеры увольняются в запас. Срок службы рядовых - 2 года.

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

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

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

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

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

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

Ø  Номера отделений в разных взводах, взводов в разных ротах, рот в разных батальонах могут повторяться

Ø  Каждый военнослужащий в любой момент времени причислен только к одному подразделению

Ø  В составе каждого отделения могут быть только рядовые

Ø  Каждым подразделением, начиная со взвода, командует только офицер

Ø  Каждым отделение может командовать как офицер, так и рядовой

Ø  Командир подразделения причислен к своему подразделению

Ø  Любое подразделение (в т.ч. и полк) может временно не иметь командира

Ø  Каждый офицер должен быть командиром какого-то подразделения

Ø  У каждого подразделения может быть не более одного командира

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

Задание

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

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

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

3.  Выдать список всех офицеров полка (с графами: личный №, чин, должность, № отделения, № взвода, № роты, № батальона)

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

5.  Уволить офицера еще до достижения им 60 лет

6.  Уволить рядового до истечения 2-летнего срока службы

7.  Выдать список всех лейтенантов - командиров взводов, упорядоченный по личному номеру

8.  Выдать список всех офицеров полка, которым осталось менее 2 лет до пенсии

9.  Принять на службу офицера

10.  Зачислить рядового

11.  Выдать список должностей, которые освободятся в течение 1 года от даты Д

12.  Выдать список рядовых роты Р, батальона Б, прослуживших на дату Д менее 1 года

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

14.  Выдать список майоров, каким он будет через год от даты Д (только с учетом присвоения очередных званий)

15.  Выдать список всех подразделений (всех уровней), не имеющих командиров на дату Д

16.  Выдать список всех командиров рот старше 45 лет на дату Д

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

18.  Выдать список личного состава полка, каким он будет через 5 лет (без учета пополнения)

19.  Повысить в должности офицера Х (с ком. взвода до ком. роты)

20.  Перевести рядового из одного отделения в другое

21.  Выдать список всех взводов, упорядоченный по их численности, включая командиров

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

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

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