韩顺平oracle视频笔记七
2013-12-04 09:55
204 查看
Oracle数据的完整性
用于确保数据遵从一定的商业和逻辑规则,在Oracle中数据的完整性可以使用约束、触发器、应用程序(过程、函数)三种方法来实现。
Oracle中约束有如下五种:
not null插入的时候不能为空
unique不能重复,但是可以为空
primary key不能重复,而且不能为null
(一个表最多只能有一个主键,但是可以有多个unique)
foreign key外键
check用于强制数据必须满足的条件,假定sal列值在1000-2000之间如果不在就会出错
商店售货系统表设计案例
备注:在使用外键的时候,一定要保证外键一定是另外一张表的主键,如果另外一张表没有声明为主键则创建表会报错的
用于确保数据遵从一定的商业和逻辑规则,在Oracle中数据的完整性可以使用约束、触发器、应用程序(过程、函数)三种方法来实现。
Oracle中约束有如下五种:
not null插入的时候不能为空
unique不能重复,但是可以为空
primary key不能重复,而且不能为null
(一个表最多只能有一个主键,但是可以有多个unique)
foreign key外键
check用于强制数据必须满足的条件,假定sal列值在1000-2000之间如果不在就会出错
商店售货系统表设计案例
create table goods( goodsId char(36) primary key, goodsName varchar2(36), unitprice number(10,2) check (unitprice>0), category varchar2(36), provider varchar2(36) ); create table customer( customerId char(36) primary key, name varchar2(36) not null, address varchar2(100), email varchar2(50) unique, sex char(2) default '男' check (sex in('男','女')), cardId char(18) ); create table purchase( customerId char(36) references customer(customerId), goodsId char(36) references goods(goodsId), nums number(5) check(nums between 1 and 30) );
备注:在使用外键的时候,一定要保证外键一定是另外一张表的主键,如果另外一张表没有声明为主键则创建表会报错的
商品名称不能为空 alter table goods modify goodsName not null; 增加身份证不能重复 alter table customer add constraint cardunique unique(cardId) 增加客户的住址只能是"海淀","朝阳","东城","西城","通州"等 alter table customer add constraint addresscheck check(address in('东城','西城')) 删除约束 alter table customer drop constraint addresscheck; alter table 表明 drop primary key cascade; 列级定义(在定义列的同时定义约束) create table department( dept_id number(2) constraint pk_department primary key, name varchar2(12), loc varchar2(12) ); 表级定义(定义了所有列后再定义约束,not null只能在列级定义) create table employee( emp_id number(4), name varchar2(15), dept_id number(2), constraint pk_employee primary key(emp_id), constraint fk_department foreign key(dept_id) references department(dept_id) );
相关文章推荐
- 韩顺平oracle视频笔记一(创建用户、角色、权限分配、账号锁定)
- 韩顺平oracle视频笔记二(字段说明、表结构操作、日期插入、常用函数、主键ID)
- 韩顺平oracle视频笔记一
- 韩顺平oracle视频笔记二
- 韩顺平oracle视频笔记三
- 韩顺平oracle视频笔记四
- 韩顺平oracle视频笔记六
- 【自学oracle】韩顺平oracle视频教程学习笔记
- 老谢oracle视频笔记_day01
- 韩顺平 php视频教程 笔记心得 zend.framework.第16讲.综合应用-购物车2
- 马士兵oracle视频教程笔记
- 韩顺平_php从入门到精通_视频教程_第2讲_html运行原理②_html文件基本结构_html元素和属性_学习笔记_源代码图解_PPT文档整理
- 韩顺平 javascript教学视频_学习笔记29_dom编程加强_dom对象(document2) 加强重要
- 韩顺平php视频笔记36 php基本语法
- 韩顺平php视频笔记49 函数深入 php的值传递与引用传递 goto
- 韩顺平PHP学习视频笔记整理004html基本操作续--课后作业
- 老谢oracle视频笔记_day03
- 韩顺平 php视频教程 笔记心得 zend.framework.第16讲.综合应用-购物车2
- 韩顺平zend+framework 视频教程 笔记心得 第18讲+综合应用-购物车4
- 天易05----韩顺平oracle视频讲解部分总结(01)