C#基础知识及题目练习 Day20 数据库基础2 约束

 

数据表存在的问题()——数据冗余

    解决冗余最好的方法就是分类存储

数据表存在的问题()——数据完整性

一)键的原数据库中数据的准确性:应重视表的前期设计--约束方法:主键约束、标识列、唯一约束

主键约束

选择主键的原则 

£最少性  尽量选择单个键作为主键。

£稳定性  尽量选择数值更新少的列作为主键。

如果表中一列不能确定一个实体,需要几列的组合才能确定,那么这几列可以联合作为主键,称为“联合主键”。

标识列

标识列也称自增字段,一般为数字类型,本身没有实际意义,不属于实体

属性,只是用来区别不同行信息 。标识列只能是数字类型

 

二)数据完整性—域完整性:约束方法:限制数据类型、检查约束、外键约束、默认值、非空约束

建立关系图

引用关系规则

£不能将主表中关联列不存在的数据,插入到子表中。

  ——图书表中不能够出现作者信息表中不存在的作者编号。

£不能更改主表中的数据,而导致子表中数据的孤立。

  ——如果作者表中的作者编号改变了,图书表中作者编号也应随之改变。

£不能删除主表中的数据,而导致子表中数据的孤立

  ——如果删除了作者表中作者信息,那么图书表中对应的作者信息也应随之删除。

£删除主表前,先删子表

           ——先删图书表、再删除作者表。

检查约束(check)

外键约束

用于在两个表之间建立关系,需要指定引用主表的哪一列

使用外键的表为外键表,被引用的表为主键表。


三)数据完整性—自定义完整性:约束方法:规则、存储过程、触发器

 

 

identity表示自增列的意思

IDENTITY(数据类型, 标识种子, 标识增量

IDENTITY(int, 1, 1) 表示int型,从1开始递增,每次自增1。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值