5

このデータベース モデルを見ていますが、いくつかのテーブルの "PF" について混乱しています。私の理解では、PF は「プライマリ/外部キー」であり、複合キーにもなる可能性があります。多対多のリレーションシップの場合はこの状況は理解できますが、Menu_Coursesテーブルなどの状況はどうでしょうか。主キーは明らかに int 型の自動インクリメント列ですが、menu_idフィールドはどうでしょうか? それを SQL Server などのデータベースにどのように実装しますか?

著者は、このページで PF フィールドについても説明しています: http://www.databaseanswers.org/tutorial4_db_schema/tutorial_slide_5.htm

http://www.databaseanswers.org/data_models/recipes/index.htm

4

4 に答える 4

10

私が理解している方法は、これらのフィールドは定義されているテーブルの主キーであると同時に、他のテーブルへの外部キーであるということです。

menu_coursessuggested_menusthroughへの参照を持ち、menu_idwith と組み合わせてcourse_number主キーを作成します。つまり、各メニュー/コース番号の組み合わせは一意であり、テーブルの行を一意に識別します。

通常、これはテーブルの外部キー フィールドとして実装しsuggested_menusます。

于 2012-12-31T20:17:07.137 に答える
2

これは、テーブル内の複合主キーの一部であると同時に外部キーであることを意味していると思います。menu_courses では、Suggested_menus をmenu_id参照しテーブルの主キーの一部です。

于 2012-12-31T20:17:45.180 に答える
1

PFは、列が主キーと外部キーの両方であることを示します。主キーとして、主キーを構成する複数の列の1つです。ここで、複合キーが参照されます。

たとえば、テーブルRecipe_Stepsrecipe_idは、はテーブルへの外部キーRecipeです。また、とともにStep_Number、テーブルの主キーを構成しRecipeます。

于 2012-12-31T20:20:46.593 に答える
0

ここでの描写は誤解を招きます。複数PFの が示されている場合、それらは単一の複合キーを表しています。

1 つしかPF表示されていない場合PKは、表の を使用して複合キーを構成しています。 の場合のようですMenu_Courses。独自のテーブルの PK と親テーブルの PK で構成される
独自のPK複合キーを持ちます。PF

于 2012-12-31T20:31:11.763 に答える