在关系数据库中,如何利用sql的create命令来定义实体完整性和参照完整性规则?
2个回答
展开全部
CREATE TABLE
<表名>
(<列名><数据类型> [列级完整性约束条件] [,<列名> <数据类型> [列级完整性约束条件]…]
[,<表级完整性约束条件>])
CONSTRAINT是约束关键字;<约束名>是用户对该约束的命名;
FOREIGN KEY 是外键关键字;(<列名>[,<列名>…])是子表中的外键列名;
REFERENCES 是建立参考的关键字;<引用表名>是父表的表名;
[(<引用列名>[,<引用列名>…])] 是父表中主键列名;
关键字ON DELETE和ON UPDATE分别定义:
删除父表主键数据和更新子表外键数据;
关键字CASCADE定义:在父表数据行删除/更新时,同时子表中对应数据行也删除/更新; 关键字NO ACTION(默认值)定义:在删除/更新父表数据行时,SQL Server会产生一个错误,并将父表中的删除/更新操作回滚。
关键字NOT FOR REPLICATION:定义列的外关键字约束对于从其他表中复制过来的数据而言不发生作用(对新插入或更新有作用)。
<表名>
(<列名><数据类型> [列级完整性约束条件] [,<列名> <数据类型> [列级完整性约束条件]…]
[,<表级完整性约束条件>])
CONSTRAINT是约束关键字;<约束名>是用户对该约束的命名;
FOREIGN KEY 是外键关键字;(<列名>[,<列名>…])是子表中的外键列名;
REFERENCES 是建立参考的关键字;<引用表名>是父表的表名;
[(<引用列名>[,<引用列名>…])] 是父表中主键列名;
关键字ON DELETE和ON UPDATE分别定义:
删除父表主键数据和更新子表外键数据;
关键字CASCADE定义:在父表数据行删除/更新时,同时子表中对应数据行也删除/更新; 关键字NO ACTION(默认值)定义:在删除/更新父表数据行时,SQL Server会产生一个错误,并将父表中的删除/更新操作回滚。
关键字NOT FOR REPLICATION:定义列的外关键字约束对于从其他表中复制过来的数据而言不发生作用(对新插入或更新有作用)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询