SQL Server——从入门到放弃(10)-- CHECK / CONSTRAINT / TRIGGER / PROCEDURE/ FUNCTION 练习

Lani ·
更新时间:2024-11-10
· 657 次阅读

又是新的一章开始了,今天开始的是第五章的内容——数据库完整性

所谓数据库的完整性指的是

数据的正确性
* 数据是符合现实世界语义,反映了当前实际状况的 数据的相容性
* 同一对象在不同关系表中的数据是符合逻辑的 一、实体完整性

关系模型的实体完整性是通过在CREATE TABLE中使用PRIMARY KEY来定义的。具体使用方法有两种,一种是在列级定义主码,另一种是在表级定义主码。

【例5.1】将Student表中的Sno属性定义为码
列级定义主码

create table Student1 (Sno char(9) primary key, Sname char(20) not null, Ssex char(2), Sage smallint, Sdept char(20) )

表级定义主码

create table Student2 (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) )

只能在表级定义主码
在这里插入图片描述

二、参照完整性

关系模型的参照完整性定义

在CREATE TABLE中用FOREIGN KEY短语定义哪些列为外码 用REFERENCES短语指明这些外码参照那些表的主码

【例5.3】定义SC中的参照完整性
这里需要新建一个Course表,具体建表过程详见。。。算了,不详了,到现在建表还不会的话,



SQL Server SQL PROCEDURE CONSTRAINT check trigger

需要 登录 后方可回复, 如果你还没有账号请 注册新账号
相关文章