当前位置:
文档之家› oracledata数据库对象创建与使用
oracledata数据库对象创建与使用
第5章 数据库对象的创建与使用
5.1 数据库对象概述
Oracle数据库的基本对象
表(table) 索引(index) 过 程 ( procedure ) 函数(function) 快照(snapshot) 快照日志(snapshot log) JAVA类 JAVA源
视图(view)
序 列 ( sequence )
5.3.4 外部表(External Table)
定义: 外部表就是以数据库内部表的形式定义,且其数据并不 在数据库内部存储的一种表。该表与数据库外部某个扁 平文件相对应。
在原来已有表的基础上建立一个新表
命令格式: SQL>Create table <table_name> as select <selected_column_name> from old_table [where condition];
常见的表管理命令
使一个表上的约束失效
将一个表更名
alter table emp_infor disable constraint fk_emp_deptno;
5.3.2 全局临时表(Global Temporary Table)
它总是在用户的临时表空间中创建。全 局临时表或者是包含特定的会话数据, 或者是包含特定的事务数据。
临时表与常规表之间的区别
(1)临时表在创建后并不象其他常规表一样分配段 (segment)。 (2)不同的会话使用相同的GTT会得到不同的临时表空间。 (3)当会话或事务结束时,临时段自动被清除。临时表也 会随着数据库的关闭从临时段中消失。 (4)包含特定事务数据的临时表仅在事务打开或活动时可
触 发 器 ( trigger )
包(package) 包 体 ( package body)
用户类型(user type)
数据库链接(databse link)
高级队列
维 ( Dimension )
同义词(synonym)
簇(Cluster)
Oracle10g对象及模式组织方式
表 table 视图 view
根据表的存储结构可分为以下几类: • 常规表,即通常使用的表,也称为堆表(Heap Table). • 全局临时表(Global Temporary Table),简称为GTT, 也称为临时表. • 组织索引表{Index Organized Table},简称IOT. • 外部表(External Table) • 分区表(Partitions Table) • 蔟表(Clustered Table) • 嵌套表(Nested Table) • 对象表(Object Table) • XML表
将一个列设置成不可用(将该列设置成unused后,使用户 感觉到该列是不存在的,即使查询也看不到)
SQL>alter table employee set unused column job;
删除表中不可用的列
SQL>alter table test drop unused columns;
5.3 表的类型
注意: 两个非常重要的伪列:rowid和rownum。
•rowid是伪列(pseudo-column)。是行数据在一个特 定数据文件中的物理位置。在任何数据库中行的 rowid是不相同的。由于rowid直接指向行数据的物理 位置,所以,通过使用rowid来删除或更新行会比通 过全表扫描来确定行从而删除或更新行要快得多。 •rownum只是从表中选择出的行的序号,与每个具体 的行无关。
用。一旦事务被提交或回滚关闭,那么,在事务表中的
数据则被自动清除。
5.3.3 索引组织表(Index Organized Table),简称IOT 所谓索引组织表就是以B树结构共同存储行 的主键和数据的一种存储方式。数据是 存储在B树的叶子节点上。
何时使用IOT最合适呢?
• 避免冗余数据存储。当表中若干个列组成主关键字且在一行 中占较大部分时,建议使用IOT。 • 开发大型数据库(VLDB)和联机事务处理OLTP应用时使用 IOT。 • 开发时间系列的应用。 • 使用IOT能有效地存储嵌套表。 • 使用可扩展的索引数据。 • 电子商务,互联网及数据仓库。
alter table <table name> rename <current_table_name> to <new_name>;
更名一个列
删除一个列
alter table <table_name> rename column <currenห้องสมุดไป่ตู้_name> to <new_name>;
alter table <table_name> drop column <column_name>;
函数 function
过程 procedure 触发器 trigger
包 package
索引 index 同义词 synonyms
序列 sequence
对象类型 object type
用create table命令创建表
SQL>create table dept(deptno number(2) not null, dname varchar2(14 byte), loc varchar2(13 byte), constraint pk_dept_1 primary key(deptno) using index tablespace rensh_app storage ( initial 64k next 5k minextents 1 maxextents 2147483645 pctincrease 1 freelists 1 freelist groups 1) pctfree 10 initrans 2 maxtrans 255) tablespace rensh_app pctfree 10 pctused 40 initrans 1 maxtrans 255 storage ( initial 64k next 0k minextents 1 Maxextents 2147483645 pctincrease 0 freelists 1 freelist groups 1) logging;