1. 用户定义的完整性

针对某一具体应用的数据必须满足的语义要求就是用户定义的完整性

1.1. 属性上的约束条件

1.属性上的约束条件的定义
  • 列值非空(NOT NULL)

     CREATE TABLE ...
         (SNO CHAR(9) NOT NULL/*主码不能是NULL*/
          CNO CHAR(7) NOT NULL
          .....
          PRIMARY KEY (SNO,CNO)/*在表级定义实体完整性,并且此句隐含了SNO ,CNO不能取空值,此                           时上面的SNO和CNO的NOT NULL可以不写*/
         )
    
  • 列值唯一(UNIQUE)

     CREATE TABLE ...
         (SNO CHAR(9) UNIQUE NOT NULL /*SNO唯一,并且不能是NULL*/
          CNO CHAR(7) NOT NULL
         )
    
  • 检查列值是否满足一个条件表达式(CHECK短句)

     CREATE TABLE ...
         (SNO CHAR(9) NOT NULL
          CNO CHAR(7) NOT NULL
          Ssex CHAR(2) CHECK(Ssex IN('男','女'))/*该属性只能从男、女中选择*/
         )
    
2. 属性上的约束条件的检查和违约处理

1.2. 元组上的约束条件

1.元组上约束条件的定义

与属性上的约束条件的定义类似:

  • 元组上约束条件的定义 在CREATE TABLE中用 CHECK 语句定义元组的约束条件

     CREATE TABLE ...
         (SNO CHAR(9) NOT NULL
          Sname CHAR(7) NOT NULL
          Ssex CHAR(2)
          CHECK(Ssex='女' OR Sname NOT LIKE 'Ms.%')/*学生性别是男的时候,起名字不能用Ms开                                              头*/
         )
    
2. 元组上的约束条件的检查和违约处理

results matching ""

    No results matching ""