【例5.1】将Student表中的Sno属性定义为码。
CREATE TABLE Student
(Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) NOT NULL,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20)
);
也可以这样:
CREATE TABLE Student
(Sno CHAR(9),
Sname CHAR(20) NOT NULL,
Ssex CHAR(2),
Sage SMALLINT,
Sdept CHAR(20),
PRIMARY KEY(Sno)
);
【例5.2】将SC表中的Sno、Cno属性组定义为码。
CREATE TABLE SC
(Sno CHAR(9) NOT NULL,
Cno CHAR(4) NOT NULL,
Grade SMALLINT,
PRIMARY KEY(Sno,Cno)
);
在进行实体完整性检查和违约处理检查主码值是否唯一,如果不唯一则拒绝插入或修改;检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改。
【例5.3】定义SC中的参照完整性
CREATE TABLE SC
(Sno CHAR(9) NOT NULL,
Cno CHAR(4) NOT NULL,
Grade SMALLINT,
PRIMARY KEY(Sno,Cno),
FOREIGN KEY(Sno) REFERENCES Student(Sno),
FOREIGN KEY(Cno) REFERENCES Course(Cno)
);
无异常
【例5.4】显式说明参照完整性的违约处理示例
CREATE TABLE SC
(Sno CHAR(9) NOT NULL,
Cno CHAR(4) NOT NULL,
Grade SMALLINT,
PRIMARY KEY(Sno,Cno),
FOREIGN KEY(Sno) REFERENCES Student(Sno)
ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (Cno) REFERENCES Course(Cno)
ON DELETE NO ACTION
ON UPDATE CASCADE
);
可以根据应用要求定义属性上的约束条件在CREATE TABLE中定义属性。
【例5.5】在定义SC表时,说明Sno、Cno、Grade属性不允许为空值。
CREATE TABLE SC
(Sno CHAR(9) NOT NULL,
Cno CHAR(4) NOT NULL,

本文通过一系列SQL示例,详细介绍了如何使用CREATE TABLE语句定义主键、外键、唯一性约束、检查约束以及如何创建触发器来实现数据的完整性检查和业务规则。示例涵盖了实体完整性和参照完整性的设置,以及如何使用ALTER TABLE修改约束条件。此外,还展示了如何创建存储过程来执行转账操作。
最低0.47元/天 解锁文章
658

被折叠的 条评论
为什么被折叠?



