Кандидатам в отдел разработки ПО необходимо решить все 8 заданий.
Кандидатам в службу тестирования и сопровождения необходимо решить только задания 6, 7 и 8.

Задания 1 — 5 должны быть решены с помощью одного SQL–предложения без использования PL/SQL.

Решения заданий 6 — 8 должны быть аргументированы.

Созданы таблицы:

CREATE TABLE DEPT ( -- Филиалы фирмы
  DEPTNO NUMBER   (2) NOT NULL, -- Номер филиала
  DNAME  VARCHAR2 (14), -- Название филиала
  LOC    VARCHAR2 (13), -- Город, в котором расположен филиал
  CONSTRAINT DEPT_PRIMARY_KEY
  PRIMARY KEY (DEPTNO)) ;
CREATE TABLE EMP ( -- Сотрудники
  EMPNO     NUMBER (4)    NOT NULL, -- Табельный номер
  ENAME     VARCHAR2 (10), -- Фамилия 
  JOB       VARCHAR2 (9), -- Должность
  MGR       NUMBER (4), -- Табельный номер руководителя
  HIREDATE  DATE, -- Дата приема на работу
  SAL       NUMBER (7,2), -- Заработная плата
  DEPTNO    NUMBER (2)    NOT NULL, -- Номер филиала 
  CONSTRAINT EMP_PRIMARY_KEY
  PRIMARY KEY (EMPNO) ) ;
ALTER TABLE EMP ADD  CONSTRAINT EMP_FOREIGN_KEY
 FOREIGN KEY (DEPTNO) 
  REFERENCES SCOTT.DEPT (DEPTNO);
ALTER TABLE EMP ADD  CONSTRAINT EMP_SELF_KEY
 FOREIGN KEY (MGR) 
  REFERENCES SCOTT.EMP (EMPNO);

1) Вывести список всех филиалов, упорядочив их по местоположению, а затем по количеству сотрудников.

2) Вывести список всех филиалов с фамилиями руководителей (руководителем считается сотрудник, подчиняющийся работнику другого филиала или никому не подчиняющийся).

3) Определить табельный номер для вновь принимаемого на работу сотрудника. Табельный номер определяется как минимальный «свободный».

4) Вывести (для всех филиалов) список вида

Наименование филиала Самый высокооплачиваемый сотрудник Самый низкооплачиваемый сотрудник

5) Увеличить заработную плату сотрудникам
— проработавшим более 5 лет — на 50%
— проработавшим более 3 лет — на 30%
— проработавшим более 2 лет — на 20%
— проработавшим более 1 года — на 10 грн.
— проработавшим менее 1 года — не увеличивать

6) Предложите набор (один или несколько) тестовых данных для заполнения таблиц с целью контроля правильности работы программ, перечисленных в п.п. 1 — 5.

7) Условие какой из задач 1 — 5 нуждается, с Вашей точки зрения, в уточнении.

8) Если Вас попросят написать программу печати сведений о заработной плате сотрудников для годового отчета, какие уточняющие вопросы Вы зададите.

Вернуться к описанию вакансий