“21天好习惯”第一期-19

数据库完整性

数据库的完整性 数据的 正确性 和 相容性 数据的完整性和安全性是两个不同概念 数据的完整性 防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据 防范对象:不合语义的、不正确的数据 数据的安全性 保护数据库防止恶意的破坏和非法的存取

防范对象:非法用户和非法操作

为维护数据库的完整性,DBMS必须:

1. 提供定义完整性约束条件的机制 2. 提供完整性检查的方法 3. 违约处理

“21天好习惯”第一期-19 

实体完整性

定义

关系模型的实体完整性 CREATE  TABLE 中用 PRIMARY KEY 定义 单属性构成的码有两种说明方法 定义为列级约束条件 定义为表级约束条件 对多个属性构成的码只有一种说明方法 定义为表级约束条件

例如

将Student表中的Sno属性定义为码

         (1)在列级定义主码

CREATE TABLE Student
                (Sno  CHAR(9)  PRIMARY KEY,
                 Sname  CHAR(20) NOT NULL,     
                 Ssex  CHAR(2) ,
                 Sage  SMALLINT,
                 Sdept  CHAR(20));

(2)在表级定义主码

CREATE TABLE Student
        (Sno  CHAR(9),  
         Sname  CHAR(20) NOT NULL,
         Ssex  CHAR(2) ,
         Sage  SMALLINT,
         Sdept  CHAR(20),
         PRIMARY KEY (Sno)
      ); 

例如

将SC表中的Sno,Cno属性组定义为码

      CREATE TABLE SC
           (Sno   CHAR(9)  NOT NULL, 
            Cno  CHAR(4)  NOT NULL,  
            Grade    SMALLINT,
            PRIMARY KEY (Sno,Cno)     /*只能在表级定义主码*/
          ); 

检查与违约处理

 

插入或对主码列进行更新操作时, RDBMS 按照实体完整性规则自动进行检查。包括: 1. 检查主码值是否唯一,如果不唯一则拒绝插入或修改 2. 检查主码的各个属性是否为空,只要有一个为空就拒绝插入或修改

 

检查记录中主码值是否唯一的一种方法是进行全表扫描 

“21天好习惯”第一期-19 

索引

“21天好习惯”第一期-19 

 

 

 

 

 

 

 

 

上一篇:数据库上机三 : 数据查询(二)


下一篇:关系数据库标准语言SQL