我正在尝试创建一个医生和患者之间预约的小型系统。这是我的数据库(直到现在)。我有两个问题: 1)当用户登录到应用程序时,我如何定义他是管理员,病人还是医生? 2)主要问题...我希望医生在登录时设置他的月度时间表(他自由的日子和时间)以及病人登录时寻找医生,查看他的时间表并制作一个预约。我不能想到如何实施医生的这个“每月时间表”。也许这将是一张桌子,像专业表一样与医生桌子上的外键相关联?但是,我怎样才能制定一个时间表?月度日程安排和约会的数据库
如果您在我的数据库中发现任何错误,请立即告诉我。 在此先感谢。
CREATE TABLE `user` (
`user_id` int(4) NOT NULL AUTO_INCREMENT,
`username` varchar(25) DEFAULT NULL,
`password` varchar(25) DEFAULT NULL,
`firstname` varchar(20) DEFAULT NULL,
`lastname` varchar(20) DEFAULT NULL,
PRIMARY KEY (`user_id`)
)
CREATE TABLE `admin` (
`user_id` int(4) NOT NULL,
PRIMARY KEY (`user_id`),
FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`)
)
CREATE TABLE `patient` (
`user_id` int(4) NOT NULL,
`sin` int(4) DEFAULT NULL, //social insurance number
PRIMARY KEY (`user_id`),
FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`)
)
CREATE TABLE `speciality` (
`speciality_id` int(4) NOT NULL AUTO_INCREMENT,
`speciality_name` varchar(25) DEFAULT NULL,
PRIMARY KEY (`speciality_id`)
)
CREATE TABLE `doctor` (
`user_id` int(4) NOT NULL,
`speciality_id` int(4) NOT NULL,
PRIMARY KEY(`user_id`),
FOREIGN KEY (`user_id`) REFERENCES `user` (`user_id`),
FOREIGN KEY (`speciality_id`) REFERENCES `speciality` (`speciality_id`)
)
CREATE TABLE `appointment` (
`doctor_id` int(11) NOT NULL,
`patient_id` int(11) NOT NULL,
PRIMARY KEY (`doctor_id`,`patient_id`),
FOREIGN KEY (`doctor_id`) REFERENCES `doctor` (`user_id`),
FOREIGN KEY (`patient_id`) REFERENCES `patient` (`user_id`)
)
好的谢谢,现在我明白了... ...我的第一个问题呢? :) –
@GiannisSavvidis我修改了我的答案。 –