数据库SQL语句实现一个医院管理数据库要求提供下述服务: (1)可随时查询医院中所有科室的信息,包括科室名称、地址和值班电话。所有科室均由科室名称唯一标识。 (2)可随时查询所有医生的信息,包括其姓名、年龄、职称、所属科室以及在科室入职时间。 (3)一个科室有多个医生,一个医生只能在一个科室工作,工作证号具有唯一性。 (4)可随时查询每个医生收治的病人信息,包括病历号、姓名、床位号、主管医生、诊断。一个医生可以负责多个病人,一个病人的主管医生只有一个。
时间: 2024-02-10 11:10:29 浏览: 46
可以使用以下SQL语句来创建医院管理数据库:
```
-- 创建科室表
CREATE TABLE department (
department_name VARCHAR(50) PRIMARY KEY, -- 科室名称
address VARCHAR(100), -- 地址
duty_phone VARCHAR(20) -- 值班电话
);
-- 创建医生表
CREATE TABLE doctor (
doctor_id INT PRIMARY KEY AUTO_INCREMENT, -- 医生工作证号
name VARCHAR(50), -- 姓名
age INT, -- 年龄
title VARCHAR(50), -- 职称
department_name VARCHAR(50), -- 所属科室
hire_date DATE, -- 入职时间
FOREIGN KEY (department_name) REFERENCES department(department_name) -- 外键关联科室表
);
-- 创建病人表
CREATE TABLE patient (
patient_id INT PRIMARY KEY AUTO_INCREMENT, -- 病历号
name VARCHAR(50), -- 姓名
bed_number INT, -- 床位号
attending_doctor INT, -- 主管医生
diagnosis VARCHAR(100), -- 诊断
FOREIGN KEY (attending_doctor) REFERENCES doctor(doctor_id) -- 外键关联医生表
);
-- 创建医生和病人的关联表
CREATE TABLE doctor_patient (
doctor_id INT, -- 医生工作证号
patient_id INT, -- 病历号
PRIMARY KEY (doctor_id, patient_id),
FOREIGN KEY (doctor_id) REFERENCES doctor(doctor_id), -- 外键关联医生表
FOREIGN KEY (patient_id) REFERENCES patient(patient_id) -- 外键关联病人表
);
```
通过以上SQL语句,我们分别创建了科室表、医生表、病人表和医生和病人的关联表,来满足医院管理数据库的需求。你可以根据需要进行查询、插入、修改和删除等操作。