_Oracle约束.ppt_第1页
_Oracle约束.ppt_第2页
_Oracle约束.ppt_第3页
_Oracle约束.ppt_第4页
_Oracle约束.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle数据库设计与建模,Oracle数据库设计与建模,Oracle约束,oracle提供5种约束,1、非空(NOT NULL)约束:所定义的列决不能为空 2、唯一(UNIQUE)约束:在表中每一行所定义的该列或该列的值不能相同 3、主键(PRIMARY KEY)约束:唯一标识表中的一行 4、外键(FOREIGN KEY)约束:用来维护子表和父表之间的应用完整性 5、条件(CHECK)约束:表中每行都要满足该约束条件,约束的定义,强加在表上的规则或者条件,确保数据库满足业务规则,保证数据的完整性。当对表进行DML或者DDL操作时,如果此操作会造成表中的数据违反约束条件或规则的话,系统会拒绝

2、执行这个操作。,约束的功能,实现一些业务规则,防止无效的垃圾数据进入数据库,维护数据库的完整性(也就是正确性和一致性),从而使数据库的开发和维护都更加容易,完整性约束(主键约束),实现主键约束的两种常用方法: 1、创建表的时候,在列中添加primary key 2、在创建好的表中,通过关键字constraint为表中的某一列添加约束,例1.1:create table A( id number(5) primary key, name varchar2(20) );,在创建表的时候,在列中添加primary key(列级定义),完整性约束(主键约束),完整性约束(主键约束),在创建表的时候,在

3、列中添加primary key(表级定义),例1.2:create table A( id number(5), name varchar2(20), constraint pk_a_id primary key(id) );,完整性约束(主键约束),在创建好的表中,通过constraint关键字为表中的某一列添加约束。,例2:alter table A add constraint PK_A_ID primary key(id),外键约束,引用完整性约束。例3:,create table student( -学生表 s_id number(5) primary key, s_name var

4、char2(20), s_id varchar2(5), constraint fk_stu foreign key(c_id) references team(c_id) );,create table class( -班级表 t_id varchar2(5) primary key, t_name varchar2(20) );,外键约束,note: 建外键的表具有子父关系,且外键建在子表中 外键很好的保护两表之间的关系 外键值允许为空 插入有数据的值,外键中的值必须能够在父表中找到,非空约束,所约束的列不能为空,例4. create table student( id number(5)

5、 primary key, name varchar2(20) not null );,另一种实现非空约束的方式,SQLalter table student modify name not null;,唯一约束,create table student( id number(2) primary key, name varchar2(10) unique -设置列“name”唯一约束,另一种方式实现唯一约束,SQLalter table student add constraint uk_stu unique(name);,表中每一行所定义的该列或该列的值不能相同,CHECK约束,表中每行都

6、要满足该约束条件。在一列上可以定义任意多个条件约束。,例6 创建一张文秘表,要求如下: (1)女性; (2)年龄1835岁之间,CHECK约束,create table clerk( id varchar2(5) primary key, name varchar2(20), age number, sex varchar2(2), constraint clerk_age_ck check(age between 18 and 35), constraint clerk_sex_ck check(sex=女) );,查看有关约束信息,1、利用数据字典user_constraints可以查看用户模式下的表的约束信息 SQLselect owner,constraint_name,constraint_type,table_name 2 from user_constraints; 上述SQL语句可以查询出用户模式下每张表的约束情况 2、利用数据字典user_cons_columns可以查看每张表定义的约束在哪一列 SQLcol column_name for a10;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论