Welcome 微信登录

首页 / 数据库 / MySQL / MySQL保证数据完整性

数据完整性概述1、实体完整性实体就是显示世界中的一个对象,RDBMS中每一行就代表一个实体。所谓实体完整性就是每一个实体都能被区别。所以,实现实体完整性一般通过主键约束、唯一约束或表示列属性2、域完整性主要指列的输入要有效,可通过限制列的数据类型、格式或值的范围来实现3、引用完整性主要是表与表的关系,可通过外键实现4、用户自定义完整性不是很了解,可通过触发器、存储过程实现,以后学了Oracle后会进一步了解数据完整性的实现1、创建非空约束(域完整性)not null关键字,指定列不能输入null值例子:name varchar(50) not null;2、设置主键约束(实体完整性)primary key关键字,保证指定列的数据不可重复,不可为空。一张表只能定义一个主键例子:id int(10) primary key not null;3、设置唯一约束(域完整性,因为是对列的限制)unique关键字,因为有时一张表需要多个列唯一,而一张表又只能由一个主键,所以可以设置唯一约束来实现,一张表可以设置多个唯一约束例子:phoneNo varchar(20) unique;4、指定默认值(域完整性)default关键字,一条数据产生时如果没有输入一个列的值,那么我们可以指定一个默认值例子:phoneNo varchar(20) default"10086";5、设置检查约束(域完整性)check关键字,在插入新行或者更改已有行时才起作用,作用是阻止不满足条件的值进入该列,对null值无效,因为插入null就相当于没有插入。一个列可有多个check例子:age int check(age between 10 and 20);由于mysql不支持,所以现在不是很清楚,以后填补下这个空白6、使用自动编号列auto_increment关键字,可以在添加一条记录时,自动为该行添加数值,而且是自动增长的。一般与主键一起用例子:id int primary key auto_increment not null;7、创建外键约束语法:fk_name varchar(50) references 引用表表名(列名)注意:引用表的列名必须是主键,且在删除引用表时必须删除引用关系或者删除当前表比如:1张表代表班级,另1张表代表学生,在删除班级时必须删除引用关系或将学生全部开除Linux下编译安装MySQL5.5MySQL数据库教程:管理数据库和表(DDL)相关资讯      MySQL数据库教程  数据完整性 
  • MySQL 处理非法数据  (04/09/2013 08:06:28)
  • MySQL关于timestamp和mysqldump的  (12/16/2012 13:25:41)
  • MySQL快速插入大批量数据存储过程  (11/05/2012 19:04:04)
  • ERROR 1130: mysql 1130连接错误的  (12/16/2012 13:29:08)
  • MySQL数据库教程:管理数据库和表(  (12/16/2012 12:47:02)
  • MySQL使用connector C/C+读取二进  (11/05/2012 18:59:59)
本文评论 查看全部评论 (0)
表情: 姓名: 字数