Разработка серверной части информационной системы для сопровождения процесса выдачи заработной платы
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
-07-30', 'YYYY-MM-DD'), 4, 3);INTO Worker VALUES ('Ешеренев П. Г.','MB153728, Белопольским ГРО УМВД 28.08.74, прописка - г. Ворожба', 'Вахтер', TO_DATE ('2009-05-20', 'YYYY-MM-DD'), 5, 3);INTO Worker VALUES ('Соломкина А. А.','MB635217, Сумским ГРО УМВД 25.06.71, прописка - г. Сумы', 'Вахтер', TO_DATE ('2004-06-18', 'YYYY-MM-DD'), 6, 3);INTO Worker VALUES ('Масько П. Л.','MB762534, Ахтырским ГРО УМВД 20.09.95, прописка - г. Ахтырка', 'Менеджер', TO_DATE ('2007-10-29', 'YYYY-MM-DD'), 7, 4);INTO Worker VALUES ('Кучер Ф. Г.','MB453277, Харьковским ГРО УМВД 10.09.96, прописка - г. Харьков', 'Тестер', TO_DATE ('2001-10-22', 'YYYY-MM-DD'), 8, 5);INTO Worker VALUES ('Шинкарюк Л. Д.','MB256346, Киевским ГРО УМВД 05.06.92, прописка - г. Киев', 'Тестер', TO_DATE ('2002-11-28', 'YYYY-MM-DD'), 9, 5);INTO Worker VALUES ('Воронная Н. Д.','MB736488, Сумским ГРО УМВД 20.09.98, прописка - г. Сумы', 'Тестер', TO_DATE ('2003-12-01', 'YYYY-MM-DD'), 10, 5);
-List_of_membINTO List_of_memb VALUES (1, 'Бухгалтер', 2000, 1);INTO List_of_memb VALUES (2, 'Менеджер o/к', 1800, 2);INTO List_of_memb VALUES (3, 'Вахтер', 800, 3);INTO List_of_memb VALUES (4, 'Менеджер т/o', 2500, 4);INTO List_of_memb VALUES (5, 'Тестер', 2300, 5);
-WorkINTO Work VALUES (null, 2000, 'на предпр.', 'почасовая', 1);INTO Work VALUES (null, 2000, 'на предпр.', 'почасовая', 2);INTO Work VALUES (null, 1800, 'на предпр.', 'почасовая', 3);INTO Work VALUES (null, 800, 'на предпр.', 'почасовая', 4);INTO Work VALUES (null, 800, 'на предпр.', 'почасовая', 5);INTO Work VALUES (null, 800, 'на предпр.', 'почасовая', 6);INTO Work VALUES (null, 2500, 'на предпр.', 'почасовая', 7); INTO Work VALUES ('тестирование офисного прогр. обесп.', 2300, 'на предпр.', 'фиксир.', 8);
INSERT INTO Work VALUES ('тестирование пользовательского прогр. обесп.', 2300, 'на дому', 'фиксир.', 9);
INSERT INTO Work VALUES ('тестирование системного прогр. обесп.', 2300, 'на предпр.', 'фиксир.', 10);
--Contact_infoINTO Contact_info VALUES ('(0542)736-839', 'ул. Ахтырская, 3', 'jhsdfjskl@yandex.ru', null, 1);
INSERT INTO Contact_info VALUES ('(0542)745-859', 'ул. Кирова, 32', '123mjhj@yandex.ru', null, 2);
INSERT INTO Contact_info VALUES ('(05456)5-36-34', 'ул. Ленина, 257', 'loigerg@mail.ru', 'ICQ - 456789', 3);
INSERT INTO Contact_info VALUES ('(0542)674-256', 'ул. Октября, 3', 'vcmhdl@bk.ru', null, 4);
INSERT INTO Contact_info VALUES ('(05423)7-36-89', 'ул. Колпака, 34', 'oehcpspss@yandex.ru', null, 5);INTO Contact_info VALUES ('(0542)648-820', 'ул. Харьковска, 23', 'juise@yandex.ru', null, 6);
INSERT INTO Contact_info VALUES ('(05446)2-49-88', 'ул. Шевченка, 2', 'lidufklasjd@mail.ru', null, 7);
INSERT INTO Contact_info VALUES ('(065)473-68-39', 'ул. Курская, 18', 'isdkasd@yandex.ru', null, 8);
INSERT INTO Contact_info VALUES ('(044)273-61-21', 'ул. О.Вишни, 78', 'lskdjflskdj@yandex.ru', null, 9);INTO Contact_info VALUES ('(0542)836-358', 'ул. Береговая, 104', 'kudfkjdkdldd@yandex.ru', null, 10);
Department
Worker
List_of_memb
проектирование база данных логический метамодель
Contact_info
Создание выборок
1.SELECT fio, spesiallity, EXTRACT (YEAR FROM SYSDATE) - EXTRACT (YEAR FROM years) AS stazh
FROM Worker; -- выводит сотрудников, их специальности и стаж работы (использование функции - EXTRACT)
2.SELECT w.fio, w.spesiallity, w.pasport, l.salary
FROM Worker w, List_of_memb l
WHERE w.ID_s=l.ID_s AND w.nomer=l.nomer; -- выводит ФИО, специальность, паспортные данные и заработную плату сотрудников (выборка)
3.SELECT DISTINCT post
FROM List_of_memb; -- выводит уникальные записи должностей штатного расписания (проекция)
4.SELECT d. nomer, w.ID_s, w.fio
FROM Worker w, Department d
WHERE w. nomer =d. nomer; -- выводит номера сотрудников и их ФИО с учетом номеров отделов (пересечение)
5.SELECT salary
FROM List_of_memb
WHERE salary NOT IN (SELECT salary FROM List_of_memb WHERE salary<2000); -- выводит ставки по заработной плате выше 2000 грн. (разность)
Мапирование реляционной модели в метамодель
Классической методикой проектирования баз данных является создание отдельной таблицы для каждой описываемой моделью данных сущности. Такой подход хорошо работает для БД с относительно небольшим количеством описываемых объектов и при несложных и статичных связях между ними. Однако любое изменение структуры хранимых данных приводит к внесению изменений в структуру таблиц, отображающих эти данные. Несложная на этапе разработки, эта операция становится крайне проблематичной при больших объемах данных и при отсутствии у разработчика непосредственного доступа к БД (например, если она находится у заказчика).
Пять основных тезисов, на которых должна строиться проектируемая база данных:
.Каждая сущность, информация о которой хранится в БД, - это объект.
.Каждый объект уникален в пределах БД и имеет уникальный идентификатор.
.Объект имеет свойства (строковые, числовые, временные, перечислимые), которые описывают атрибуты сущности.
.Объекты могут быть связаны между собой произвольным образом. Связь характеризуется связанными объектами и типом связи.
.Объект может быть хранилищем. В этом случае допускается хранение в нем других объектов.
Такая структура базы данных не привязана ни к какой бизнес-модели и позволяет реализовать на этой основе практически любую бизнес-логику.
Построение диаграммы классов для метамодели
Исходя из описанных выше утверждений, была спроектирована диаграмма классов, которая удовлетворяет этим тезисам (рис. 4.1).
Как видно из диаграммы классов она состоит из 4 классов: Типы, Объекты, Атрибуты и Параметры. В каждом классе, кроме класса Параметры, имеется 3 атрибута, из которых один - это идентификатор данного класса. В классы Объекты и Атрибуты мигрирует идентификатор из класса Типы. Класс Параметры не имеет своего идентификатора, но в него мигрируют идентификаторы из классов Атрибуты и Объекты.
Рисунок 4.1 - Диаграмма классов
Проектирование метамодели базы данных
Отношения Типы, Объекты, Атрибуты и Параметры, выявленные на этапе построения концептуальной модели характеризуются следующими атрибутами (табл. 3.1).
Таблица 3.1 Атрибуты отношения Типы
АтрибутОписаниеID_типа_объектаПервичный ключНазваниеНазвани