医生预约时间段的数据库设计可以如下:
医生表:存储医生信息CREATE TABLE doctors (时间段表:存储每个医生的可预约时间段
id INT PRIMARY KEY,
name VARCHAR(50),
...
)
CREATE TABLE timeslots (预约表:存储每个病人的预约信息
id INT PRIMARY KEY,
doctor_id INT,
start_time DATETIME,
end_time DATETIME,
FOREIGN KEY (doctor_id) REFERENCES doctors(id)
)
CREATE TABLE appointments (
id INT PRIMARY KEY,
patient_name VARCHAR(50),
doctor_id INT,
timeslot_id INT,
appointment_date DATE,
FOREIGN KEY (doctor_id) REFERENCES doctors(id),
FOREIGN KEY (timeslot_id) REFERENCES timeslots(id)
)
病人可以选择医生和时间段进行预约,被预约的时间段不可以重复预约。
这个数据库设计将医生、时间段和预约信息进行关联,可以有效地管理医生预约时间段和预约信息。预约时间段被预约后,应将其在 timeslots 表中标记为已预约,避免重复预约。网友回复