数据库完整性

数据库完整性

  1. 实体完整性:就是定义主码,其定义方式有两种:列级定义主码,表级定义主码;
    1. 列级定义主码:create table  表名(id   int   primary key,name char(10)  not null)
    2. 表级定义主码:create table  表名(id int,name char(10) not null,primary key(id))
  2. 参照完整性:参照完整性将两个表的相应元组联系起来,因此对被参照表或者参照表进行增删改操作时,必须检查以保证这两个表的相容性。
    1. 若对其中一表进行操作出现一下情况:
      1. SC表增加、修改、删除、一个元组时,该元组主键所对应的属性Sno在Student表中找不到一个元组,其Sno属性值与之相等。
      2. 举例说明:李三为某校一名学生,其有两个表存储李三信息,表一为个人信息表、表二为选修表。一:现李三退学,我们需要删除李三的信息,当我们删除表一中李三的信息同时也删除了表二中李三的选修信息。二:若李三的学号发生了改变,我们在该表一李三学号的同时也将表二中李三的学号改变。(级联操作)
    2. 级联操作SQL:  create table SC(Sno char(10),  Cno char(10),  Gread  float,  primary key(Sno,Cno)      foreing key(Sno) references   Student(Sno)      on delete cascand     on  update  cascand  )
    3. on delete cascand: 当删除Student表中元组时,级联删除SC表中对应元组
    4. on  update  cascand:当更新Student表中元组时,级联删除SC表中对应元组
  3. 用户定义完整性:
    1. 约束条件:not NULL (不能为空);unique(列值唯一);check(列名 in  (‘男’,‘女’))(满足条件表达式);foreing key (外键)

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值