版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle约束:87796:78903313滕飞Oracle约束概念 oracle运用完好性约束防止不合法的数据进入到基表中。管理员和开发人员可以定义完好性约束,以加强商业规那么,限制数据表中的数据,假设一个DML语句执行的任何结果破坏了完好性约束,oracle就会回滚语句,前往错误信息。益处1.在数据库运用的代码中加强了商业规那么。2.运用存储过程,完好控制对数据的访问。3.加强了触发存储数据库过程的商业规那么。Oracle约束1.域完好性 域完好性又称为列完好性,指定一个数据集对某一个列能否有效和确定能否允许空值。域完好性通常是经过运用有效性检查来实现的,还可以经过限制数据类型、格式或者
2、能够的取值范围来实现。2.实体完好性 实体完好性也称行完好性,要求表中的每一行有一个独一的标识符,这个标识符就是主关键字。例如,居民身份证号是独一的,这样才干独一地确定某一个人。经过索引、UNIQUE约束、primary key 约束可实现数据的实体完好性。Oracle约束3.参照完好性 参照完好性也可以称为援用完好性。参照完好行保证主表中的数据与从表被参照表中数据的一致性。在oracle中,参照完好性的实现是经过定义外键foreign key与主键primary key之间的对应关系实现的。假设在被援用表中的一行被某外关键字援用,那么这一行既不能被删除,也不能修正主关键字。Oracle约束主
3、键 在表中能独一标识表的每个数据行的一个或多个表列。外键 假设一个表中的一个字段或假设干个字段的组合是另一个表的主键那么称该字段或假设干字段的组合为该表的外键。Oracle约束假设定义了两个表之间的参照完好性,那么有如下规那么(1)从表不能援用不存在的键值。(2)假设主表中的键值更改了,那么在整个数据库中,对从表中该键值的一切援用要进展一致的更改。(3)假设主表中没有关联的记录,那么不能将记录添加到从表。(4)假设要删除主表中的某个记录,那么不能将记录添加到从表。完好性约束是经过限制列数据、行数据和表之间的数据来保证数据完好性的有效方法。Oracle约束约束的形状在oracle中,完好性约束有
4、以下4种形状1制止的非校验形状。制止的非校验形状表示该约束是不起作用的,即使该约束定义依然存储在数据字典中。2制止的校验形状。制止的校验形状表示对约束列的任何修正都是制止的。这是,该约束上的索引都被删除。约束也被制止。但是,这时依然可以向表中有效地添加数据,即使这些数据与约束有冲突也没关系。3允许的非校验形状或强迫形状。允许的非校验形状或强迫形状可以向表中添加数据,但是与约束有冲突的数据不能添加。假设表中已存在的数据与约束冲突,这些数据依然可以存在。4允许的校验形状。允许的校验形状表示约束处于正常的形状。这时,表中一切的数据,无论是已有的还是新添加的,都必需满足约束条件。Oracle约束域完好
5、性的实现 oracle可以经过check约束实现域完好性。Check约束实践上是字段输入内容的校验规那么,表示一个字段的输入内容必需满足check条件。语法格式Create table table_name(column_name datatype not null | nulldefault constraint_expressionConstraint check_name check(check_expression)其中:check表示定义check约束,其中的check_expression逻辑表达式,称为check约束表达式。Oracle约束例:创建book表Create tabl
6、e books(book_id number(10),Book_name varchar2(50) not null,Book_desc varchar2(50) default new book,Max_lvl number(6,2) not null,Trade_price number(4,1) not null,Constraint ch_cost check(max_lvl=250);Oracle约束修正check约束Alter table table_name add (constraint check_name check(check_expression)删除check约束Al
7、ter table table_name drop constraint check_name Oracle约束实体完好性的实现 一个表只能有一个primary key约束,而且primary key约束中的列不能取空值。Primary key约束和unique约束的区别(1)一个数据表只能创建一个primary key约束,但一个表中可以根据需求对不同的列创建假设干个unique约束。(2)Primary key 字段的值不允许为null,而unique字段的值可取null。Oracle约束语法主键约束ALTER TABLE table_nameADD CONSTRAINT pk_name
8、PRIMARY KEY (pk_id)Unique约束ALTER TABLE table_nameADD CONSTRAINT uk_nameUNIQUE (column_name,n)Oracle约束参照完好性的实现 对于两个相关联的表主表与从表进展数据插入和删除时。经过参照完好性保证它们之间数据的一致性。利用foreign key表示外键。Primary key创建时候应思索的要素(1)在删除主表之前,必需删除foreign key约束。(2)假设不删除或制止foreign key约束,那么不能删除主表(3)在删除包含主表的表空间之前,必需删除foreign key 约束。Oracle约束
9、语法create table table_name(column_name datatype references ref_table(ref_column),n)修正Alter table table_nameAdd constraint constraint_nameForeign key (column,n)References ref_table(ref_column,n)Oracle约束Alter table的记忆方法Alter table 命令有许多项选择项:1)、他不得不通知Oracle他预备alter什么表: Alter table table_name2)、然后,他预备做什么
10、?Adding 一个约束 ALTER TABLE table_name ADD CONSTRAINT3)、剧烈建议但不要求为约束定义个名字。约束名不需求放在引号里,但会以大写字母方式存储在数据字典里, ALTER TABLE temp ADD CONSTRAINT pk_tempOracle约束Alter table的记忆方法4)、表示约束类型将是Primary Key,Unique,Foreign Key,或Check约束 ALTER TABLE temp ADD CONSTRAINT pk_temp PRIMARY KEY5) 、跟在约束类型后面有几种特殊选项,Primary Key和Unique约束,需求指定约束的列;Check约束需求指定约束规那么。 ALTER TABLE temp ADD CONSTRAINT pk_temp PRIMARY KEY (ID);6) 、Primary
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年碎石厂承包管理合同3篇
- 2024年电子商务平台技术服务外包合同
- 2025版新能源电动汽车租赁与品牌合作营销合同3篇
- 2024建设项目工程总承包的合同范本
- 2024年航空公司机队更新采购合同
- 2025年度桉树种植基地技术培训与人才培养合同3篇
- 2025版康师傅饮品类产品全国区域总代理商招募合同3篇
- 2025版药品研发项目临床试验数据统计分析合同2篇
- 2024年硅PU篮球场施工合同中的变更管理
- 2025年度桉树林木砍伐与林业生态修复承包协议3篇
- 天津市部分区2023-2024学年九年级上学期化学期末试题
- 医学外科的教学设计
- 济南 公司章程范本
- AR技术在教育领域的应用与课程设计
- 2023年软件主管年终业务工作总结
- 2019疏浚工程预算定额
- 笙的演奏技术与教学
- 大学生预征对象登记表模板
- 《明辨是非》课件
- 重症监护专科护理质控考核标准
- 高标准农田输配电工程施工方案与技术措施
评论
0/150
提交评论