维护数据库中的表之间共享字段的最佳方式是什么?

维护数据库中的表之间共享字段的最佳方式是什么?

问题描述:

我想为学校管理系统创建一个数据库。该数据库有两个表包含共享领域,如学生教师。 例如,学生表具有字段(ID,姓名,电话,班级),而教师表格具有字段(ID,姓名,电话,部门)。维护数据库中的表之间共享字段的最佳方式是什么?

是更好地做:一台称为具有字段(ID,姓名,电话),学生表有字段(ID,为person_id,类),以及教师表有字段(ID,为person_id,部门)。

的两种方法哪个好?

直接回答这个问题可能是基于意见的。设计数据库通常没有最好的策略。

理论例如:如果你可能要考虑一下性能数据量大的:什么以及如何搜索和连接。

如果您主要搜索StudentsTeachers您可能不会创建Person表,您可以轻松搜索它们。然后,如果你想搜索从DB你需要做两个查询所有Person S和那些之间与两者共同类型的Person字段UNION

如果您还搜索Person S比频繁,那么你可能创建Person表和实施TeacherStudent有外键Person。然后,当搜索最后提到的两个时,您需要将JOIN设置为Person

在现实生活中,我不知道,如果在这种情况下使用真的是有很大的区别。更重要的是你选择了一些策略,并在未来的决策中遵循它来保持清晰。

但是有可能出现情况,即需要还是改变选择的策略。所以在理论上。

相关问题here