1. ホーム
  2. database

[解決済み] 外部キーを主キーにするのは問題ないですか?

2022-03-07 19:56:59

質問

2つのテーブルがあります。

  • ユーザー(ユーザー名、パスワード)
  • プロフィール(profileId, gender, dateofbirth, ...)

現在、私はこの方法を使用しています。各Profileレコードは、以下のように"userId"という名前のフィールドを持っています。 外部キー Userテーブルとリンクしています。ユーザーが登録すると、そのユーザーのプロファイルレコードが自動的に作成されます。

友人からの提案で混乱しています。 海外 プライマリー キーを作成し、quot;profileId"フィールドを削除します。どの方法が良いですか?

どのように解決するのですか?

外部キーはほとんどの場合、"Allow Duplicates,"で、主キーとしては不適当です。

代わりに、テーブル内の各レコードを一意に識別するフィールドを見つけるか、新しいフィールド(自動インクリメントの整数またはGUIDのいずれか)を追加して主キーとして動作させます。

を持つテーブルだけは例外です。 一対一 の関係であり、ここで 海外 キーと プライマリー のキーは、リンクされたテーブルのキーと同じものである。