这必须是一个常见的问题,但我找不到好的建议。
如果我有多个角色,每个角色都反映在他们自己的表中,但是我有共同的元素可以被提炼到一个表中,并且...共同的元素可能会改变,我怎样才能找到给定的所有常见元素作用
例如,我可以拥有教育数据库的公共元素的地址表。我可以让教师,学生,供应商,总承包商担任特定角色,每个人都有自己的表(因为他们有特定于他们角色的领域)。我是否在我的单个地址表中包含teacherId,studentId,供应商和generalContractorId,所有四个角色外键?我意识到,如果我只想存储当前地址,那就不需要了,但如果我想要一个给定角色的所有地址,包括个人以前的地址,我需要更多的东西。
即使我在角色和地址之间创建了一个表格,我也不知道如何用主要索引填充它(例如“t”+教师的增量索引,“s”+学生的增量索引等等。)
或者我只是在地址表中有一个角色类型(枚举)概念,“告诉”我这一行是针对给定类型的角色吗?
另外......如果可能的话,我想要一个3NF的解决方案。有人请确认stackoverflow中的其他解决方案是否符合此要求?
对不起使用的语言;新数据库。