我的编程空间,编程开发者的网络收藏夹
学习永远不晚

数据的完整性

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

数据的完整性

数据的完整性

10.1什么是数据完整性

作用:保证 用户的输入的数据 保存到数据库 是正确的

比如:

年龄:应该是数字,

学号:应该是不重复的

成绩:不能为空

  

怎么去保证数据的完整性:添加约束。

完整性约束分类:

实体(记录)完整性

域完整性、

引用完整性

10.2实体完整性(行)

实体(entity):就是表中一行的(记录)数据

实体完整性:标识 每一条数据不重复

约束类型(通过什么方式解决这个问题)

主键约束(primary key)

不能为空,不重复

 

唯一约束(unique

不重复,可以为空

 

自增长列(auto_increment)

序号自己会改变

10.2.1主键约束(primary key

特点:不能为空,不重复

##没有约束

create table stu0(

id int,

name varchar(50)

);

insert into stu0(name) values("张三丰");

##方式一:创建表,并且添加主键约束

create table stu1(

id int primary key,

name varchar(50)

)

##方式二:

create table stu2(

id int,

name varchar(50),

primary key(id,name)

)

 

成功:insert into stu1(id,name) value(2,"张三丰");#成功

 

测试一:insert into stu1(id,name) value(null,"张三丰"); #失败。提示不能为空

ERROR 1048 (23000): Column "id" cannot be null

测试二:

插入重复数据:报错

Duplicate entry "2" for key "PRIMARY"

select * from stu1;

10.2.2唯一的约束(unique

不重复,可以为空

##唯一约束(unique

##不重复,可以为空

##给名字 添加 唯一的 约束

 

create table stu3(

id int primary key,

name varchar(50) unique

)

 

insert into stu3(id,name) value(1,"张三丰");

 

insert into stu3(id,name) value(2,"张三丰");

ERROR 1062(23000): Duplicate entry "张三丰" for key "name"

 

insert into stu3(id,name) value(2,"张三");

10.2.3自增长列(auto_increment

##实现,用户的学号,自动增长

create table stu4(

id int primary key auto_increment

name varchar(50)

)

 

##插入数据

insert into stu4(name) value("zsf");

insert into stu4(name) value("ls");

 

10.3域完整性(单元格,字段)

域完整性:用来限制单元格的数据的正确性

性别:只能填写 /

名字:必须填写,非空

域完整性包含:

数据类型

非空约束(not null)

默认值约束(default)

10.3.1数据类型

 

10.3.2非空约束(not null

##创建表,名字name字段非空

create table stu5(

id int primary key,

name varchar(50)not null,

sex varchar(10)

)

 

##成功

insert into stu5(id,name,sex) values(1,"zsf","");

insert into stu5(id,name,sex) values(2,null,"");

ERROR 1048(23000): Column "name" cannot be null

insert into stu5(id,name,sex) values(2,"zz",null);

10.3.3默认值约束(default

值没给,就使用默认值

create table stu6(

id int primary key,

name varchar(50) not null,

sex varchar(10) default""

);

查看表结构

desc stu6;

insert into stu6(id,name,sex) values(1,"zsf","");

insert into stu6(id,name) values(2,"zsf");

查询结构:

select * from stu6;

10.4引用完整性

主外键的关系,2个表之间建立关系之后,他们的删除更新操作都是受影响的

###引用完整性

学生表

id

名字

性别

 

学生表

id

学生ID

成绩

 

create table stu7(

id int primary key,

name varchar(50)

)

create table score(

id int primary key,

sid int,

score double,

constraint aa foreign key (sid) references stu7(id)

)

 

 

insert into stu7(id,name) values(1,"zsf");

insert into score(id,sid,score) values(1,2,90);

 

ERROR 1452 (23000): Cannot add or update a child 

row: a foreign key constraint fails (`db_0402`.`score`, 

CONSTRAINT `aa` FOREIGN KEY (`sid`) REFERENCES `stu7` (`id`))

 

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

数据的完整性

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

数据的完整性

10.1什么是数据完整性作用:保证 用户的输入的数据 保存到数据库 是正确的比如:年龄:应该是数字,学号:应该是不重复的成绩:不能为空。 。 。怎么去保证数据的完整性:添加约束。完整性约束分类:实体(记录)完整性域完整性、引用完整性10.2实体完整性(行)实体
数据的完整性
2019-06-01

Java Hessian 是否能保证数据的完整性?(java hessian能保证数据的完整性吗 )

在Java开发中,Hessian是一种常用的远程调用协议,用于在不同的Java应用程序之间进行数据传输。然而,对于Hessian是否能保证数据的完整性,这是一个值得探讨的问题。Hessian是一种二进制序列化协议,它将Java对象序列化为二进制数据,并在网络
Java Hessian 是否能保证数据的完整性?(java hessian能保证数据的完整性吗  )
Java2024-12-17

SQL级别数据完整性维护

SQL级别的数据完整性维护是通过使用SQL语句和约束来确保数据库中的数据始终保持一致性和准确性。以下是一些常见的方法:使用主键约束:通过定义表的主键,可以确保每条记录都具有唯一的标识符,并防止重复数据的插入。使用外键约束:通过定义外键关系,
SQL级别数据完整性维护
2024-08-11

MongoDB如何确保数据完整性

MongoDB通过以下几种方式来确保数据的完整性:数据验证规则:MongoDB支持在集合级别设置数据验证规则,可以定义数据的结构,数据类型以及其他限制条件,确保插入的数据满足规则。唯一索引:可以在集合中创建唯一索引,确保指定的字段的数值是唯
MongoDB如何确保数据完整性
2024-05-07

MySQL INSERT锁与数据库数据备份的完整性

在MySQL中,INSERT操作会加锁以确保数据的完整性。当一个INSERT操作执行时,MySQL会在表级别加上一个写锁,阻止其他会修改表结构或数据的操作,例如UPDATE、DELETE、ALTER TABLE等。这样可以保证数据的一致性和
MySQL INSERT锁与数据库数据备份的完整性
2024-08-13

MySQL数据库:数据完整性及约束的应用

数据完整性1.域完整性:---------匹配完整性:非空、缺省字段/列2.实体完整性:-------匹配完整性:主键、唯一键记录/行3.引用完整性:-------匹配完整性:外键表与表之间约束:constraintMySQL中的约束分类主键:primary
2019-01-16

MySQL是如何保证数据的完整性

数据的一致性和完整性对于在线业务的重要性不言而喻,如何保证数据不丢呢?今天我们就探讨下关于数据的完整性和强一致性,MySQL做了哪些改进。 一. MySQL的二阶段提交 在Oracle和MySQL这种关系型数据库中,讲究日志先行策略
2022-06-01

Oracle中的数据完整性如何保证

在Oracle中,数据完整性可以通过以下几种方式来保证:主键约束:主键约束是一种在表中唯一标识每条记录的约束,可以确保表中的每条记录都有一个唯一的标识,防止重复数据的插入。外键约束:外键约束用来确保在两个表之间建立关系时,子表中的外键值必顠
Oracle中的数据完整性如何保证
2024-04-09

编程热搜

目录