feat: 设计数据库结构

This commit is contained in:
chihaya 2025-05-26 11:47:32 +08:00
parent 3c832ba344
commit e471ad6101

123
sql/init_database.sql Normal file
View File

@ -0,0 +1,123 @@
CREATE DATABASE IF NOT EXISTS medical_system CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE medical_system;
CREATE TABLE departments (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
description TEXT,
phone VARCHAR(20),
location VARCHAR(200),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE doctors (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
gender ENUM('', '') NOT NULL,
phone VARCHAR(20),
email VARCHAR(100),
specialty VARCHAR(100),
department_id INT,
license_number VARCHAR(50) UNIQUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (department_id) REFERENCES departments(id)
);
CREATE TABLE patients (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
gender ENUM('', '') NOT NULL,
birth_date DATE,
phone VARCHAR(20),
id_card VARCHAR(18) UNIQUE,
address TEXT,
emergency_contact VARCHAR(100),
emergency_phone VARCHAR(20),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE medications (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(200) NOT NULL,
specification VARCHAR(100),
unit VARCHAR(20),
manufacturer VARCHAR(200),
price DECIMAL(10,2),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE diagnoses (
id INT AUTO_INCREMENT PRIMARY KEY,
code VARCHAR(20) NOT NULL UNIQUE,
name VARCHAR(200) NOT NULL,
category VARCHAR(50) NOT NULL,
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
CREATE TABLE medical_records (
id INT AUTO_INCREMENT PRIMARY KEY,
patient_id INT NOT NULL,
doctor_id INT NOT NULL,
department_id INT NOT NULL,
visit_date DATETIME DEFAULT CURRENT_TIMESTAMP,
chief_complaint TEXT,
present_illness TEXT,
physical_examination TEXT,
diagnosis TEXT,
treatment_plan TEXT,
prescription TEXT,
notes TEXT,
status ENUM('待诊', '就诊中', '已完成') DEFAULT '待诊',
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (patient_id) REFERENCES patients(id),
FOREIGN KEY (doctor_id) REFERENCES doctors(id),
FOREIGN KEY (department_id) REFERENCES departments(id)
);
CREATE TABLE prescriptions (
id INT AUTO_INCREMENT PRIMARY KEY,
record_id INT NOT NULL,
medication_id INT NOT NULL,
dosage VARCHAR(100),
frequency VARCHAR(100),
duration VARCHAR(100),
instructions TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (record_id) REFERENCES medical_records(id),
FOREIGN KEY (medication_id) REFERENCES medications(id)
);
INSERT INTO departments (name, description, phone, location) VALUES
('内科', '内科疾病诊治', '010-12345678', '1楼101室'),
('外科', '外科手术治疗', '010-12345679', '2楼201室'),
('儿科', '儿童疾病专科', '010-12345680', '3楼301室'),
('妇科', '妇科疾病诊治', '010-12345681', '4楼401室'),
('急诊科', '急诊抢救治疗', '010-12345682', '1楼急诊大厅');
INSERT INTO doctors (name, gender, phone, email, specialty, department_id, license_number) VALUES
('张医生', '', '13800138001', 'zhang@hospital.com', '心血管内科', 1, 'DOC001'),
('李医生', '', '13800138002', 'li@hospital.com', '普通外科', 2, 'DOC002'),
('王医生', '', '13800138003', 'wang@hospital.com', '儿科急症', 3, 'DOC003'),
('赵医生', '', '13800138004', 'zhao@hospital.com', '妇科肿瘤', 4, 'DOC004'),
('刘医生', '', '13800138005', 'liu@hospital.com', '急诊医学', 5, 'DOC005');
INSERT INTO medications (name, specification, unit, manufacturer, price) VALUES
('阿莫西林胶囊', '0.25g*24粒', '', '华北制药', 15.80),
('布洛芬缓释胶囊', '0.3g*20粒', '', '中美天津史克', 28.50),
('甲硝唑片', '0.2g*100片', '', '石药集团', 12.30),
('头孢克肟胶囊', '0.1g*12粒', '', '齐鲁制药', 45.60),
('复方甘草片', '50片', '', '太极集团', 8.90);
INSERT INTO diagnoses (code, name, category, description) VALUES
('J00.9', '急性鼻咽炎(感冒)', '内科', '上呼吸道病毒感染,常见症状包括鼻塞、流涕、咽痛等'),
('K59.1', '功能性便秘', '内科', '排便困难或排便次数减少,无器质性病变'),
('I10', '原发性高血压', '内科', '血压持续升高收缩压≥140mmHg或舒张压≥90mmHg'),
('K35.9', '急性阑尾炎', '外科', '阑尾急性炎症,常需要手术治疗'),
('S72.0', '股骨颈骨折', '外科', '髋部外伤常见类型,多发生于老年人'),
('N92.0', '月经过多', '妇科', '月经量明显增多或经期延长'),
('A09', '感染性腹泻', '儿科', '多种病原体引起的腹泻,常见于婴幼儿'),
('J06.9', '急性上呼吸道感染', '儿科', '儿童常见疾病,包括咽炎、喉炎等'),
('H10.9', '结膜炎', '眼科', '结膜充血、分泌物增多'),
('L30.9', '皮炎', '皮肤科', '皮肤炎性反应,表现为红斑、瘙痒等');