维护数据库中的表之间共享字段的最佳方式是什么?
问题描述:
我想为学校管理系统创建一个数据库。该数据库有两个表包含共享领域,如学生和教师。 例如,学生表具有字段(ID,姓名,电话,班级),而教师表格具有字段(ID,姓名,电话,部门)。维护数据库中的表之间共享字段的最佳方式是什么?
是更好地做:一台称为人具有字段(ID,姓名,电话),学生表有字段(ID,为person_id,类),以及教师表有字段(ID,为person_id,部门)。
的两种方法哪个好?
答
直接回答这个问题可能是基于意见的。设计数据库通常没有最好的策略。
理论例如:如果你可能要考虑一下性能数据量大的:什么以及如何搜索和连接。
如果您主要搜索Students
和Teachers
您可能不会创建Person
表,您可以轻松搜索它们。然后,如果你想搜索从DB你需要做两个查询所有Person
S和那些之间与两者共同类型的Person
字段UNION
。
如果您还搜索Person
S比频繁,那么你可能创建Person
表和实施Teacher
和Student
有外键Person
。然后,当搜索最后提到的两个时,您需要将JOIN
设置为Person
。
在现实生活中,我不知道,如果在这种情况下使用真的是有很大的区别。更重要的是你选择了一些策略,并在未来的决策中遵循它来保持清晰。
但是有可能出现情况,即需要还是改变选择的策略。所以在理论上。
相关问题here