5、oracle下数据完整性约束
ORACLE下数据完整性约束
为了保证数据的完整性和结构的正确性,oracle也有很多约束条件。
1.数据完整性
为了保证数据的完整性,一般对数据列(字段)进行如下约束,主键约束(PRIMARY KEY)、唯一键约束(UNIQUE)、非空约束(NOT NULL)、默认值(DEFAULT)、检查约束(CHECK)、外键约束(FOREIGN KEY)。
1.1 实体完整性约束
要求每一个表中的主键字段都不能为空或者重复,一般实现的方法是添加唯一约束和主键约束。这里选择主键一般的原则是尽量选择单键、主键必须保证唯一性、非空性、一般选择没有意义,用户不关心的字段。
表创建后,添加约束的语句如下:
-- 使用constraint创建指定名称的约束 |
1.2域完整性约束
要求列的值域的完整性,如数据类型、格式和范围、是否允许为空等。一般实现的方法是限制数据类型,添加外键约束、默认值约束、非空约束。
-- 限制sex的取值 |
1.3引用完整性约束
当处理数据时,通过参照另一个相关联的表中的数据,来检查对表的数据的操作是否正确。一般实现方法是添加外键约束。
alter table test |
2.表之间的关系
oracle中表与表之间的关系有一对一、一对多、多对一。
3.数据表的设计范式
数据表的设计范式是没有数据库之分的,每个数据库都是一样的,最基本的三个范式是:确保每列保持原子性;确保表中的每条数据都和主键相关;确保每列都和主键列直接相关,而不是间接相关。
4.修改约束的SQL语法
-- 建表时添加约束 -- 停用约束 ALTER TABLE 表名ADD CONSTRAINT 约束名 UNQUE(status) DISABLE --启用约束 ALTER TABLE 表名ENABLE CONSTRAINT 约束名; -- 查看约束 select * from user_constraints where ...; |
5、oracle下数据完整性约束相关推荐
- oracle 排序的分析函数,oracle下数据的排序分组row_number() over()--分析函数,可用于去重...
row_number()over(partition by col1 order by col2)表示根据col1分组,在分组内部根据col2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内 ...
- Oracle——删除用户以及用户下数据
Oracle中删除用户下所有对象的多种方法 2015-09-22 13:12 8299人阅读 评论(0) 收藏 举报 分类: Oracle数据库基本管理(336) oracle安装升级 ...
- Oracle删除用户以及用户下数据
Oracle删除用户下所有对象的方法未必人人都会,下面就为您介绍两种常用的Oracle删除用户下所有对象的方法,希望对您学习Oracle删除用户方面能有所帮助. 方法1: drop user XXXX ...
- Oracle 大数据量下的数据迁移
本文梗概: 本文主要描述了从oracle 9i至oracle 10g的单表大数据量的迁移过程,其间作者尝试了不同方法,对比之后,主要使用了DB Link. 正文: 由于公司服务器升级,原Oracle ...
- 简述oracle的主要数据库对象,Oracle数据库数据对象分析
Oracle数据库数据对象分析 Oracle数据库数据对象中最基本的是表和视图,其他还有约束.序列.函数.存储过程.包.触发器等.对数据库的操作可以基本归结为对数据对象的操作,理解和掌握Oracle数 ...
- 实验五 oracle高级数据查询技术
实验五 oracle高级数据查询技术 实验目的: 一.掌握日期型数据的操作技术 二.掌握层次查询技术 三.理解情景查询与翻译查询技术 四.了解统计查询技术 实验内容: 一.日期型数据的操作 ...
- Oracle Study--RAW Device在Oracle下的应用
Oracle Study--RAW Device在Oracle下的应用 1. 什么是裸设备(RAW DEVICE) 裸设备是指未创建文件系统的磁盘分区(raw partition)或逻 ...
- mysql中不同事务隔离级别下数据的显示效果--转载
事务是一组原子性的SQL查询语句,也可以被看做一个工作单元.如果数据库引擎能够成功地对数据库应用所有的查询语句,它就会执行所有查询,如果任何一条查询语句因为崩溃或其他原因而无法执行,那么所有的语句就都 ...
- Oracle 删除数据后释放数据文件所占磁盘空间
. . . . . 测试的时候向数据库中插入了大量的数据,测试完成后删除了测试用户以及其全部数据,但是数据文件却没有缩小.经查阅资料之后发现这是 Oracle "高水位"所致,那么 ...
最新文章
- 灯光工厂滤镜插件knoll light factory
- 周五:IPC连接及远程执行
- 2009.11网络工程师考试案例试题学习攻略(1)
- websocket协议
- layui table勾选框的修改_layui怎么设置checkbox勾选
- Android开发中目前流行控件和知识点总结
- Java实验8 T5.使用键盘控制界面上图片的移动
- Spark UI (基于Yarn) 分析与定制
- 关于Cocos2d-x中实例伸缩后的位置设置
- Linux下mail服务配置(RHEL5)
- 虚幻4 游戏引擎(一):材质教学
- laravel 框架使用hdjs 实现单图上传功能
- 英文学术论文写作基础课程
- 黑马程序员—一张帖看完黑马所有学科、班级就业薪资贴
- css实现方框内打勾
- 鱼眼摄像机弊端及应用
- [IT学习]阿铭Linux 微信公众号 每日一题 解析
- 跳过休息日(周末和节假日)
- 700多页A4纸打印要多少钱?
- FPGA和CPLD的区别
热门文章
- python购物车典例_Python入门:购物车实例
- mysql数据库设计三大范式_了解数据库设计三大范式
- c++——reverse()函数的使用
- leetcode94. 二叉树的中序遍历(左中右)
- 107. 二叉树的层序遍历 II and 102. 二叉树的层序遍历 023(BFS模板题打两道)
- AcWing 703. 数独检查
- 表空间oracle查询,Oracle表和表空间查询
- 蓝桥杯 数字三角形 贪心+动态规划
- Leetcode贪心 验证回文字符串
- 反转字符串中的单词 III leetcode