INSERT INTO SALARY VALUES(3700,100,300,250,650,1014,20008,NULL,5000,1300);
INSERT INTO SALARY VALUES(7400,200,600,500,1300,1003,20001,NULL,10000,2600);
INSERT INTO SALARY VALUES(5994,162,486,405,1053,1009,20004,NULL,8100,2106);
INSERT INTO SALARY VALUES(23580,612,1836,1530,3978,1011,20005,180,31536,7956);
INSERT INTO SALARY VALUES(6660,180,540,450,1170,1013,20007,NULL,9000,2340);
INSERT INTO SALARY VALUES(3700,100,300,250,650,1015,20008,NULL,5000,1300);
INSERT INTO JOBS VALUES(20001,'Administration Assistant','F',10000);
INSERT INTO JOBS VALUES(20002,'Finance Manager','T',200);
INSERT INTO JOBS VALUES(20003,'Accountant','F',7100);
INSERT INTO JOBS VALUES(20004,'Accounting Manager','F',8100);
INSERT INTO JOBS VALUES(20005,'Public Accountant','T', 170);
INSERT INTO JOBS VALUES(20006,'Sales Manager','F',8600);
INSERT INTO JOBS VALUES(20007,'Sales Representative','F',9000);
INSERT INTO JOBS VALUES(20008,'Purchasing Manager','F',5000);
INSERT INTO JOBS VALUES(20009,'Purchasing Clerk','F',5200);
INSERT INTO JOBS VALUES(20010,'Stock Manager','F',5100);
INSERT INTO JOBS VALUES(20011,'Stock Clerk','F',5500);
INSERT INTO JOBS VALUES(20012,'Shipping Clerk','F',5100);
INSERT INTO JOBS VALUES(20013,'Programmer','F',8100);
INSERT INTO JOBS VALUES(20014,'Marketing Manager','T',130);
INSERT INTO JOBS VALUES(20015,'Marketing Representative','T',170);
INSERT INTO JOBS VALUES(20016,'Human Resources Representative','T',165);
INSERT INTO JOBS VALUES(20017,'Public Relations Representative','F',9300);
6.1 Вывод максимально зарплаты по отделам
select depts.dep_id as "Номер_отдела",MAX(s.sal) as "Макс_зарплата" from depts
join emp e on e.dep_id=depts.dep_id
join salary s on e.emp_id=s.emp_id
group by depts.dep_id
order by depts.dep_id
Действует данный код следующим образом: мы выбираем все dep_id из таблицы depts, далее объединяем с помощью join эту таблицу с таблицами salary и emp, потом просто выбираем максимальную зарплату из таблицы salary группируя записи по номерам отделов, в итоге у нас получается 4 группы для каждой из которых есть максимальное значение зарплаты. Результат выводим в порядке возростания номера отдела.
Результаты запроса:
Рисунок 6.1.1
6.2 Вывод начисленой зарплаты с учетом налогов.
select human.h_name as “Имя” ,salary.emp_id as “Код”, salary.sal as “К_выдаче”, jobs.sal as “Начислено”
from salary, human, jobs
where human.emp_id=salary.emp_id and emp.job_id=jobs.job_id
Благодаря тому что создана таблица где динамически вычисляются все необходимы значение, запрос сводится к выборке связаных данных.
Результаты запроса:
Рисунок 6.2.1
В настоящее время наиболее популярный подход к организации информационных систем - это клиент-серверные приложения, в основе которых лежит взаимодействие с базой данных. В большинстве своем в качестве хранилища данных используются реляционные базы данных, а приложения, обеспечивающие интерфейс к базе данных реализованы на основе объектно-ориентированного программирования. При этом обнаруживается несоответствие, связанное с тем, что модели данных, использующиеся в программировании, отличаются от моделей данных СУБД, которое влечет за собой необходимость поддерживать соотношения и взаимосоответствия между картежами базы данных и объектами в программировании. Необходимость таких согласований, или импеданс, был принят в качестве платы за производительность, предоставляемую реляционной организацией данных.
Объектно-ориентированные базы данных явились результатом совмещения принципов объектно-ориентированного программирования и принципов управления базами данных. В одной системе объединены понятия инкапсуляции, полиморфизма, наследования из объектно-ориентированного программирования и атомарности, целостности, изоляции из баз данных. В результате мыимеем возможность управлять большими объемами информации при помощи объектно-ориентированного подхода.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.