Разработка серверной части информационной системы для сопровождения процесса выдачи заработной платы
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
е типаОписаниеОписание типа
Таблица 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, 'Б