我试图解释这个表的作用,但无法看到这里发生了什么。有什么建议吗?
CREATE TABLE EMP
(
ID INT NOT NULL PRIMARY KEY,
MGID INT REFERENCES EMP (ID),
NAME VARCHAR(30) NOT NULL
);
答案 0 :(得分:1)
它正在创建一个名为EMP
的表来描述员工。每个员工都由代理ID
号码标识,具有NAME
属性,以及与MGID
标识的经理的关系。
答案 1 :(得分:1)
此代码创建一个名为EMP
的表,其中一个名为ID
的主键列的类型为int
,该引用键引用了名为{{1}的列},以及一个名为MGID
的字符串列。
使用同一个表的foriegn键可以为该表中的行创建父/子关系。
例如,如果您的员工名为NAME
,而他的经理是calld Raza
,那么您将拥有一行经理和一行Far
和该行中Raza
的值将指向MGID
ID
答案 2 :(得分:0)
假设您对DBMS有一些基本的了解,我认为您坚持使用' REFERENCES'关键词。 它在ID和MGID之间创建父/子关系。 如您所知,该表适用于员工(顾名思义' Emp'),经理也是员工。 因此,在作为经理引用任何员工之前,它必须在表中作为员工输入。要执行此类验证,请参阅'参考'可以使用关键字。
例如,
ID MGID NAME
1 null a
2 1 b
3 1 c
以上数据有效,但
ID MGID NAME
1 null a
2 3 b
3 1 c
以上数据将违反参照完整性约束,因为任何ID为3的员工尚不存在。
希望它有所帮助。