约束就是指对插入数据的各种限制,例如:人员的姓名不能为空,人的年龄只能在0-150岁之间。约束可以对数据库中的数据进行保护。
约束可以在建表的时候直接声明,也可以为已建好的表添加约束。
2 约束种类
2.1 not null 非空约束
插入字段信息时候,如果这个列的信息为空,sql插入不成功。
2.2 primary key 主键约束
插入的字段内容不能重复,会自动建立索引,常和not null 非空约束连用。
2,3 unique 唯一约束
插入的字段内容不能重复(空值除外)。
2.4 check 条件约束
给字段信息设置插入条件,插入的数据必须满足某些条件。
2.5 外键约束
设置这个表的字段和另一个表的主键信息进行联系。
插入数据时候,先检查插入的数据是不是另一个表的主键数据,如果不是,不让插入。
3 图例说明
创建表后,利用plsql的可视化工具进行查看
列的非空设置:
列的主键,外键,唯一约束设置,并且列的约束处于开启状态(enabled)
列的条件约束设置,并且列的约束处于开启状态(enabled)
oracle自动根据约束创建起来的索引信息
介绍一下外键约束
添加一个列FID,设置为外键,关联到newtable表的ID主键。
外键设置的sql为:
查看table2表的外键约束设置
1, 当前表的外键列在插入值的时候,这个值必须是另一个关联表的主键值才可以插入,不然会报约束的错。
2 当外键所关联的另一个表newtable在删除某一条记录的时候,如果这个表table2中有相关的外键记录,必须先删除外键记录,才能去newtable中删除要删除的主键记录。
对所关联的那个表也有删除约束作用。
Table2表中插入两条外键为’11’的记录。
3 外键关联--- cascade 级联操作—主要是级联删除。
以外键做为基础关联,对另一个表的记录做级联操作约束。
级联删除的外键约束效果就是在删除newtable中主键为'11‘ 的记录时候,隐含着也把table2中外键为'11'的记录都一并删除了。'
启用或禁止约束
当把约束设置页面中的”enabled”的√勾上的时候,是启用这个约束。
当把约束设置页面中的”enabled”的√去掉的时候,是禁止这个约束。