1.9 KiB
1.9 KiB
- hospital Table
Attributes:
hospital_id
(Primary Key)hospital_name
city
postcode
(Unique)
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
Attributes:
unit_id
(Primary Key)hospital_id
(Foreign Key referencing Hospital)specialisation
CREATE TABLE transplant_unit (
unit_id CHAR(4) CONSTRAINT uID_pk PRIMARY KEY,
hospital_id CHAR(3) CONSTRAINT hID_fk FOREIGN KEY REFERENCES hospital( hospital_id ),
specialisation VARCHAR(20)
);
- organ Table:
Attributes:
organ_id
(Primary Key)organ_type
CREATE TABLE organ (
organ_id CHAR(3) CONSTRAINT oID_pk PRIMARY KEY,
organ_type VARCHAR(15)
);
- patient Table:
Attributes:
patient_id
(Primary Key)patient_name
age
CREATE TABLE patient (
patient_id CHAR(3) CONSTRAINT pID_pk PRIMARY KEY,
patient_name VARCHAR(10),
age INTEGER
);
- donor Table:
Attributes:
donor_id
(Primary Key)donor_name
age
CREATE TABLE donor (
donor_id CHAR(3) CONSTRAINT dID_pk PRIMARY KEY,
donor_name VARCHAR(10),
age INTEGER
);
- operation Table
Attributes:
operation_id
(Primary Key)unit_id
(Foreign Key referencing TransplantUnit)organ_id
(Foreign Key referencing Organ)patient_id
(Foreign Key referencing Patient)donor_id
(Foreign Key referencing Donor)
CREATE TABLE operation (
operation_id CHAR(3),
organ_id CHAR(3) CONSTRAINT oID_fk FOREIGN KEY REFERENCES organ( organ_id ),
unit_id CHAR(4) CONSTRAINT uID_fk FOREIGN KEY REFERENCES transplant_unit( unit_id ),
patient_id CHAR(3) CONSTRAINT pID_fk FOREIGN KEY REFERENCES patient( patient_id ),
donor_id CHAR(3) CONSTRAINT dID_fk FOREIGN KEY REFERENCES donor( donor_id ),
CONSTRAINT comp_op_key PRIMARY KEY ( operation_id, organ_id )
);