Files
G4G0-1/Semester 1/Database Systems/Assignment/Creating Tables.md
2024-01-16 13:48:46 +00:00

1.9 KiB

  1. 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
);
  1. 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)
);
  1. 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) 
);
  1. 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
);
  1. 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
);
  1. 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 )
);