【数据库】数据库的完整性

本文介绍了数据库的完整性概念,包括实体完整性(主键不能重复且不能为空)、参照完整性(外键必须有参照值)和自定义完整性(如NULL、NOT NULL、DEFAULT、UNIQUE和CHECK约束)。还探讨了触发器在维护数据完整性中的作用,如限制学生年龄、记录数据变更、调整不及格分数、确保必修课选择等复杂业务规则。涉及的表包括Student、Course和SC。
摘要由CSDN通过智能技术生成

【数据库】数据库的完整性

Student(Sno,Sname,Ssex,Sage,Sdept)
Course(Cno,Cname,Ccredit,Cpno,Tname)
SC(Sno,Cno,Grade)

数据库的完整性

  1. 实体完整性:唯一标识 (主码/键) 不能重复 不能为空 primary key
    聚集索引 数据物理顺序就是按照 主码的顺序
create table Gst(
Sno char(1) primary key,
Sname varchar(10))

insert into Gst(Sno) values('1') --插入主键不能为空
insert into Gst(Sname) values('张三')update Gst set Sname='李四' where Sno='1'
  1. 参照完整性:参照标识(外码/键) 必须要为参照值
    foreign key references on delete,update cascade
create table Gsc(
Sno char(1) foreign key references Gst(Sno) on delete cascade,-- Gst 可以删除 所参照的发生变化 该table也会变化
Cno char(1),
Grade int)

create table Gsc(
Sno char(1) foreign key references Gst(Sno) on delete cascade on up,-- Gst 可以删除 所参照的发生变化 该table也会变化
Cno char(1),
Grade int,
primary key(Sno, Cno))

  1. 自定义完整性
    null
    not null
    default
    unique
    check 逻辑限定
create table Gsc(
Sno char(1) foreign key references Gst(Sno) on delete cascade,-- Gst 可以删除 所参照的发生变化 该table也会变化
Cno char(1),
Grade int not null default 60 unique,
primary key(Sno, Cno
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值