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

Атрибут

Столбец

Тип данных

Мотивация

Примечание

Код должности

JOB_ID

NUMBER(20,0)

Уникальный код должности

Primary Key

Название должности

JOB_TITLE

VARCHAR(15)

Название должности

Тип работы

JOB_TYPE

VARCHAR(15)

Почасовая оплата труда или фиксированая

Оклад

SAL

NUMBER(20,0)

Размер “чистой” зарплаты сотрудника

Реализуем таблицу SALARY

Таблица 5 Описание типов полей таблицы SALARY

Атрибут

Столбец

Тип данных

Мотивация

Примечание

Код сотр.

EMP_ID

NUMBER(20,0)

Уникальный код каждого сотрудника

Мигрировавший атрибут(РFK)

Код должности

JOB_ID

VARCHAR(15)

Код должности сотрудника

Отработано часов

H_WORK

VARCHAR(15)

Количество отработаных сотрудником часов в данном месяце (только для сотрудников с почасовой оплатой труда)

Налог в пенс. фонд

PENS_FOND

NUMBER(20)

Налог в пенсионный фонд (2%)

Налог в фонд соц. страх.

SOC_STRAH

NUMBER(20)

Налог в фонд соцстрахования от нетрудоспособности (6%)

Налог в фонд зан.

FOND_ZAN

NUMBER(20)

Налог в фонд занятости (5%)

Подоходный налог

POD

NUMBER(20)

Подоходный налог(13%)

К выдаче

SAL

NUMBER(20)

Размер заработной платы с учетом всех налогов

Модель ERD(Entity Relation Diagram) была построенной с помощью Case Studio.

Рисунок 4.1 — Схема базы данных ERD

5 Физическая реализация Базы данных

5.1 Скрипты

drop table Emp;

drop table Depts;

drop table Salary;

drop table Jobs;

drop table Human;

CREATE TABLE  "DEPTS"

   ( "DEP_ID" NUMBER(6,0) NOT NULL ENABLE,

      "DEP_NAME" VARCHAR2(30) NOT NULL ENABLE,

      "MGR_ID" NUMBER(6,0) NOT NULL ENABLE,

      "L_PHONE" VARCHAR2(10),

      "W_PHONE" VARCHAR2(10),

       CONSTRAINT "DEPT_ID_PK" PRIMARY KEY ("DEP_ID") ENABLE

   );

CREATE TABLE  "EMP"

   ( "EMP_ID" NUMBER(6,0) NOT NULL ENABLE,

      "JOB_ID" NUMBER(6,0) NOT NULL ENABLE,

      "DEP_ID" NUMBER(6,0),

       CONSTRAINT "EMP_EMP_ID_PK" PRIMARY KEY ("EMP_ID") ENABLE,

       CONSTRAINT "EMP_JOB_FK" FOREIGN KEY ("JOB_ID")

        REFERENCES  "JOBS" ("JOB_ID") ENABLE,

       CONSTRAINT "EMP_HUM_FK" FOREIGN KEY ("EMP_ID")

        REFERENCES  "HUMAN" ("EMP_ID") ENABLE,

       CONSTRAINT "EMP_DEPT_FK" FOREIGN KEY ("DEP_ID")

        REFERENCES  "DEPTS" ("DEP_ID") ENABLE

   );

CREATE TABLE  "HUMAN"

   ( "EMP_ID" NUMBER(6,0) NOT NULL ENABLE,

      "H_NAME" VARCHAR2(15),

      "H_DOC" VARCHAR2(15),

      "H_PHONE" VARCHAR2(10),

      "M_PHONE" VARCHAR2(15),

       CONSTRAINT "UQ_HUMAN_H_DOC" UNIQUE ("H_DOC") ENABLE,

       CONSTRAINT "PK_HUMAN" PRIMARY KEY ("EMP_ID") ENABLE

   );

CREATE TABLE  "JOBS"

   ( "JOB_ID" NUMBER(6,0) NOT NULL ENABLE,

      "JOB_TITLE" VARCHAR2(35) NOT NULL ENABLE,

      "JOB_TYPE" VARCHAR2(2),

      "SAL" NUMBER(10,0),

       CONSTRAINT "JOB_ID_PK" PRIMARY KEY ("JOB_ID") ENABLE

   );

CREATE TABLE  "SALARY"

   ( "SAL" NUMBER(10,2),

      "PENS_FOND" NUMBER(5,2),