数据库—SQL—数据库完整性
来源:互联网 发布:数据恢复精灵4.0 编辑:程序博客网 时间:2024/06/10 20:39
5.1 实体完整性
关系模型的实体完整性在CREATE TABLE 中用PRIMARY KEY 定义,对单属性构成的码有两种说明方法:一种是定义为列级约束条件,另一种是定义为表级约束条件。
对多个属性构成的码只有一种说明方法,即定义为表级约束条件。
例:将Student 表中的Sno属性定义为码
CREATE TABLE Student
(Sno CHAR (9)PRIMARY KEY , //在列级定义主码
Sname CHAR (20) NOT NULL,
Ssex CHAR(2)
Sage SMALLINT,
Sdept CHAR(20)
);
5.2 参照完整性
例:定义SC 中的参照完整性
CREATE TABLE SC
(Sno CHAR (9) NOT NULL,
Cno CHAR(4)NOT NULL,
Greade SMALLINT,
PRIMARY KEY (Sno,Cno),//在表级定义实体完整性
FOREIGN KEY (Sno) REFERENCES Student(Sno),//在表级定义参照完整性
FOREIGN KEY (Cno) REFERENCES Course (Cno)//在表级定义参照完整性
);
5.3 用户定义的完整性
1.不允许取空值
例:在定义SC表时,说明Sno,Cno,Grade属性不允许取空值
CREATE TABLE SC
(
Sno CHAR(9) NOT NULL, // Sno属性不允许取空值
Cno CHAR (4) NOT NULL,//Cno属性不允许取空值
Grade SMALLINT NOT NULL,//Grade属性不允许取空值
PRIMARY KEY (Sno,Cno),//如果在表级定义实体完整性,隐含了Sno,Cno不允许取空值则在列级不允许取空值的定义就不用写了
);
2.列值唯一
例:建立部门表DEPT 要求部门名称Dname列取值唯一 部门编号 Deptno列为主码
CREATE TABLE DEPT
(
Deptno NUMERIC (2),
Dname CHAR(9)UNIQUE,//要求Dname列值唯一
Location CHAR(10),
PRIMARY KEY (Deptno)
);
3.用CHECK短语指定列值应该满足的条件
例:Student表中Ssex只允许取 男 或 女
CREATETABLE Student
(
Sno CHAR(9)PRIMARY KEY,
Sname CHAR(8)NOT NULL,
Ssex CHAR(2) CHECK (Ssex IN (‘男’,‘女’)),//性别属性Ssex只允许取男或女
Sage SMALINT ,
Sdept CHAR(20)
);
- 数据库—SQL—数据库完整性
- SQL 数据库完整性
- SQL数据库编程(二)——关系完整性
- 数据库复习3——数据库完整性
- SQL数据库数据的完整性
- 84.Oracle数据库SQL开发之 修改表内存——数据库的完整性
- 数据库——怎样实现数据完整性
- 数据库——怎样实现数据完整性
- 数据库完整性
- 数据库完整性
- 数据库完整性
- 数据库完整性
- 数据库 完整性
- 数据库完整性
- 数据库完整性
- 数据库完整性
- 数据库完整性
- 数据库--完整性
- Js和C#中的字符串编码解码
- traceback.print_stack(file=sys.stdout)找程序流程
- java system.out.printf()的使用方法
- sencha touch 类的使用
- 关于opencv和qt在vs2010的配置总结
- 数据库—SQL—数据库完整性
- Reading the contents of a file using NSFileHandle
- android 开发时出现 Please ensure that adb is correctly located at '...\adb.exe' and can be executed
- form表单提交前验证
- 特效格子那么挂接到fbo(beforeDraw())
- Android系统启动过程
- 万科和淘宝联手卖房 噱头大于实惠?
- ArcGIS教程:ArcGIS中的报表
- ruby get data and loop it from the template