还剩1页未读,继续阅读
文本内容:
PHP数据库Oracle数据完整性
一、数据完整性数据完整性要求数据库中的数据具有准确性准确性是通过数据库表的设计和约束来实现的为了实现数据完整性,数据库需要做两方面的工作确保每行的数据符合要求去报没咧的数据符合要求为了实现以上要求Oracle提供了一下4种类型的约束Constraint
1、实体完整性约束实体完整性要求表中的每一行数据都反映不同的实体,不能存在相同的数据行通过主键约束,唯一约束来实现实体完整性⑴主键约束表中的一列或者纪略组合的值能用来唯一的表示表中的每一行,这样的一列或者多列的组合叫做表的主键主键自带唯一性,并且不能为空,一个表只能有一个主键,主键确保了表中数据行的唯一,同一张表中,可以使用多个列共同作为主键在选择主键时,应遵循两个原则,最少性和稳定性⑵唯一约束保证数据行中的某一列的数据是唯一的,不重复的这样可以添加唯一约束唯一约束和主键的区别:主键不能为空,唯一可以为空,但只允许有一个空值主键一张表中只有一个,而唯一可以有多个主键可以由多个表来组成,唯一只能是单列主键可以作为其他表的外键,唯一不可以
2、域完整性与完整性是指给定咧的输入的有效性通过数据类型、检查约束、输入格式、外键约束、默认值、非空约束等方法来实现
3、引用完整性引用完整性是指为两个表中存在一定的联系,从而保证数据的完整性例如:班级和学生学生所在班级一定是在班级表中所存在的,不然就会出现不准确引用完整性我们可以通过外键约束来实现
4、自定义完整性用户自己定义约束规则主要通过存储过程和触发器对象来实现
二、添加约束在创建表时,我们可以再字段后添加各种约束这里分为列级定义和表级定义
1、列级定义列级定义是指在定义列的同时定义定义约束如在t_class表定义主键和唯一约束说明在列级定义时,加不加constraintpk_department都是可以的,区别是不加的话系统会自动分配一个主键约束名称,可读性差
2、表级定义表级定义是指在定义了所有列后,再定义约束需要注意notnull只能在列级上定义以在建立学生和班级表时定义主键约束和外键约束为例
3、创建表后,我们也可以在已经建好的表上添加约束,需要使用ALTERTABLE语句语法ALTERTABLEADDCONSTRAINT约束名约束类型具体的约束说明
三、删除约束语法ALTERTABLEDROPCONSTRAINT约束名
四、查看约束查看T_STUDENT表中所有的约束注意这里的表明必须全大写否则查不到结果。