1

主キーが一意でなければならないことはわかっていますが、主キーが偶然にも同じテーブルの別の列と同じであっても問題ありませんか?

たとえば、2 つのテーブルがあります。1 つのテーブルは、個人に関する情報 (ID、電子メール、電話番号、住所、名前) を保持する person と呼ばれます。もう 1 つのテーブルは、スタッフ (ID、pID(個人 ID)、給与、役職) です。スタッフでは、ID 列が主キーであり、スタッフ メンバーを一意に識別するために使用されます。番号は 1 ~ 100 です。ただし、pID (個人 ID) は ID と同じ場合があります。たとえば、スタッフ ID が 1 で、それが参照する pID が 1 の場合があります。

それは大丈夫ですか?

4

3 に答える 3

3

主キーの役割は、各行を一意かつ確実に識別することです。したがって、一意である必要があり、それNOT NULL以外は無関係です。

たまたままったく同じ値を持つ 2 番目の列がある場合 -なぜそうなのか不思議に思います- しかし、それは主キーに悪影響を与えることは決してありません。

于 2013-11-02T21:49:08.180 に答える
1

はい。テーブル内の異なる列間の関係はチェックされません。

あなたが心配している制限は意味がありません。列IDname、およびを持つ人用のテーブルがあるとしますyear_of_birth。1975 年生まれの人がID = 1975.

于 2013-11-02T21:49:10.020 に答える