我正在查看这个数据库模型,并且我对某些表中的"PF“感到困惑。我的理解是PF是一个“主键/外键”,也可以是一个组合键。我理解多对多关系的这种情况,但是Menu_Courses表之类的情况又如何呢?主键显然是一个类型为int的自动递增的列,但是menu_id字段呢?如何在SQL Server等数据库中实现这一点?
作者还在此页面上解释了PF字段:http://www.databaseanswers.org/tutorial4_db_schema/tutorial_slide_5.htm

发布于 2013-01-01 04:17:07
我的理解是,这些字段是定义它们的表上的主键,同时它们也是其他表的外键。
menu_courses通过menu_id引用suggested_menus,并与course_number结合构成主键-即每个菜单/课程编号组合都是唯一的,并且唯一地标识表中的一行。
您通常会将其实现为suggested_menus表上的外键字段。
发布于 2013-01-01 04:17:45
我认为这只是意味着它是表中复合主键的一部分,但同时也是一个外键。在menu_courses中,menu_id引用表,并且是表主键的一部分。
发布于 2013-01-01 04:20:47
PF表示该列既是主键又是外键。作为主键,它是构成主键的多列中的一列。这就是引用组合键的地方。
例如,在表Recipe_Steps中,recipe_id是Recipe表的外键。并且,它与Step_Number一起构成Recipe表中的主键。
https://stackoverflow.com/questions/14105689
复制相似问题