You are on page 1of 3

CREATE DATABASE hospital_system;

USE hospital_system;

CREATE TABLE patients (

id_card_no BIGINT PRIMARY KEY,

health_ins_no BIGINT NOT NULL

);

CREATE TABLE outpatients (

id_card_no BIGINT PRIMARY KEY,

reexam_time DATE,

prescription VARCHAR(255) NOT NULL,

nutrition VARCHAR(255),

FOREIGN KEY (id_card_no) REFERENCES patients(id_card_no)

);

CREATE TABLE inpatients (

id_card_no BIGINT PRIMARY KEY,

next_reexam_time DATE,

FOREIGN KEY (id_card_no) REFERENCES patients(id_card_no)

);

CREATE TABLE medical_record (

p_id BIGINT PRIMARY KEY,

bed_no INT NOT NULL,

room_no INT NOT NULL,

hospitalized_diagnosed_disease VARCHAR(255) NOT NULL,

hospitalized_time DATE NOT NULL,

hospitalized_status VARCHAR(255) NOT NULL,

FOREIGN KEY (p_id) REFERENCES inpatients(id_card_no)

);

CREATE TABLE discharge_info (

p_id BIGINT PRIMARY KEY,

medicine_type VARCHAR(100) NOT NULL,

med_usage VARCHAR(255) NOT NULL,

med_useage_time VARCHAR(255) NOT NULL,

notes VARCHAR(255),

status VARCHAR(255) NOT NULL,

time DATE NOT NULL,

nutrition VARCHAR(255),

diagnosed_disease VARCHAR(255) NOT NULL,

FOREIGN KEY (p_id) REFERENCES medical_record(p_id)

);

CREATE TABLE doctors (

id_no INT PRIMARY KEY AUTO_INCREMENT,

f_name VARCHAR(20) NOT NULL,

l_name VARCHAR(20) NOT NULL,

shift INT UNSIGNED NOT NULL,

dname VARCHAR(100) NOT NULL

);

CREATE TABLE diagnose (

d_id INT AUTO_INCREMENT,

p_id BIGINT,

PRIMARY KEY (d_id,p_id),

disease VARCHAR(255) NOT NULL,

FOREIGN KEY (d_id) REFERENCES doctors(id_no),

FOREIGN KEY (p_id) REFERENCES patients(id_card_no)

);

CREATE TABLE takingcare_sta s (

id_no INT PRIMARY KEY AUTO_INCREMENT,

f_name VARCHAR(20) NOT NULL,

l_name VARCHAR(20) NOT NULL,

d_id INT NOT NULL,

p_id BIGINT NOT NULL,

shift INT UNSIGNED NOT NULL,

FOREIGN KEY (d_id) REFERENCES doctors(id_no),

FOREIGN KEY (p_id) REFERENCES outpatients(id_card_no)

);

CREATE TABLE nurses (

id_no INT PRIMARY KEY AUTO_INCREMENT,

f_name VARCHAR(20) NOT NULL,

l_name VARCHAR(20) NOT NULL,

d_id INT NOT NULL,

p_id BIGINT NOT NULL,

shift INT UNSIGNED NOT NULL,

FOREIGN KEY (d_id) REFERENCES doctors(id_no),

FOREIGN KEY (p_id) REFERENCES outpatients(id_card_no)

);

CREATE TABLE testing_doctors (

id_no INT PRIMARY KEY AUTO_INCREMENT,

f_name VARCHAR(20) NOT NULL,

l_name VARCHAR(20) NOT NULL

);

CREATE TABLE assign_testing (

assign_d_id INT,

testing_d_id INT,

PRIMARY KEY (assign_d_id,testing_d_id),

FOREIGN KEY (assign_d_id) REFERENCES doctors(id_no),

FOREIGN KEY (testing_d_id) REFERENCES testing_doctors(id_no)

);

CREATE TABLE test (

p_id BIGINT,

d_id INT,

result VARCHAR(255) NOT NULL,

idx ENUM('Normal','Abnormal') NOT NULL,

PRIMARY KEY (d_id,p_id),

FOREIGN KEY (d_id) REFERENCES testing_doctors(id_no),

FOREIGN KEY (p_id) REFERENCES patients(id_card_no)

);

CREATE TABLE xray_doctors (

id_no INT PRIMARY KEY AUTO_INCREMENT,

f_name VARCHAR(20) NOT NULL,

l_name VARCHAR(20) NOT NULL

);

CREATE TABLE assign_xray (

assign_d_id INT,

xray_d_id INT,

PRIMARY KEY (assign_d_id,xray_d_id),

FOREIGN KEY (assign_d_id) REFERENCES doctors(id_no),

FOREIGN KEY (xray_d_id) REFERENCES xray_doctors(id_no)

ff
);

CREATE TABLE take_xray (

p_id BIGINT,

d_id INT,

result VARCHAR(255),

PRIMARY KEY (d_id,p_id),

FOREIGN KEY (d_id) REFERENCES xray_doctors(id_no),

FOREIGN KEY (p_id) REFERENCES patients(id_card_no)

);

You might also like