Разработка базы данных из предметной области "Предприятие", страница 5

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 Создание выборок

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

7 МетаМОДЕЛЬ

7.1 Описание метамодели

В настоящее время наиболее популярный подход к организации информационных систем - это клиент-серверные приложения, в основе которых лежит взаимодействие с базой данных. В большинстве своем в качестве хранилища данных используются реляционные базы данных, а приложения, обеспечивающие интерфейс к базе данных реализованы на основе объектно-ориентированного программирования. При этом обнаруживается несоответствие, связанное с тем, что модели данных, использующиеся в программировании, отличаются от моделей данных СУБД, которое влечет за собой необходимость поддерживать соотношения и взаимосоответствия между картежами базы данных и объектами в программировании. Необходимость таких согласований, или импеданс, был принят в качестве платы за производительность, предоставляемую реляционной организацией данных.

Объектно-ориентированные базы данных явились результатом совмещения принципов объектно-ориентированного программирования и принципов управления базами данных. В одной системе объединены понятия инкапсуляции, полиморфизма, наследования из объектно-ориентированного программирования и атомарности, целостности, изоляции из баз данных. В результате мыимеем возможность управлять большими объемами информации при помощи объектно-ориентированного подхода.