健康诊所预约系统

一、项目简介及实体模型

项目简介

健康诊所预约系统旨在为患者提供方便快捷的预约服务,同时帮助诊所管理医生的日程安排。系统功能包括但不限于患者注册、预约创建、医生日程管理等。

实体模型
  • 患者(Patients): 包括患者ID、姓名、年龄、性别、联系电话、电子邮箱等。
  • 医生(Doctors): 包括医生ID、姓名、专业、联系电话、电子邮箱、工作时间等。
  • 预约(Appointments): 包括预约ID、患者ID、医生ID、预约时间、预约状态等。

二、ER-模型

创建ER图,展示患者、医生和预约之间的关系。患者和医生通过预约形成多对多的关系,即每位患者可以预约多位医生,每位医生也可以被多名患者预约。

三、将ER-模型转换为关系模型,并进行规范化

关系模型
  • Patients: PatientID (PK), Name, Age, Gender, PhoneNumber, Email
  • Doctors: DoctorID (PK), Name, Specialty, PhoneNumber, Email, WorkingHours
  • Appointments: AppointmentID (PK), PatientID (FK), DoctorID (FK), AppointmentTime, Status
规范化

确保所有表都达到第三范式(3NF):

  • 消除重复组。
  • 确保每张表只描述一个概念。
  • 确保每列都是原子的,不能进一步分解。

四、基于MYSQL进行物理设计

数据库创建

CREATE DATABASE HealthClinic; USE HealthClinic;

表创建

CREATE TABLE Patients ( PatientID INT AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(255) NOT NULL, Age INT, Gender ENUM('Male', 'Female', 'Other'), PhoneNumber VARCHAR(15), Email VARCHAR(255) ); CREATE TABLE Doctors ( DoctorID INT AUTO_INCREMENT PRIMARY KEY, Name VARCHAR(255) NOT NULL, Specialty VARCHAR(255), PhoneNumber VARCHAR(15), Email VARCHAR(255), WorkingHours TIME ); CREATE TABLE Appointments ( AppointmentID INT AUTO_INCREMENT PRIMARY KEY, PatientID INT, DoctorID INT, AppointmentTime DATETIME, Status ENUM('Scheduled', 'Confirmed', 'Cancelled', 'Completed'), FOREIGN KEY (PatientID) REFERENCES Patients(PatientID), FOREIGN KEY (DoctorID) REFERENCES Doctors(DoctorID) );

五、主要实现代码

插入数据

INSERT INTO Patients (Name, Age, Gender, PhoneNumber, Email) VALUES ('John Doe', 30, 'Male', '+1234567890', 'john.doe@example.com'); INSERT INTO Doctors (Name, Specialty, PhoneNumber, Email, WorkingHours) VALUES ('Jane Smith', 'General Practice', '+0987654321', 'jane.smith@example.com', '09:00:00');

更新数据

UPDATE Patients SET Age = 31 WHERE PatientID = 1;

删除数据

DELETE FROM Patients WHERE PatientID = 1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值