| Программист (в отдел разработки ПО Управления информатизации, Головной банк)
|
Основные требования:
- Высшее образование в области информационных технологий.
- Знание SQL, опыт работы с Oracle9i.
- Способность к самостоятельному освоению новой предметной области.
Желательно:
- Знание ORACLE Forms.
- Опыт разработки реально работающих программных систем.
- Знание Delphi, XML, C++
- Знакомство с основами бухгалтерского учета и/или банковского дела.
- Владение техническим английским (на уровне чтения документации).
Для участия в конкурсе просьба направлять подробное резюме на адрес resume@grant.kharkov.ua, к резюме необходимо приложить решение конкурсных заданий.
Конкурсные задания
Созданы таблицы:
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);
- Вывести список всех филиалов, упорядочив их
по местоположению, а затем по количеству сотрудников.
- Вывести список всех филиалов с фамилиями руководителей
(руководителем считается сотрудник, подчиняющийся работнику
другого филиала или никому не подчиняющийся).
- Определить табельный номер для вновь принимаемого на работу сотрудника. Табельный номер определяется как
минимальный «свободный».
- Вывести (для всех филиалов) список вида
| Наименование филиала |
Самый высокооплачиваемый сотрудник |
Самый низкооплачиваемый сотрудник |
| | |
- Увеличить заработную плату сотрудникам
- проработавшим более 5 лет на 50%
- проработавшим более 3 лет на 30%
- проработавшим более 2 лет на 20%
- проработавшим более 1 года на 10 грн.
- проработавшим менее 1 года не увеличивать
- Предложите несколько наборов тестовых данных для проверки
правильности решения предыдущих заданий.
- Условие какой из задач 1 5 нуждается,
с Вашей точки зрения, в уточнении.
- Если Вас попросят написать программу печати сведений о заработной
плате сотрудников для годового отчета, какие уточняющие вопросы
Вы зададите.
Задания 1 5 должны быть решены с помощью одного
SQLпредложения без использования PL/SQL.
Решения заданий 6 8 должны быть аргументированы.
|