欢迎来到天天文库
浏览记录
ID:38844754
大小:334.32 KB
页数:25页
时间:2019-06-20
《oracle数据库对象的创建与使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5章数据库对象的创建与使用5.1数据库对象概述Oracle数据库的基本对象表(table)过程(procedure)快照(snapshot)JAVA类索引(index)函数(function)快照日志(snapshotlog)JAVA源视图(view)触发器(trigger)用户类型(usertype)高级队列序列(sequence)包(package)数据库链接(databselink)维(Dimension)同义词(synonym)包体(packagebody)簇(Cluster)Oracle10g对象及模式组织方式表table视图vie
2、w函数function过程procedure触发器trigger包package对象类型objecttype索引index同义词synonyms序列sequence用createtable命令创建表SQL>createtabledept(deptnonumber(2)notnull,dnamevarchar2(14byte),locvarchar2(13byte),constraintpk_dept_1primarykey(deptno)usingindextablespacerensh_appstorage(initial64knext5km
3、inextents1maxextents2147483645pctincrease1freelists1freelistgroups1)pctfree10initrans2maxtrans255)tablespacerensh_apppctfree10pctused40initrans1maxtrans255storage(initial64knext0kminextents1Maxextents2147483645pctincrease0freelists1freelistgroups1)logging;注意:两个非常重要的伪列:rowid和
4、rownum。rowid是伪列(pseudo-column)。是行数据在一个特定数据文件中的物理位置。在任何数据库中行的rowid是不相同的。由于rowid直接指向行数据的物理位置,所以,通过使用rowid来删除或更新行会比通过全表扫描来确定行从而删除或更新行要快得多。rownum只是从表中选择出的行的序号,与每个具体的行无关。在原来已有表的基础上建立一个新表命令格式:SQL>Createtableasselectfromold_table[wherecondition];常见
5、的表管理命令使一个表上的约束失效altertableemp_infordisableconstraintfk_emp_deptno;将一个表更名altertablerenameto;更名一个列altertablerenamecolumnto;删除一个列altertabledropcolumn;将一个列设置成不可用(将该列设置成unused后,使
6、用户感觉到该列是不存在的,即使查询也看不到)SQL>altertableemployeesetunusedcolumnjob;删除表中不可用的列SQL>altertabletestdropunusedcolumns;5.3表的类型根据表的存储结构可分为以下几类:常规表,即通常使用的表,也称为堆表(HeapTable).全局临时表(GlobalTemporaryTable),简称为GTT,也称为临时表.组织索引表{IndexOrganizedTable},简称IOT.外部表(ExternalTable)分区表(PartitionsTable)蔟表
7、(ClusteredTable)嵌套表(NestedTable)对象表(ObjectTable)XML表5.3.2全局临时表(GlobalTemporaryTable)它总是在用户的临时表空间中创建。全局临时表或者是包含特定的会话数据,或者是包含特定的事务数据。临时表与常规表之间的区别(1)临时表在创建后并不象其他常规表一样分配段(segment)。(2)不同的会话使用相同的GTT会得到不同的临时表空间。(3)当会话或事务结束时,临时段自动被清除。临时表也会随着数据库的关闭从临时段中消失。(4)包含特定事务数据的临时表仅在事务打开或活动时可用。
8、一旦事务被提交或回滚关闭,那么,在事务表中的数据则被自动清除。5.3.3索引组织表(IndexOrganizedTable),简称IOT所谓索引组织表
此文档下载收益归作者所有