这是我遇到的面试问题
给定三张表
的桥梁桌
问题-- GRADHONS应该如何在数据模型中定义,以便数据模型强制执行这样的约束:一个毕业生可能只有一个荣誉科目?
面试官不太喜欢我的建议
在表GRADHONS
我的问题与最初的面试问题相同--您将如何在桥表中定义唯一的-1-1关系,以便由数据模型强制执行?
发布于 2011-03-18 19:48:21
你的建议听起来都是合理的。如果您希望在GRADHONS中有一个单独的列来引用毕业生,那么让GRADHONS有一个外键引用来毕业,并使该列独一无二。因此,任何毕业生都只能在GRADHONS中排一排。
发布于 2011-03-18 20:25:06
最简单的方法是在连接表中的GRADHONS (一个由GraduateID和HonoursID字段组成的主键)上创建一个复合主键,该表由研究生和荣誉FKs组成。
如果要使用LINQ或其他ORM解决方案(如ActiveRecord in RoR ),请注意,它们倾向于不喜欢这些类型的PKeys。在这种情况下,最好在联接表GRADHONS上创建一个PK自动增量,然后在两个FKey字段上创建一个唯一的索引。
https://stackoverflow.com/questions/5357062
复制相似问题