89 lines
1.9 KiB
Markdown
89 lines
1.9 KiB
Markdown
1. **hospital** Table
|
|
Attributes:
|
|
`hospital_id` (Primary Key)
|
|
`hospital_name`
|
|
`city`
|
|
`postcode` (Unique)
|
|
|
|
```SQL
|
|
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`
|
|
|
|
```SQL
|
|
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`
|
|
|
|
```SQL
|
|
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`
|
|
|
|
```SQL
|
|
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`
|
|
|
|
```SQL
|
|
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)
|
|
|
|
```SQL
|
|
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 )
|
|
);
|
|
```
|