このテーブルの内容を説明しようとしていますが、ここで何が起こっているのかわかりません。なにか提案を?PKとFKを含むテーブルを作成します
CREATE TABLE EMP
(
ID INT NOT NULL PRIMARY KEY,
MGID INT REFERENCES EMP (ID),
NAME VARCHAR(30) NOT NULL
);
このテーブルの内容を説明しようとしていますが、ここで何が起こっているのかわかりません。なにか提案を?PKとFKを含むテーブルを作成します
CREATE TABLE EMP
(
ID INT NOT NULL PRIMARY KEY,
MGID INT REFERENCES EMP (ID),
NAME VARCHAR(30) NOT NULL
);
従業員を表すEMP
という表が作成されています。各従業員は、代理人ID
番号で識別され、NAME
属性を持ち、MGID
で識別されるマネージャーとの関係を持ちます。
このコードは、タイプint
のID
と呼ばれる主キー列で、EMP
と呼ばれていますテーブルを作成し、その列を参照するforeigenキーはMGID
と呼ばれ、文字列はNAME
と呼ばれます。
同じ表にforiegnキーを使用すると、その表の行に対して親子関係を作成できます。 あなたがRaza
と呼ばれていた従業員を持っている、と彼のマネージャーがFar
CALLDされている場合たとえば、あなたがRaza
のマネージャーと行の行を持つことになりますし、その行のMGID
の値がFar
ID
を指します
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
は、参照整合性制約に違反することになります。
希望します。
互換性のないデータベースタグを削除しました。実際に使用しているデータベースに質問にタグを付けてください。 –