手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

Oracle数据库表的约束

时间:2024-10-18 03:59:23

1、主键约束;在数据库的表中,从理论上说,任何表都应该有一个主键约束;特点:1、非空;2、唯一;种类;1、自然主键;整数或字符串类型充当;2、业务主键;自增的整数或特定格式字符串;在Oracle中,用自增整数做为主键,用序列(sequence)对象充当;

Oracle数据库表的约束
Oracle数据库表的约束
Oracle数据库表的约束

2、唯一性约束(Unique);这也是单表约束中的一种,是单表约束中最简单的;在唯一性方面与主键相同,只有一点不同,唯一性约束列,支持可空(当然最多只能有一行);

Oracle数据库表的约束
Oracle数据库表的约束

3、继续向表中添加毛巾商品;因为商品名称已经存在,所以会出现如下异常情况;在表的约束中,主键约束有且只能有一个,而其他类型的约束设置,则根据具体需要,不限;

Oracle数据库表的约束
Oracle数据库表的约束

4、默认约束(default);默认约束也是用来限制列数据,以保证安全性的;在向表中添加记录时,如果没有显式提供数据,则在行记录中以默认的值(建表时设置好的或建表后追加的)填充;如果显式提供了有效值,则以提供的值为主,此时默认值无效;

Oracle数据库表的约束
Oracle数据库表的约束

5、检查约束(check)用在表某列上,用于限制列数的有效性,数据范围;数据范围有两种情况;1、可用区间表示的范围;建students表,学生年龄限制在[16,30]之间,在年龄列设置检查约束;

Oracle数据库表的约束
Oracle数据库表的约束

6、单表约束;a)非空和可空约束;not null/null;不涉及列内容的有效性,只是说必须填写或不需要填写;b)主键约束;Primary key;i.在数据库中,理论上任何表都应该有主键约束;ii.主键分类;1.自然主键;抽象出来的列中,某列或某几列可以设置为主键;其余列与主键列有依赖关系;2.业务主键;其他列与主键列没有直接关联关系;规律性自增的整数及特定字符串;iii.主键列的要求:1.非空;2.唯一;iv.表中有且只有一个主键;c)唯一性约束;unique;i.抽象出来的列,不重复,只支持一行中的该为空值;ii.要求:唯一;d)默认约束;default;i.没有显式提供数据插入时,以默认值填充;当显式提供数据时,以提供数据为主,此时默认值无效;ii.默认值的分类;1.静态固定值;如“男”,“女”等;2.动态变化值;如sys_guid(),sysdate等;iii.与其他约束不同的是,在向表中追加默认约束,不是简单的add,而是通过modify完成;e)检查约束;check;i.在所有单表约束是最复杂的一个,它是用来限制列数据的有效范围,以最大限度的保证列数据的有效;ii.两种情况;1.可用数学区间表示的范围;闭区间:[a,b]= age>=a and age<=b= between a and b;2.多个可选值处于平等地位,不能用区间表示;in子句:in(‘男’,’女’);

Oracle数据库表的约束
Oracle数据库表的约束
Oracle数据库表的约束
© 手抄报圈