Below is a listing for the SQL definition of the Commonweather Corporation database for the design shown.


Schema Statement
CREATE SCHEMA EMPSCHM; SET SESSION CURRENT SCHEMA EMPSCHM;
Table Statements
CREATE TABLE COVERAGE
(PLAN_CODE CHAR(03) NOT NULL,
EMP_ID UNSIGNED NUMERIC(4,0) NOT NULL,
SELECTION_DATE DATE NOT NULL WITH DEFAULT,
TERMINATION_DATE DATE )
COVERAGE-TYPE CHAR(01) NOT NULL,
IN SQLDEMO.INS_DEMO_REGION;
CREATE TABLE DENTAL_CLAIM
(CLAIM_DATE DATE NOT NULL,
PATIENT_FIRST_NAME CHAR(10) ,
PATIENT_LAST_NAME CHAR(15) ,
PATIENT_BIRTH_DATE DATE ,
PATIENT_SEX CHAR(01) ,
RELATION_TO_EMPLOYEE CHAR(10) ,
EMP_ID UNSIGNED NUMERIC(4,0) NOT NULL,
PLAN_CODE CHAR(03) ,
DENTIST_FIRST_NAME CHAR(10) ,
DENTIST_LAST_NAME CHAR(15) ,
DENTIST_STREET CHAR(20) ,
DENTIST_CITY CHAR(15) ,
DENTIST_STATE CHAR(2) ,
DENTIST_ZIP_FIRST_FIVE CHAR(05) ,
DENTIST_ZIP_LAST_FOUR CHAR(04) ,
DENTIST_LICENSE_NUMBER UNSIGNED NUMERIC(6,0) )
IN SQLDEMO.INS_DEMO_REGION;
CREATE TABLE DENTAL_PROCEDURE
(EMP_ID UNSIGNED NUMERIC(4,0) NOT NULL,
PLAN_CODE CHAR(03) NOT NULL,
SERVICE_DATE DATE NOT NULL,
TOOTH_NUMBER UNSIGNED NUMERIC(2,0) ,
PROCEDURE_CODE UNSIGNED NUMERIC(4,0) NOT NULL,
FEE DECIMAL(9,2) ,
DESCRIPTION VARCHAR(60) )
IN SQLDEMO.INS_DEMO_REGION;
CREATE TABLE DEPARTMENT
(DEPT_ID UNSIGNED NUMERIC(4,0) NOT NULL,
DEPT_HEAD_ID UNSIGNED NUMERIC(4,0) ,
DEPT_NAME CHAR(40) NOT NULL)
IN SQLDEMO.ORG_DEMO_REGION;
CREATE TABLE EMPLOYEE
(EMP_ID UNSIGNED NUMERIC(4,0) NOT NULL,
EMP_FIRST_NAME CHAR(20) NOT NULL,
EMP_LAST_NAME CHAR(20) NOT NULL,
DEPT_ID UNSIGNED NUMERIC(4,0) NOT NULL,
OFFICE_CODE UNSIGNED NUMERIC(4,0) NOT NULL,
STREET CHAR(40) ,
CITY CHAR(20) NOT NULL,
STATE CHAR(02) NOT NULL,
ZIP_FIRST_FIVE CHAR(05) NOT NULL,
ZIP_LAST_FOUR CHAR(04) NOT NULL,
PHONE CHAR(10) ,
STATUS CHAR(01) NOT NULL,
SS_NUMBER UNSIGNED NUMERIC(9,0) NOT NULL,
START_DATE DATE NOT NULL,
TERMINATION_DATE DATE ,
BIRTH_DATE DATE ,
CHECK ( ( EMP_ID <= 8999 ) AND (STATUS IN ('01', '02', '03', '04', '05') ) ) )
IN SQLDEMO.EMP_DEMO_REGION;
CREATE TABLE EMPOSITION
(EMP_ID UNSIGNED NUMERIC(4,0) NOT NULL,
JOB_ID UNSIGNED NUMERIC(4,0) NOT NULL,
START_DATE DATE NOT NULL,
FINISH_DATE DATE ,
SALARY_GRADE UNSIGNED NUMERIC(2,0) )
IN SQLDEMO.EMP_DEMO_REGION;
CREATE TABLE HOSPITAL_CLAIM
(CLAIM_DATE DATE NOT NULL,
PATIENT_FIRST_NAME CHAR(10) ,
PATIENT_LAST_NAME CHAR(15) ,
PATIENT_BIRTH_DATE DATE ,
PATIENT_SEX CHAR(01) ,
RELATION_TO_EMPLOYEE CHAR(10) ,
EMP_ID UNSIGNED NUMERIC(4,0) NOT NULL,
PLAN_CODE CHAR(03) ,
HOSPITAL_NAME CHAR(25) ,
HOSPITAL_STREET CHAR(20) ,
HOSPITAL_CITY CHAR(15) ,
HOSPITAL_STATE CHAR(2) ,
HOSPITAL_ZIP_FIRST_FIVE CHAR(05) ,
HOSPITAL_ZIP_LAST_FOUR CHAR(04) ,
ADMIT_DATE DATE ,
DISCHARGE_DATE DATE ,
DIAGNOSIS CHAR(120) ,
WARD_DAYS UNSIGNED NUMERIC(5,0) ,
WARD_RATE DECIMAL(9,2) ,
WARD_TOTAL DECIMAL(9,2) ,
SEMI_DAYS UNSIGNED NUMERIC(5,0) ,
SEMI_RATE DECIMAL(9,2) ,
SEMI_TOTAL DECIMAL(9,2) ,
DELIVERY_COST DECIMAL(9,2) ,
ANESTHESIA_COST DECIMAL(9,2) ,
LAB_COST DECIMAL(9,2) )
IN SQLDEMO.INS_DEMO_REGION;
CREATE TABLE INSURANCE_PLAN
(PLAN_CODE CHAR(03) NOT NULL,
COMP_NAME CHAR(40) NOT NULL,
STREET CHAR(20) ,
CITY CHAR(15) NOT NULL,
STATE CHAR(02) NOT NULL,
ZIP_FIRST_FIVE CHAR(05) ,
ZIP_LAST_FOUR CHAR(04) ,
PHONE CHAR(10) NOT NULL,
GROUP_NUMBER UNSIGNED NUMERIC(6,0) NOT NULL,
DEDUCT UNSIGNED DECIMAL(9,2) ,
MAX_LIFE_BENEFIT UNSIGNED DECIMAL(9,2) ,
FAMILY_COST UNSIGNED DECIMAL(9,2) ,
DEP_COST UNSIGNED DECIMAL(9,2) )
IN SQLDEMO.INS_DEMO_REGION;
CREATE TABLE JOB
(JOB_ID UNSIGNED NUMERIC(4,0) NOT NULL,
JOB_TITLE CHAR(20) NOT NULL,
MIN_RATE UNSIGNED DECIMAL(10,2) ,
MAX_RATE UNSIGNED DECIMAL(10,2) ,
SALARY_IND CHAR(01) ,
NUM_OF_POSITIONS UNSIGNED DECIMAL(3,0) ,
NUM_OPEN UNSIGNED DECIMAL(3,0) ,
EFF_DATE DATE ,
JOB_DESC_LINE_1 VARCHAR(60) ,
JOB_DESC_LINE_2 VARCHAR(60) ,
REQUIREMENTS VARCHAR(120) ,
HOURLY_RATE UNSIGNED DECIMAL(7,2) ,
SALARY_AMOUNT UNSIGNED DECIMAL(10,2) ,
BONUS_PERCENT UNSIGNED DECIMAL(7,3) ,
COMM_PERCENT UNSIGNED DECIMAL(7,3) ,
OVERTIME_RATE UNSIGNED DECIMAL(5,2) )
IN SQLDEMO.ORG_DEMO_REGION;
CREATE TABLE EXPERTISE
(EMP_ID UNSIGNED NUMERIC(4,0) NOT NULL,
SKILL_CODE UNSIGNED NUMERIC(4,0) NOT NULL,
SKILL_LEVEL CHAR(02) ,
EXP_DATE DATE ,
CHECK ( SKILL_LEVEL IN ('01', '02', '03', '04', '05') ) )
IN PROJSEG.EMP_DEMO_REGION;
CREATE TABLE NON_HOSP_CLAIM
(CLAIM_DATE DATE NOT NULL,
PATIENT_FIRST_NAME CHAR(10) ,
PATIENT_LAST_NAME CHAR(15) ,
PATIENT_BIRTH_DATE DATE ,
PATIENT_SEX CHAR(01) ,
RELATION_TO_EMPLOYEE CHAR(10) ,
EMP_ID UNSIGNED NUMERIC(4,0) NOT NULL,
PLAN_CODE CHAR(03) ,
PHYS_FIRST_NAME CHAR(10) ,
PHYS_LAST_NAME CHAR(15) ,
PHYS_STREET CHAR(20) ,
PHYS_CITE CHAR(15) ,
PHYS_STATE CHAR(2) ,
PHYS_ZIP_FIRST_FIVE CHAR(05) ,
PHYS_ZIP_LAST_FOUR CHAR(04) ,
PHYSICIAN_ID UNSIGNED NUMERIC(6,0) ,
DIAGNOSIS VARCHAR(120) )
IN SQLDEMO.INS_DEMO_REGION;
CREATE TABLE NON_HOSP_PROCEDURE
(EMP_ID UNSIGNED NUMERIC(4,0) NOT NULL,
PLAN_CODE CHAR(03) NOT NULL,
SERVICE_DATE DATE NOT NULL,
PROCEDURE_CODE UNSIGNED NUMERIC(4,0) NOT NULL,
FEE DECIMAL(9,2) ,
DESCRIPTION VARCHAR(60) )
IN SQLDEMO.INS_DEMO_REGION;
CREATE TABLE OFFICE
(OFFICE_CODE UNSIGNED NUMERIC(4,0) NOT NULL,
STREET CHAR(20) ,
CITY CHAR(15) ,
STATE CHAR(2) ,
ZIP_FIRST_FIVE CHAR(05) ,
ZIP_LAST_FOUR CHAR(04) ,
SPEED_DIAL CHAR(03) ,
AREA_CODE CHAR(03) ,
PHONE_1 UNSIGNED NUMERIC(7,0) ,
PHONE_2 UNSIGNED NUMERIC(7,0) ,
PHONE_3 UNSIGNED NUMERIC(7,0) )
IN SQLDEMO.ORG_DEMO_REGION;
CREATE TABLE PROJECT
(PROJECT_CODE UNSIGNED NUMERIC(4,0) NOT NULL,
DESCRIPTION CHAR(40) ,
EST_BEGIN_DATE DATE ,
ACT_BEGIN_DATE DATE ,
EST_END_DATE DATE ,
ACT_END_DATE DATE ,
LDR_EMP_ID UNSIGNED NUMERIC(4,0) )
IN SQLDEMO.EMP_DEMO_REGION;
CREATE TABLE SKILL
(SKILL_CODE UNSIGNED NUMERIC(4,0) NOT NULL,
SKILL_NAME CHAR(20) NOT NULL,
SKILL_DESC VARCHAR(60) )
IN PROJSEG.ORG_DEMO_REGION;
CREATE TABLE WORKER
(PROJECT_CODE UNSIGNED NUMERIC(4,0) NOT NULL,
EMP_ID UNSIGNED NUMERIC(4,0) NOT NULL,
BEGIN_DATE DATE ,
END_DATE DATE )
IN SQLDEMO.EMP_DEMO_REGION;
CALC Key Statements
CREATE UNIQUE CALC KEY ON DEPARTMENT (DEPT_ID); CREATE UNIQUE CALC KEY ON EMPLOYEE (EMP_ID); CREATE UNIQUE CALC KEY ON INSURANCE_PLAN (PLAN_CODE); CREATE UNIQUE CALC KEY ON JOB (JOB_ID); CREATE UNIQUE CALC KEY ON SKILL (SKILL_CODE); CREATE UNIQUE CALC KEY ON PROJECT (PROJECT_CODE); CREATE UNIQUE CALC KEY ON OFFICE (OFFICE_CODE);
Index Statements
-----------------------------------------------------------------------------
-- Create unique indexes
-----------------------------------------------------------------------------
CREATE UNIQUE INDEX SKILL_NAME_NDX ON SKILL(SKILL_NAME);
CREATE UNIQUE INDEX JOB_TITLE_NDX ON JOB(JOB_TITLE);
CREATE UNIQUE INDEX COV_NDX ON COVERAGE (PLAN_CODE, COVERAGE_TYPE, EMP_ID);
-----------------------------------------------------------------------------
-- Create nonunique indexes
-----------------------------------------------------------------------------
CREATE INDEX LNAME_NDX ON EMPLOYEE(EMP_LAST_NAME, EMP_FIRST_NAME)
IN SQLDEMO.INDXAREA;
Constraint Statements
----------------------------------------------------------------------
-- Create referential constraints
----------------------------------------------------------------------
CREATE CONSTRAINT EMP_COVERAGE
COVERAGE (EMP_ID) REFERENCES
EMPLOYEE (EMP_ID)
UNLINKED CLUSTERED;
CREATE CONSTRAINT DEPT_EMPLOYEE
EMPLOYEE (DEPT_ID) REFERENCES
DEPARTMENT (DEPT_ID)
LINKED INDEX
ORDER BY (EMP_LNAME, EMP_FNAME);
CREATE CONSTRAINT MANAGES_REPORTS_TO
EMPLOYEE (SUPR_EMP_ID) REFERENCES
EMPLOYEE (EMP_ID)
LINKED INDEX;
CREATE CONSTRAINT SKILL_EXPERTISE
EXPERTISE (SKILL_CODE) REFERENCES
SKILL (SKILL_CODE)
LINKED INDEX
ORDER BY (SKILL_LEVEL DESC);
CREATE CONSTRAINT EMP_EMPOSITION
EMPOSITION (EMP_ID) REFERENCES
EMPLOYEE (EMP_ID)
LINKED CLUSTERED
ORDER BY (START_DATE DESC) UNIQUE;
CREATE CONSTRAINT JOB_EMPOSITION
EMPOSITION (JOB_ID) REFERENCES
JOB (JOB_ID)
LINKED INDEX;
CREATE CONSTRAINT OFFICE_EMPLOYEE
EMPLOYEE (OFFICE_CODE) REFERENCES
OFFICE (OFFICE_CODE)
LINKED INDEX
ORDER BY (EMP_LNAME, EMP_FNAME);
CREATE CONSTRAINT EMP_EXPERTISE
EXPERTISE (EMP_ID) REFERENCES
EMPLOYEE (EMP_ID)
LINKED CLUSTERED
ORDER BY (SKILL_CODE DESC) UNIQUE;
CREATE CONSTRAINT EMP_PROJECT
EMPLOYEE (LDR_EMP_ID) REFERENCES
PROJECT (EMP_ID)
LINKED INDEX;
CREATE CONSTRAINT PROJECT_WORKER
WORKER (PROJECT_CODE) REFERENCES
PROJECT (PROJECT_CODE)
LINKED CLUSTERED;
CREATE CONSTRAINT EMP_WORKER
WORKER (EMP_ID) REFERENCES
EMPLOYEE (EMP_ID)
LINKED INDEX;
CREATE CONSTRAINT COVERAGE_NHC
NON_HOSP_CLAIM (EMP_ID, PLAN_CODE) REFERENCES
COVERAGE (EMP_ID, PLAN_CODE)
LINKED CLUSTERED;
CREATE CONSTRAINT COVERAGE_HC
HOSPITAL_CLAIM (EMP_ID, PLAN_CODE) REFERENCES
COVERAGE (EMP_ID, PLAN_CODE)
LINKED CLUSTERED;
CREATE CONSTRAINT COVERAGE_DC
DENTAL_CLAIM (EMP_ID, PLAN_CODE) REFERENCES
COVERAGE (EMP_ID, PLAN_CODE)
LINKED CLUSTERED;
CREATE CONSTRAINT DCLAIM_PROC
DENTAL_PROCEDURE (DENTAL_CLAIM_ID) REFERENCES
DENTAL_CLAIM (DENTAL_CLAIM_ID)
LINKED CLUSTERED;
CREATE CONSTRAINT NHCLAIM_PROC
NON_HOSP_PROCEDURE (NON_HOSP_CLAIM_ID) REFERENCES
NON_HOSP_CLAIM (NON_HOSP_CLAIM_ID)
LINKED CLUSTERED;
Remove Default Indexes
ALTER TABLE COVERAGE
DROP DEFAULT INDEX;
ALTER TABLE DEPARTMENT
DROP DEFAULT INDEX;
ALTER TABLE EMPLOYEE
DROP DEFAULT INDEX;
ALTER TABLE INSURANCE_PLAN
DROP DEFAULT INDEX;
ALTER TABLE EMPOSITION
DROP DEFAULT INDEX;
ALTER TABLE EXPERTISE
DROP DEFAULT INDEX;
ALTER TABLE SALARY_GRADE
DROP DEFAULT INDEX;
ALTER TABLE PROJECT
DROP DEFAULT INDEX;
ALTER TABLE WORKER
DROP DEFAULT INDEX;
ALTER TABLE PHONE
DROP DEFAULT INDEX;
ALTER TABLE DENTAL_PROCEDURE
DROP DEFAULT INDEX;
ALTER TABLE NON_HOSP_PROCEDURE
DROP DEFAULT INDEX;
ALTER TABLE OFFICE
DROP DEFAULT INDEX;
ALTER TABLE SKILL
DROP DEFAULT INDEX;
ALTER TABLE DENTAL_CLAIM
DROP DEFAULT INDEX;
ALTER TABLE HOSPITAL_CLAIM
DROP DEFAULT INDEX;
ALTER TABLE NON_HOSP_CLAIM
DROP DEFAULT INDEX;
|
Copyright © 2014 CA.
All rights reserved.
|
|