求大佬解惑:SQL实例分析

Sqlidiot 2020-10-14 06:59:42
假设有一个诊所X,有不同工种医生若干,病人若干,不同诊室若干。
限制:一个病人每次接受治疗,根据治疗内容,可出现两种状况: 高级医生1名 / 高级医生+初级医生+实习生各一名
每个诊室有三个时间段开放

我目前设计5个表

医生表: 主要是医生信息: emp_id;emp_name;emp_add;emp_email;emp_tel;emp_dept
病人表:主要是病人信息:Pat_ID; Pat_name;Pat_add;Pat_email;Pat_tel;Pat_birthD;Personal_ID
价目表:Treatment_ID; Treatment_Info; Price
治疗表:Pat_ID; emp_id; Room_ID; Treatment_ID;Payment_Status
诊室表:Room_ID;Date; Time

目前我很困惑的是最后两张表。治疗表里没有加时间,如果加了时间,诊室表就没有意义了。诊室表里如果只有诊室的预定时间,那和治疗表无法很好的关联;如果加了其他信息,那治疗表和诊室表也可以合二为一,那样的话,这张表信息太多了。

跪求指点!!
...全文
63 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
RINK_1 2020-10-14
  • 打赏
  • 举报
回复
你诊室表里再加个不体现业务信息的主键,然后治疗表里不记录ROOM_ID,记录诊室表里的主键,可以考虑在治疗表里再加2个字段-实际治疗开始时间和实际治疗结束时间。
Sqlidiot 2020-10-14
  • 打赏
  • 举报
回复
这个不是真实案例,所以设计确实比较简单。 你说的预定时间和真实治疗时间的差别,是指类似前一个病人超时然后导致后一个病人延时吗?
lich2005 2020-10-14
  • 打赏
  • 举报
回复
你这都是理想化的设计了。实际上,依我看两张表都可以加上时间,因为病人的预定时间并不一定是他真实的治疗时间。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧