Sie sind auf Seite 1von 8

Running head: WK3PROJP1HALLA

Week 3 Group Project Assignment: Entity Creation


Aaron Hall
Group A1
Walden University

WK3PROJP1HALLA

The SQL commands used to create the entities for Health Firsts database are listed
below. I compiled the SQL into a script and ran it from the command prompt for my database
system. The screenshot after the commands shows the list of tables and column names to verify
that they were created by the script. When using the command prompt in Oracle, you cannot
assign a foreign key to a table before the referenced table has been created; therefore, I used an
ALTER TABLE command to assign the REC_ID from the RECORD table as a foreign key to the
PATIENT table once all others were created. Creating the patient table first without the foreign
key was important due to the high number of references to the PAT_ID as a foreign key. In order
to verify entity and attribute creation, I have added screenshots after the SQL blocks of the
information returned using the command DESCRIBE tablename; (semi-colon is optional).
CREATE TABLE PATIENT (
PAT_ID
VARCHAR2(12) PRIMARY KEY
NOT NULL,
PAT_SOCIAL VARCHAR2(11)
NOT NULL,
PAT_FNAME VARCHAR2(20),
PAT_LNAME VARCHAR2(20),
PAT_INITIAL
VARCHAR2(1),
PAT_ADDRESS
VARCHAR2(100)
NOT NULL,
PAT_DOB
DATE NOT NULL,
PAT_GENDER VARCHAR2(1)
NOT NULL);
Note: this is the final version after the ALTER TABLE command:

CREATE TABLE PAYER (


PAYER_ID
VARCHAR2(10)PRIMARY KEY NOT NULL,
PAYER_NAME VARCHAR2(20),
PAYER_ADDRESS
VARCHAR2(50)
NOT NULL,
PAYER_CITY VARCHAR2(20)
NOT NULL,
PAYER_ZIP VARCHAR2(10)
NOT NULL);

WK3PROJP1HALLA

CREATE TABLE HISTORY (


HIST_REC_ID NUMBER(6) PRIMARY KEY NOT NULL,
HIST_TYPE VARCHAR2(50)
NOT NULL,
HIST_DESCRIPTION VARCHAR2(100),
PAT_ID
VARCHAR2(12),
CONSTRAINT HIST_FK_PAT_ID
FOREIGN KEY(PAT_ID)
REFERENCES PATIENT(PAT_ID));

CREATE TABLE VITALS (


VITAL_REC_ID
NUMBER(6)PRIMARY KEY NOT NULL,
VITAL_DATE DATE DEFAULT SYSDATE NOT NULL,
VITAL_TIME NUMBER(4),
VITAL_BPI CHAR(6),
VITAL_HEARTRATE NUMBER(3),
VITAL_TEMPERATURE NUMBER(2,1),
VITAL_HEIGHT
NUMBER(2),
VITAL_WEIGHT
NUMBER(3),
VITAL_BMI NUMBER(2,1),
VITAL_RESRATE
NUMBER(2),
VITAL_PAINLVL
NUMBER(1),
PAT_ID
VARCHAR2(12),
CONSTRAINT VIT_PAT_ID_FK
FOREIGN KEY(PAT_ID)
REFERENCES PATIENT(PAT_ID));

WK3PROJP1HALLA

CREATE TABLE LAB (


LAB_REC_ID NUMBER(6) PRIMARY KEY NOT NULL,
LAB_DESCRIPTION VARCHAR2(20)
NOT NULL,
LAB_RESULT VARCHAR2(20)
NOT NULL,
LAB_DATE
DATE NOT NULL,
LAB_TIME
NUMBER(4),
PAT_ID
VARCHAR2(12),
CONSTRAINT LAB_PAT_ID_FK
FOREIGN KEY(PAT_ID)
REFERENCES PATIENT(PAT_ID));

CREATE TABLE MEDICATION (


MEDI_REC_ID
NUMBER(6)PRIMARY KEY NOT NULL,
MEDI_NAME VARCHAR2(20)
NOT NULL,
MEDI_DATE DATE
NOT NULL,
MEDI_TIME NUMBER(4)
NOT NULL,
MEDI_FORMULARY VARCHAR2(30)
NOT NULL,
PAT_ID
VARCHAR2(12),
CONSTRAINT MED_PAT_ID_FK
FOREIGN KEY(PAT_ID)
REFERENCES PATIENT(PAT_ID));

WK3PROJP1HALLA

CREATE TABLE JOB (


JOB_CODE
CHAR(3) PRIMARY KEY NOT NULL,
JOB_DESCRIPTION VARCHAR2(30),
JOB_PAYRATE
NUMBER(3,2) NOT NULL);

CREATE TABLE EMPLOYEE (


EMP_ID
NUMBER(9) PRIMARY KEY NOT NULL,
EMP_FNAME VARCHAR2(20),
EMP_LNAME VARCHAR2(20)
NOT NULL,
EMP_INITIAL
CHAR(2),
EMP_PIN
VARCHAR2(10)
UNIQUE NOT NULL,
JOB_CODE
CHAR(3),
CONSTRAINT EMP_JOB_CODE_FK
FOREIGN KEY(JOB_CODE)
REFERENCES JOB(JOB_CODE));

CREATE TABLE ROOM (


ROOM_NUMBER
VARCHAR2(5) PRIMARY KEY NOT NULL,
ROOM_DESCRIPTION VARCHAR2(50)
NOT NULL);

WK3PROJP1HALLA

CREATE TABLE DEPARTMENT (


DEPT_ID
NUMBER(2) PRIMARY KEY NOT NULL,
DEPT_DESCRIPTION VARCHAR2(30)
NOT NULL);

CREATE TABLE ASSIGNMENT (


ASSGN_ID
NUMBER(6) PRIMARY KEY NOT NULL,
ASSGN_DATE DATE DEFAULT SYSDATE NOT NULL,
ASSGN_TIME INTERVAL DAY(0) TO SECOND(2) NOT NULL,
ROOM_NUMBER VARCHAR2(5),
CONSTRAINT ASGN_RM_NO_FK
FOREIGN KEY(ROOM_NUMBER)
REFERENCES ROOM(ROOM_NUMBER),
DEPT_ID NUMBER(2),
CONSTRAINT ASGN_DEPT_FK
FOREIGN KEY(DEPT_ID)
REFERENCES DEPARTMENT(DEPT_ID));

CREATE TABLE SERVICES (


SERV_ID
NUMBER(6) PRIMARY KEY NOT NULL,
SERV_DATE DATE
NOT NULL,
SERV_TIME INTERVAL DAY(0) TO SECOND(2)
NOT NULL,
SERV_DESCRIPTION VARCHAR2(30),
SERV_DIAGNOSIS NUMBER(3,2) NOT NULL,
SERV_DIAG_DETAIL VARCHAR2(1000) NOT NULL,
SERV_FEE
NUMBER(4,2) NOT NULL,
ASSGN_ID
NUMBER(6),
CONSTRAINT SERV_ASGN_FK
FOREIGN KEY(ASSGN_ID)
REFERENCES ASSIGNMENT(ASSGN_ID),
PAT_ID
VARCHAR2(12),
CONSTRAINT SERV_PAT_ID_FK
FOREIGN KEY(PAT_ID)
REFERENCES PATIENT(PAT_ID));

WK3PROJP1HALLA

CREATE TABLE CLAIM (


CLAIM_ID
NUMBER(6) NOT NULL UNIQUE,
CLAIM_FEE_COPAY NUMBER(3,2),
CLAIM_FEE NUMBER(4,2) NOT NULL,
PAYER_ID
VARCHAR2(10),
CONSTRAINT CLM_PAY_ID_FK
FOREIGN KEY(PAYER_ID)
REFERENCES PAYER(PAYER_ID),
SERV_ID NUMBER(6),
CONSTRAINT CLM_SRV_ID_FK
FOREIGN KEY(SERV_ID)
REFERENCES SERVICES(SERV_ID),
PAT_ID VARCHAR2(12),
CONSTRAINT CLM_PAT_ID_FK
FOREIGN KEY(PAT_ID)
REFERENCES PATIENT(PAT_ID),
PRIMARY KEY(CLAIM_ID, SERV_ID));

(CONTINUES ON NEXT PAGE)

WK3PROJP1HALLA
CREATE TABLE RECORD (
REC_ID
NUMBER(6) PRIMARY KEY NOT NULL,
PAYER_ID
VARCHAR2(10),
CONSTRAINT REC_PAYER_FK
FOREIGN KEY(PAYER_ID)
REFERENCES PAYER(PAYER_ID),
HIST_REC_ID
NUMBER(6),
CONSTRAINT REC_HIST_FK
FOREIGN KEY(HIST_REC_ID)
REFERENCES HISTORY(HIST_REC_ID),
VITAL_REC_ID
NUMBER(6),
CONSTRAINT REC_VITAL_FK
FOREIGN KEY(VITAL_REC_ID)
REFERENCES VITALS(VITAL_REC_ID),
MEDI_REC_ID
NUMBER(6),
CONSTRAINT REC_MEDI_FK
FOREIGN KEY(MEDI_REC_ID)
REFERENCES MEDICATION(MEDI_REC_ID),
LAB_REC_ID NUMBER(6),
CONSTRAINT REC_LAB_FK
FOREIGN KEY(LAB_REC_ID)
REFERENCES LAB(LAB_REC_ID),
SERV_ID
NUMBER(6),
CONSTRAINT REC_SERV_FK
FOREIGN KEY(SERV_ID)
REFERENCES SERVICES(SERV_ID),
CLAIM_ID
NUMBER(6),
CONSTRAINT REC_CLAIMS_FK
FOREIGN KEY(CLAIM_ID)
REFERENCES CLAIM(CLAIM_ID));

ALTER TABLE PATIENT


ADD (REC_ID NUMBER(6),
CONSTRAINT PAT_REC_FK
FOREIGN KEY(REC_ID)
REFERENCES RECORD(REC_ID));

Das könnte Ihnen auch gefallen