1.4 KiB
1.4 KiB
- Hospital Table
CREATE TABLE hospital (
hospital_id CHAR(3) CONSTRAINT hID_pk PRIMARY KEY,
hospital_name VARCHAR(30),
city VARCHAR(15),
postcode VARCHAR(8) CONSTRAINT postcode_unique UNIQUE
);
- Transplant_Unit Table
CREATE TABLE transplant_unit (
unit_id CHAR(4) CONSTRAINT uID_pk PRIMARY KEY,
hospital_id CHAR(3),
specialisation VARCHAR(20),
CONSTRAINT hID_fk FOREIGN KEY ( hospital_id ) REFERENCES hospital( hospital_id )
);
- Organ Table:
CREATE TABLE organ (
organ_id CHAR(3) CONSTRAINT oID_pk PRIMARY KEY,
organ_type VARCHAR(15)
);
- Patient Table:
CREATE TABLE patient (
patient_id CHAR(3) CONSTRAINT pID_pk PRIMARY KEY,
patient_name VARCHAR(10),
age INTEGER
);
- Donor Table:
CREATE TABLE donor (
donor_id CHAR(3) CONSTRAINT dID_pk PRIMARY KEY,
donor_name VARCHAR(10),
age INTEGER
);
- Operation Table
CREATE TABLE operation (
operation_id CHAR(3),
organ_id CHAR(3),
unit_id CHAR(4),
patient_id CHAR(3),
donor_id CHAR(3),
CONSTRAINT comp_op_key PRIMARY KEY ( operation_id, organ_id ),
CONSTRAINT oID_fk FOREIGN KEY ( organ_id ) REFERENCES organ( organ_id ),
CONSTRAINT uID_fk FOREIGN KEY ( unit_id ) REFERENCES transplant_unit( unit_id ),
CONSTRAINT pID_fk FOREIGN KEY ( patient_id ) REFERENCES patient( patient_id ),
CONSTRAINT dID_fk FOREIGN KEY ( donor_id ) REFERENCES donor( donor_id )
);