最新oracle-第10章模式对象课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《最新oracle-第10章模式对象课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 oracle 10 模式 对象 课件
- 资源描述:
-
1、Oracle 数据库基础教程2007oracle 第第10章模式对象章模式对象Oracle 数据库基础教程2007本章要求本章要求p掌握表的管理p掌握索引的管理p掌握索引化表的概念及其管理p掌握分区的概念及分区管理p了解簇、视图、序列、同义词、数据库链接等的管理Oracle 数据库基础教程200710.1模式模式p模式概念p模式与用户的关系p模式选择与切换Oracle 数据库基础教程2007p模式概念n是指一系列逻辑数据结构或对象的集合。是指一系列逻辑数据结构或对象的集合。p模式与用户的关系n模式与用户相对应,一个模式只能被一个数据库用户模式与用户相对应,一个模式只能被一个数据库用户所拥有,并
2、且模式的名称与这个用户的名称相同。所拥有,并且模式的名称与这个用户的名称相同。n通常情况下,用户所创建数据库对象都保存在与自己通常情况下,用户所创建数据库对象都保存在与自己同名的模式中。同名的模式中。n同一模式中数据库对象的名称必须惟一,而在不同模同一模式中数据库对象的名称必须惟一,而在不同模式中的数据库对象可以同名。式中的数据库对象可以同名。n默认情况下,用户引用的对象是与自己同名模式中的默认情况下,用户引用的对象是与自己同名模式中的对象,如果要引用其他模式中的对象,需要在该对象对象,如果要引用其他模式中的对象,需要在该对象名之前指明对象所属模式。名之前指明对象所属模式。Oracle 数据库
3、基础教程2007p模式选择与切换n如果用户以如果用户以NORMAL身份登录,则进入同名模式;身份登录,则进入同名模式;n若以若以SYSDBA身份登录,则进入身份登录,则进入SYS模式;模式;n如果以如果以SYSOPER身份登录,则进入身份登录,则进入PUBLIC模式。模式。Oracle 数据库基础教程200710.2表表pOracle常用数据类型 p表的创建p表中约束的管理 p表参数设置 p表的修改 p表的删除 p利用OEM管理表Oracle 数据库基础教程2007pCREATE TABLE table_namen(column_name datatype column_level_const
4、raintn,column_name datatype column_level_constraintn,table_level_constraint)nparameter_list 直接创建表直接创建表Oracle 数据库基础教程2007pCREATE TABLE employee(pempno NUMBER(5)PRIMARY KEY,pename VARCHAR2(15),pdeptno NUMBER(3)NOT NULL CONSTRAINT fk_emp REFERENCES deptp)pTABLESPACE USERSpPCTFREE 10 PCTUSED 40pSTORAGE(
5、INITIAL 50K NEXT 50K MAXEXTENTS 10 PCTINCREASE 25);Oracle 数据库基础教程2007p表名(table_name)n必须是合法标识符,长度为必须是合法标识符,长度为130 字节,并且以字母字节,并且以字母开头,可以包含字母开头,可以包含字母(AZ,az)、数字(、数字(09),),下划线(下划线(_)、美元符号()、美元符号($)和井号()和井号(#)。此外,)。此外,表名称不能是表名称不能是Oracle数据库的保留字数据库的保留字 p数据类型(datatype)n字符类型字符类型n数字类型数字类型n日期类型日期类型n大对象类型大对象类型n
6、其他类型其他类型Oracle 数据库基础教程2007pCHAR(n)n定长字符串,n的取值范围为1-2000字节pVARCHAR2(n)n可变字符串,n取值范围为1-4000字节n自动调整数据长度pNCHAR(n)n用来存储Unicode类型字符串。pNVARCHAR2(n)n它用来存储它用来存储Unicode类型字符串。类型字符串。pLONGn可变长字符列,最大长度为2GBn用于不需设置成索引的字符,不常用字符类型字符类型Oracle 数据库基础教程2007数字数据类型数字数据类型pNUMBER(m,n)可变长的数值列,m是所有有效数字的位数,n为小数点后的位数Oracle 数据库基础教程2
7、007日期数据类型日期数据类型pDATEn公元前公元前4712年年1月月1日到公元日到公元4712年年1月月1日日n默认格式:默认格式:DD-MON-YYn习惯格式:习惯格式:YYYY-MM-DD HH:MM:SSOracle 数据库基础教程2007大对象数据类型大对象数据类型pBLOB、CLOB、NCLOBn用来保存较大的图形文件或带格式的文本文件、音用来保存较大的图形文件或带格式的文本文件、音频和视频等非文本文件频和视频等非文本文件n最大长度最大长度4GBpBFILEn在数据库外部保存的大型二进制对象文件。在数据库外部保存的大型二进制对象文件。n不能写,只能读、查询不能写,只能读、查询n大
8、小有操作系统决定大小有操作系统决定Oracle 数据库基础教程2007其他数据类型其他数据类型pRAW(n)n可变长二进制数据可变长二进制数据n保存较小的图形文件或带格式的文本文件保存较小的图形文件或带格式的文本文件nN取取1-2000字节字节pLONG RAWn可变长二进制数据可变长二进制数据n保存较大的图形文件或带格式的文本文件保存较大的图形文件或带格式的文本文件nN取取2GB字节字节pROWIDpUROWIDOracle 数据库基础教程2007p约束(constraint)n在在Oracle数据库中对列的约束包括主键约束、惟一性数据库中对列的约束包括主键约束、惟一性约束、检查约束、外键约
9、束和空约束、检查约束、外键约束和空/非空约束等非空约束等5中,定中,定义方法有表级约束和列级约束义方法有表级约束和列级约束2种。关于表的约束详见种。关于表的约束详见10.2.2表约束中介绍。表约束中介绍。p参数(parameter_list)n在定义表时,可以通过参数设置表存储在哪一个表空在定义表时,可以通过参数设置表存储在哪一个表空间中,和存储空间分配等。间中,和存储空间分配等。Oracle 数据库基础教程2007利用子查询创建表利用子查询创建表 p语法语法nCREATE TABLE table_namen(column_name column_level_constraintn,colum
10、n_name column_level_constraintn,table_level_constraint)nparameter_listnAS subquery;Oracle 数据库基础教程2007p注意注意n通过该方法创建表时,可以修改表中列的名称,通过该方法创建表时,可以修改表中列的名称,但是不能修改列的数据类型和长度;但是不能修改列的数据类型和长度;n源表中的约束条件和列的缺省值都不会复制到源表中的约束条件和列的缺省值都不会复制到新表中;新表中;n子查询中不能包含子查询中不能包含LOB类型和类型和LONG类型列;类型列;n当子查询条件为真时,新表中包含查询到的数当子查询条件为真时,新
11、表中包含查询到的数据;当查询条件为假时,则创建一个空表。据;当查询条件为假时,则创建一个空表。Oracle 数据库基础教程2007p创建一个表,保存工资高于3000的员工的员工号、员工名和部门号。语句为:nCREATE TABLE emp_select(nemp_no,emp_name,dept_non)nASnSELECT empno,ename,deptno FROM employee WHERE sal3000;Oracle 数据库基础教程2007CREATE TABLE EMP_SELECT(EMPNO,ENAME,JOB,DEPTNO,SALARY)PCTFREE 10 PCTUSE
12、D 40TABLESPACE usersSTORAGE(INITIAL 50K NEXT 50K MAXEXTENTS 10 PCTINCREASE 25)AS SELECT EMPNO,ENAME,JOB,EDPTNO,SAL FROM EMPLOYEES WHERE SAL1000 Oracle 数据库基础教程2007创建临时表创建临时表 p临时表中的数据在特定条件下自动释放,但其结构将一直存在。p临时表中的数据只在当前会话或当前事务中是有效的。p根据临时表中数据被释放的时间不同,临时表分为事务级别的临时表和会话级别的临时表两类。nON COMMIT DELETE ROWS /ON COM
13、MIT DELETE ROWS /事务级临时表事务级临时表nON COMMIT PRESERVE ROWS /ON COMMIT PRESERVE ROWS /会话级临时表会话级临时表Oracle 数据库基础教程2007p事务级别的临时表是在事务提交时系统自动删除表中所有记录。nCREATE GLOBAL TEMPORARY TABLE tran_temp(nID NUMBER(2)PRIMARY KEY,nname VARCHAR2(20)n)nON COMMIT DELETE ROWS;Oracle 数据库基础教程2007p会话级别的临时表是在会话终止时系统自动删除表中所有记录。nCREA
14、TE GLOBAL TEMPORARY TABLE sess_temp(nID NUMBER(2)PRIMARY KEY,nname VARCHAR2(20)n)nON COMMIT PRESERVE ROWS;Oracle 数据库基础教程200710.2.2表约束表约束p约束的类别 p定义约束 p添加和删除约束 p设置约束状态 p约束的延迟检查 p查询约束信息 Oracle 数据库基础教程2007约束的类别约束的类别 p约束作用n是在表中定义的用于维护数据库完整性的一些规则。是在表中定义的用于维护数据库完整性的一些规则。通过对表中列定义约束,可以防止在执行通过对表中列定义约束,可以防止在执行
15、DML操作时,操作时,将不符合要求的数据插入到表中。将不符合要求的数据插入到表中。p约束类型nPRIMARY KEYnUNIQUEnCHECKnFOREIGN KEY nNULL/NOT NULL Oracle 数据库基础教程2007PRIMARY KEYp特点n定义主键,起惟一标识作用,其值不能为定义主键,起惟一标识作用,其值不能为NULL,也不能重复;,也不能重复;n一个表中只能定义一个主键约束;一个表中只能定义一个主键约束;n建立主键约束的同时,在该列上建立一个惟一建立主键约束的同时,在该列上建立一个惟一性索引,可以为它指定存储位置和存储参数;性索引,可以为它指定存储位置和存储参数;n主
16、键约束可以是列级约束,也可以是表级约束。主键约束可以是列级约束,也可以是表级约束。Oracle 数据库基础教程2007UNIQUEp特点n定义为惟一性约束的某一列或多个列的组合的定义为惟一性约束的某一列或多个列的组合的取值必须惟一;取值必须惟一;n如果某一列或多个列仅定义惟一性约束,而没如果某一列或多个列仅定义惟一性约束,而没有定义非空约束,则该约束列可以包含多个空有定义非空约束,则该约束列可以包含多个空值;值;nOracle自动在惟一性约束列上建立一个惟一自动在惟一性约束列上建立一个惟一性索引,可以为它指定存储位置和存储参数;性索引,可以为它指定存储位置和存储参数;n惟一性约束可以是列级约束
17、,也可以是表级约惟一性约束可以是列级约束,也可以是表级约束。束。Oracle 数据库基础教程2007p在一个基本表中只能定义一个PRIMARY KEY约束,但可定义多个UNIQUE约束;p对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一个列都不能出现空值,而对于UNIQUE所约束的唯一键,则允许为空。p不能为同一个列或一组列既定义UNIQUE约束,又定义PRIMARY KEY约束。PRIMARY KEY与与UNIQUE比较比较Oracle 数据库基础教程2007CHECK p特点n检查约束用来限制列值所允许的取值范围,其检查约束用来限制列值所允许的取值范围,其表达式中必须引用
18、相应列,并且表达式的计算表达式中必须引用相应列,并且表达式的计算结果必须是一个布尔值;结果必须是一个布尔值;n约束表达式中不能包含子查询,也不能包含约束表达式中不能包含子查询,也不能包含SYSDATE、USER等等SQL函数,和函数,和ROWID、ROWNUM等伪列;等伪列;n一个列可以定义多个检查约束;一个列可以定义多个检查约束;n检查约束可以是列级约束,也可以是表级约束。检查约束可以是列级约束,也可以是表级约束。Oracle 数据库基础教程2007p概念nFOREIGN KEY约束指定某一个列或一组约束指定某一个列或一组列作为外部键,其中,包含外部键的表称为列作为外部键,其中,包含外部键的
19、表称为从表,包含外部键所引用的主键或唯一键的从表,包含外部键所引用的主键或唯一键的表称主表。表称主表。n系统保证从表在外部键上的取值要么是主表系统保证从表在外部键上的取值要么是主表中某一个主键值或唯一键值,要么取空值。中某一个主键值或唯一键值,要么取空值。以此保证两个表之间的连接,确保了实体的以此保证两个表之间的连接,确保了实体的参照完整性。参照完整性。FOREIGN KEYOracle 数据库基础教程2007FOREIGN KEYp特点n定义外键约束的列的取值要么是主表参照列的定义外键约束的列的取值要么是主表参照列的值,要么为空;值,要么为空;n外键列只能参照于主表中的主键约束列或惟一外键列
20、只能参照于主表中的主键约束列或惟一性约束列;性约束列;n可以在一列或多列组合上定义外键约束;可以在一列或多列组合上定义外键约束;n外键约束可以是列级约束,也可以是表级约束。外键约束可以是列级约束,也可以是表级约束。Oracle 数据库基础教程2007NULL/NOT NULL p特点n在同一个表中可以定义多个在同一个表中可以定义多个NOT NULL约束;约束;n只能是列级约束。只能是列级约束。Oracle 数据库基础教程2007定义约束定义约束p列约束是对某一个特定列的约束,包含在列定义中,直接跟在该列的其他定义之后,用空格分隔,不必指定列名;p表约束与列定义相互独立,不包括在列定义中。通常用
21、于对多个列一起进行约束,与列定义用,分隔。定义表约束时必须指出要约束的那些列的名称。Oracle 数据库基础教程2007p定义列级约束的语法为:n CONSTRAINT constraint_name constraint_type conditioin;p定义表级约束的语法为:nCONSTRAINT constraint_namenconstraint_type(column1_name,ncolumn2_name,|condition);p注意nOracle约束通过名称进行标识。在定义时可以通过约束通过名称进行标识。在定义时可以通过CONSTRAINT关键字为约束命名。如果用户没有为关键字
22、为约束命名。如果用户没有为约束命名,约束命名,Oracle将自动为约束命名。将自动为约束命名。Oracle 数据库基础教程2007pCREATE TABLE student(p sno NUMBER(6)CONSTRAINT S_PK PRIMARY KEY,p sname VARCHAR2(10)NOT NULL,p sex CHAR(2)CONSTRAINT S_CK1 check(sex in(M,F),p sage NUMBER(6,2),p CONSTRAINT S_CK2 CHECK(sage between 18 and 60)p);pCREATE TABLE course(p
23、cno NUMBER(6)PRIMARY KEY,p cname CHAR(20)UNIQUEp USING INDEX TABLESPACE indx STORAGE(INITIAL 64K NEXT 64K)p );Oracle 数据库基础教程2007p定义列级FOREIGN KEY约束nCONSTRAINT constraint_name nFOREIGN KEY nREFERENCES ref_table_name(column_name,)p定义表级FOREIGN KEY约束nCONSTRAINT constraint_name nFOREIGN KEY(column_name,)n
24、REFERENCES ref_table_name(column_name,)nON DELETE CASCADE|SET NULL;Oracle 数据库基础教程2007pON DELETE CASCADEn删除子表中所有相关记录删除子表中所有相关记录pON DELETE SET NULLn将子表中相关记录的外键约束列值设置为将子表中相关记录的外键约束列值设置为NULLpON DELETE RESTRICTEDn受限删除,即如果子表中有相关子记录存在,则不能受限删除,即如果子表中有相关子记录存在,则不能删除主表中的父记录,默认引用方式。删除主表中的父记录,默认引用方式。Oracle 数据库基础
25、教程2007pDEFAULTn如果用户在插入新行时没有显示为列提供数据,系统将默认如果用户在插入新行时没有显示为列提供数据,系统将默认值赋给该列。值赋给该列。n语法语法CONSTRAINT DEFAULT 表达式表达式Oracle 数据库基础教程2007添加约束添加约束 p添加约束语法为:nALTER TABLE table_name nADD CONSTRAINT constraint_namenconstraint_type(column1_name,column2_name,)condition;Oracle 数据库基础教程2007p创建一个表nCREATE TABLE player(n
展开阅读全文