2016-09-05 18 views
-1

このテーブルの内容を説明しようとしていますが、ここで何が起こっているのかわかりません。なにか提案を?PKとFKを含むテーブルを作成します

CREATE TABLE EMP 
(
    ID INT NOT NULL PRIMARY KEY, 
    MGID INT REFERENCES EMP (ID), 
    NAME VARCHAR(30) NOT NULL 
); 
+1

互換性のないデータベースタグを削除しました。実際に使用しているデータベースに質問にタグを付けてください。 –

答えて

1

従業員を表すEMPという表が作成されています。各従業員は、代理人ID番号で識別され、NAME属性を持ち、MGIDで識別されるマネージャーとの関係を持ちます。

1

このコードは、タイプintIDと呼ばれる主キー列で、EMPと呼ばれていますテーブルを作成し、その列を参照するforeigenキーはMGIDと呼ばれ、文字列はNAMEと呼ばれます。

同じ表にforiegnキーを使用すると、その表の行に対して親子関係を作成できます。 あなたがRazaと呼ばれていた従業員を持っている、と彼のマネージャーがFar CALLDされている場合たとえば、あなたがRazaのマネージャーと行の行を持つことになりますし、その行のMGIDの値がFar

IDを指します
0

DBMSの基本的な知識があると仮定すると、 'REFERENCES'というキーワードに固執していると思います。 IDとMGIDの間に親子関係を作成します。 ご存知のとおり、この表はEmployee(「Emp」が示す名前)であり、Managerも従業員です。 したがって、従業員をマネージャとして参照する前に、従業員としてテーブルにエントリが必要です。この種の検証を実行するには、 'REFERENCES'キーワードを使用できます。

例えば、データの上

    ID MGID NAME 
        1 null a 
        2 1  b 
        3 1  c 

は有効ですが、ID 3を持つ従業員がまだ存在していないとして、データの上

     ID MGID NAME 
        1 null a 
        2 3  b 
        3 1  c 

は、参照整合性制約に違反することになります。

希望します。

関連する問題