数据表的完整性

数据表的完整性

实体完整性

每个表中有一个必须要指定的字段,主要依赖主键约束

区域完整性

针对表中的某个字段进行特殊化限制,主要依赖剩余的约束

参照完整性

表与表之间的一种特殊化关联限制,主要依靠外键约束

维护数据表的完整性

什么是约束:使用约束、键的作用来维护数据表的完整性

约束有哪些:

  1. 自增约束

  2. 非空约束

  3. 检查约束

  4. 默认约束

  5. 唯一约束

  6. 主键约束

  7. 外键约束

一般在设置列特征的时候都是提前在数据库设计时需要考虑明确,约束都是在数据库设计时必须考虑明确的

数据表的特征

已知创建数据表的语法是

CREATE TABLE 表名
(
    字段1 数据类型 列的特征,
    字段2 数据类型 列的特征,
    ......
)

列特征包含的内容有:

  1. 是否可以为空(NULL):在输入数据的时候,如果这个列允许为空则可以不用填写,否则必须为该列填写对应的数据内容

  2. 是否是标识列(自动编号)

  3. 是否有默认值:如果数据表的某一列在用户不主动输入数据的时候,希望能够提供一个默认的内容

      Adrress NVARCHAR(20) DEFAULT('地址不详'),

     4.是否为主键:主键是实体的唯一标识,保证实体不被重复记录,一个数据表必须有主键才能进行更新、删除指定的实体

     [TID] INT IDENTITY(10000,1) primary key,

     5.是否有检查设置:如果数据表的某一列具有检查限制,当用户为这一列添加数据时,必须要保证添加的数据满足检查限制的要求

6.是否有唯一设置:如果这一列具有唯一设置,那么必须保证在给这一列添加数据时,所添加的数据在这一列中是绝对唯一的存在

7.是否有外键特征:如果该列具有外键约束,那么在向该列添加数据时必须要按照外键的目标数据表中已有的数据去填写,外键指向的数据表的字段必须是一个主键

标识列

标识列使用的意义

例如全中国有14亿人,名字叫“张三”的共有500个,此时如果找特定的张三非常困难,所以中国每个合法公民都有一张身份证,ID是14亿中唯一的

SQLServer中提供了一种标识列,也叫作“自增编号”,它自身可能不具有任何意义,但是我们可以规定标识列具有特定的意义,例如QQ:10000

标识列如何使用

  1. 该列必须是整数类型,或者也可以是没有小数部分的精确类型

  2. 标识种子:标识列的起始值

  3. 标识增量:标识列每次递增的值(自动增加的值)

注意问题

  1. 有标识列的数据表被删除某一行时,数据库会将这一行空缺出来不会填补

  2. 标识列由系统自动维护,用户既不能自己输入数据,也不能自己修改数据

  3. 标识列可以同时定义为主键,也可以不定以为主键,根据数据库设计决定

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值