1. ホーム
  2. database

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

2022-07-15 18:29:07

質問

私は2つのテーブルを持っています。

  • ユーザー (ユーザー名、パスワード)
  • プロフィール (profileId、性別、生年月日、...)

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

私は友人の提案に困惑しています: "userId"フィールドを 外国人 プライマリー キーを作成し、"profileId"フィールドを削除します。どの方法が良いですか?

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

外部キーはほとんどの場合 "Allow Duplicates," で、主キーとしては適さないでしょう。

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

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