mysql - 如何处理此模型的可选字段?

标签 mysql database-design

我正在开发一个小型数据库,其中包含教职员工、教师和学生的信息。因为我只存储像 namelastnamegenderid 和他们的 role 这样的信息code> 在系统上,我决定使用一个包含这些字段的 Person 表。

但这就是我遇到麻烦的地方,学生可以获得过敏血型等信息。此类信息仅适用于Student 角色,所以我显然不愿意在 Person

中制作这些列

我也不确定使用表 Medical_Record 是否是合适的解决方案。我希望有人能给我一些指示来解决这个问题。

这是我的初步设计:

enter image description here

最佳答案

创建另一个表适合这种情况,尽管您可能希望将用户(学生)ID 作为列包含在 MedicalRecord 表中。然后在 MedicalRecord 中的用户 ID 与 Person 之间创建关系,这有助于缩短处理查询以获取 MedicalRecord< 中的一行数据的时间 与用户 ID。

关于mysql - 如何处理此模型的可选字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35214445/

相关文章:

mysql - Distinct 在 Crystal 报表和 mysql 中不起作用

mysql - 多列的主键?

database-design - Bigtable数据库设计理论

mysql - 请确认我使用的主键和唯一索引

mysql - 使用 where 子句选择 X,不使用 where 子句选择 Y

mysql - 如何将查询结果插入到mysql的表中?

c++ - 多次调用存储过程时出现 mySQL C++ 连接器 "Commands out of sync"

mysql - 后续: how to model discount on items in a database?

sql - 在用户表中存储区域/城市数据

sql-server-2005 - SQL Server 2005 : natural sort order for 2-columns tables with unique constraint