Разработка серверной части информационной системы для сопровождения процесса выдачи заработной платы

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



е типаОписаниеОписание типа

Таблица 3.2 Атрибуты отношения Объекты

АтрибутОписаниеID_объектаПервичный ключID_типа_объектаВнешний ключ отношения ТипыНазвание_объектаНазвание объекта

Таблица 3.3 Атрибуты отношения Атрибуты

АтрибутОписаниеID_атрибутаПервичный ключID_типа_объектаВнешний ключ отношения ТипыНазвание_атрибутаНазвание атрибута

Таблица 3.3 Атрибуты отношения Параметры

АтрибутОписаниеID_объектаВнешний ключ отношения ОбъектыID_отношения ID_атрибутаПоказывает отношение между объектами Внешний ключ отношения АтрибутыТекстовое значение Номерное значениеПоле для текстовых данных Поле для числовых данных

Отношение Параметры играет роль связи Многие ко Многим, а атрибут ID_отношения показывает эту связь.

Логическая реализация метамодели

Реализуем таблицу object_types. Для идентификации записей введем первичный ключ object_type_id.

Таблица 5.1 Обоснование типов полей таблицы object_types:

АтрибутСтолбецТип данныхМотивацияПримечаниеID_типа_объектаobject_type_idNUMBERPrimary KeyНазваниеnameVARCHAR2(50)НазваниеОписаниеdescriptionVARCHAR2(100)Описание

Реализуем таблицу objects. Для идентификации записей введем первичный ключ object_id.

Таблица 5.2 Обоснование типов полей таблицы objects:

АтрибутСтолбецТип данныхМотивацияПримечаниеID_объектаobject_idNUMBERPrimary KeyID_типа_объектаobject_type_idNUMBERForeign KeyНазвание_объектаnameVARCHAR2(150)Название объекта

Реализуем таблицу attributes. Для идентификации записей введем первичный ключ attr_id.

Таблица 5.3 Обоснование типов полей таблицы attributes:

АтрибутСтолбецТип данныхМотивацияПримечаниеID_атрибутаattr_idNUMBERPrimary KeyID_типа_объектаobject_type_idNUMBERForeign KeyНазвание_атрибутаnameVARCHAR2(50)Название атрибута

Реализуем таблицу cf_par. Первичных ключей таблица не имеет.

Таблица 5.4 Обоснование типов полей таблицы params:

АтрибутСтолбецТип данныхМотивацияПримечаниеID_объектаobject_idNUMBERНомер объектаForeign KeyID_атрибутаattr_idNUMBERНомер атрибутаForeign KeyТекстовое_значениеtext_valueVARCHAR2(150)Поле для текстовых данныхНомерное_значениеnumber_valueNUMBERПоле для цифровых данныхДатаdate_valueDATEПоле для дат

Схема метамодели была реализована так:

Физическая реализация метамодели

Скрипты

drop table params;

drop table attributes;table objects;table object_types;

- Create tablestable object_types (_type_id Number NOT NULL ,Varchar2(100),Varchar2(1000));

table objects (_id Number NOT NULL ,_type_id Number NOT NULL ,Varchar2(100));

table attributes (_id Number NOT NULL ,_type_id Number NOT NULL ,Varchar2(100));

table params (_id Number NOT NULL ,_id Number NOT NULL ,_value Varchar2(1000),_value Number,_value DATE);

- Create primary keystable object_types add primary key (object_type_id);table objects add primary key (object_id);table attributes add primary key (attr_id);

- Create foreign keystable objectsConstraint r_5 foreign key (object_type_id)object_types (object_type_id) on delete cascade;

table attributesforeign key (object_type_id)object_types (object_type_id) ;

table paramsConstraint r_6 foreign key (object_id)objects (object_id) ;

table paramsConstraint r_7 foreign key (attr_id)attributes (attr_id) ;;

Заполнение таблиц

delete from params;from objects;from attributes;from object_types;

-object_types (object_type_id, name, description)into object_types values (1, 'Department', null);into object_types values (2, 'Worker', null);into object_types values (3, 'List_of_memb', 'List_of_members');into object_types values (4, 'Work', null);into object_types values (5, 'Contact_info', 'Contact_information');

-attributes (attr_id, object_type_id, name)into attributes values (1, 1, 'Room');into attributes values (2, 1, 'Phone');into attributes values (3, 2, 'Pasport');into attributes values (4, 2, 'Spesiallity');into attributes values (5, 2, 'Years');into attributes values (6, 3, 'Salary');into attributes values (7, 4, 'Task');into attributes values (8, 4, 'Salary');into attributes values (9, 4, 'Kind_of_work');into attributes values (10, 4, 'Kind_of_salary');into attributes values (11, 5, 'Phone');into attributes values (12, 5, 'Address');into attributes values (13, 5, 'E-mail');into attributes values (14, 5, 'Others');

-objects (object_id, object_type_id, name)

-Departmentinto objects values (10, 1, 'Бухгалтерия');into objects values (20, 1, 'Отдел кадров');into objects values (30, 1, 'Пропускн_пункт');into objects values (40, 1, 'Тех_отдел');into objects values (50, 1, 'Тест_отдел');

-Workerinto objects values (11, 2, 'Костюк А. О.');into objects values (12, 2, 'Миненко В. А.');into objects values (13, 2, 'Чешкин Б. В.');into objects values (14, 2, 'Синь Е. Р.');into objects values (15, 2, 'Ешеренев П. Г.');into objects values (16, 2, 'Соломкина А. А.');into objects values (17, 2, 'Масько П. Л.');into objects values (18, 2, 'Кучер Ф. Г.');into objects values (19, 2, 'Шинкарюк Л. Д.');into objects values (21, 2, 'Воронная Н. Д.');

-List_of_membinto objects values (1, 3, 'Бухгалтер');into objects values (2, 3, 'Менеджер о\к');into objects values (3, 3, 'Вахтер');into objects values (4, 3, 'Менеджер т\о');into objects values (5, 3, 'Тестер');

-params (object_id, attr_id, text_value, number_value, date_value)

-Department => Roominto params (object_id, attr_id, number_value) values (10, 1, 21);into params (object_id, attr_id, number_value) values (20, 1, 143);into params (object_id, attr_id, number_value) values (30, 1, null);into params (object_id, attr_id, number_value) values (40, 1, 32);into params (object_id, attr_id, number_value) values (50, 1, 24);

-Department => Phoneinto params (object_id, attr_id, text_value) values (10, 2, '(0542)236-743');into params (object_id, attr_id, text_value) values (20, 2, '(0542)298-756');into params (object_id, attr_id, text_value) values (30, 2, '(0542)255-733');into params (object_id, attr_id, text_value) values (40, 2, '(0542)278-736');into params (object_id, attr_id, text_value) values (50, 2, '(0542)243-721');

-Worker => Pasportinto params (object_id, attr_id, text_value) values (11, 3, 'MB347856, Сумским ГРО УМВД 20.09.03, прописка - г. Сумы');into params (object_id, attr_id, text_value) values (12, 3, 'MB836472, Сумским ГРО УМВД 15.05.96, прописка - г. Сумы');into params (object_id, attr_id, text_value) values (13, 3, 'MB917382, Конотопским ГРО УМВД 20.03.93, прописка - г. Конотоп');into params (object_id, attr_id, text_value) values (14, 3, 'MB153728, Сумским ГРО УМВД 17.04.76, прописка - г. Сумы');into params (object_id, attr_id, text_value) values (15, 3, 'MB153728, Белопольским ГРО УМВД 28.08.74, прописка - г. Ворожба');into params (object_id, attr_id, text_value) values (16, 3, 'MB635217, Сумским ГРО УМВД 25.06.71, прописка - г. Сумы');into params (object_id, attr_id, text_value) values (17, 3, 'MB762534, Ахтырским ГРО УМВД 20.09.95, прописка - г. Ахтырка');into params (object_id, attr_id, text_value) values (18, 3, 'MB453277, Харьковским ГРО УМВД 10.09.96, прописка - г. Харьков');into params (object_id, attr_id, text_value) values (19, 3, 'MB256346, Киевским ГРО УМВД 05.06.92, прописка - г. Киев');into params (object_id, attr_id, text_value) values (21, 3, 'MB736488, Сумским ГРО УМВД 20.09.98, прописка - г. Сумы');

-Worker => Spesiallityinto params (object_id, attr_id, text_value) values (11, 4, 'Б