第5章Oracle数据表对象

上传人:仙*** 文档编号:245142227 上传时间:2024-10-07 格式:PPT 页数:35 大小:116KB
返回 下载 相关 举报
第5章Oracle数据表对象_第1页
第1页 / 共35页
第5章Oracle数据表对象_第2页
第2页 / 共35页
第5章Oracle数据表对象_第3页
第3页 / 共35页
点击查看更多>>
资源描述
,Click to edit Master title style,Click to edit Master text styles,第,5,章,Oracle,数据表对象,与其他数据库(如,SQL Server,、,MySQL,)不同,,Oracle,数据库的下一层逻辑结构并非数据表,而是表空间;每个数据表都属于唯一的表空间。因此,本章将首先介绍表空间,然后介绍数据表及相关操作。本章的主要内容包括以下几个方面:,创建,Oralce,表空间;,创建,Oracle,数据表;,修改数据表结构;,删除数据表;,备份,/,恢复数据表;,特殊数据表。,5.1 Oracle,表空间,表空间(,TableSpace,)是,Oracle,的开创性理念。表空间使得数据库管理更加灵活,而且极大地提高了数据库性能。,5.1.1 Oracle,表空间简介,1,避免磁盘空间突然耗竭的风险,2,规划数据更灵活,3,提高数据库性能,4,提高数据库安全性,5.1.2,创建,Oracle,表空间,1,创建一个简单的表空间,create tablespace test datafile f:databaseoracletest_data.dbf size 20M,2,指定数据文件的可扩展性,-,autoextend on,3,指定数据文件的增长幅度,-autoextend On Next 5m,4,指定数据文件的最大尺寸,-autoextend On Next 5m Maxsize 500M,5,查看表空间是否创建成功:,select file_name,tablespace_name from dba_data_files order by file_name,6,为一个表空间创建多个数据文件,5.1.3,查看表空间,每个数据库在创建时都会自动创建几个表空间,这些表空间和用户创建的表空间信息,都存储在数据词典中。可以通过查询视图,dba_tablespaces,和视图,dba_data_files,来获得数据库的表空间信息。,dba_tablespaces,可以用来查看所有表空间的基本信息;而,dba_data_files,可以用来查看相关数据文件的信息。,5.1.4,修改数据库默认表空间,默认表空间是相对用户来说的,也就是说,每个用户登录,Oralce,数据库时,都有一个默认的工作空间。当进行与表空间相关操作(例如,创建数据表,每个数据表都隶属于一个表空间),如果未显式指定表空间(例如,创建数据表,未显式指定将表创建于哪个表空间中),则该操作将作用于用户的默认表空间。,select user_id,username,default_tablespace from dba_users,alter database default tablespace user1,5.1.5,修改表空间名称,在,Oracle 10g,中,新增了修改表空间名称这一特性。修改表空间名称应该使用,renmae,to,命令。,alter tablespace user2 rename to user20,说明:表空间重命名并不对数据文件产生影响。,最后,需要注意的是,不能对数据的系统表空间进行重命名,例如,SYSTEM,SYSAUX,等无法进行重命名。,5.1.6,删除表空间,如果某个表空间没有存在的必要,那么可以执行删除表空间命令,以释放磁盘空间。删除表空间的命令为,drop,tablespace,。删除表空间有两种方式,一种是仅仅删除其在数据库中的记录,二是将记录和数据文件一起删除。,drop tablespace user20,drop tablespace user20 including contents and datafiles,5.2,创建,Oracle,数据表,Oracle,表空间的下一层逻辑结构即为数据表。数据表也是各种数据库中共有的、开发人员和,DBA,最常打交道的数据库对象。本节着重介绍如何创建,Oracle,数据表。,5.2.1,利用工具创建数据表,利用工具创建数据表,操作简单、直观、易于掌握。很多数据库管理工具都提供了图形化界面来创建数据表,如,MS SQL Server,企业管理器。针对,Oracle,数据库,,PL/SQL Developer,是一个不错的选择。,5.2.2,利用工具查看数据表,在创建了数据表,T_USER,后,同样可以在,PL/SQL Developer,中查看该表的信息。,小技巧:通过右键单击,【Columns】,分支,执行,【Copy comma separated】,菜单命令,可以将所有列名拷出,并以逗号作为分隔符。这在数据表的列很多、使用,INSERT,语句时,最为有用。,5.2.3,利用命令创建数据表,利用命令同样可以创建数据表,其效果与利用工具完全相同。创建数据表的命令为,CREATE,TABLE,。,create table only_test(id number,name varchar2(20),5.2.4,利用命令查看表结构,同样可以通过命令方式来获得数据表的信息。例如,可以通过查询语句获得所属表空间。,Describe only_test,5.3,修改,Oracle,数据表结构,数据表一旦创建,并不是一成不变的,修改数据表结构也成为开发人员必不可少的知识。本章将从工具方式和命令方式两个角度讲述如何修改数据表结构。,5.3.1,利用工具修改数据表结构,利用工具修改数据表结构,操作简单、直观。最常用的工具自然是,PL/SQL Developer,。,在该页面中,可以直接修改列名,例如,将,USER_EMAIL,的列名修改为,EMAIL,;可以修改列的数据类型,例如,将,USER_NAME,的长度修改为,15,字符;可以直接增加新列,例如,增加新列,REMARK,作为备注。,5.3.2,利用命令修改数据表结构,使用命令方式同样可以修改数据表结构。修改数据表结构的,SQL,命令为,alter table,。,注意,不要轻易修改一个表的表名,因为所有针对该表的操作都是以表名作为标识,修改表名有可能影响已有应用程序的运行。,5.4,删除数据表,对于维护数据库,另一个可执行的操作就是删除数据表。如果某个数据表不再需要,又不想其一直占用数据库资源,就可以执行删除操作。本节将结合工具和命令方式,讲述如何删除数据表。,5.4.1,利用工具删除数据表,许多数据库工具,例如,PL/SQL Developer,、,TOAD for Oracle,都会包含直观的数据表删除功能。本小节将以,PL/SQL Developer,为例,讲述如何删除数据表。,5.4.2,利用,SQL,语句删除数据表,同样,可以使用,SQL,语句删除某张表。删除数据表的命令为,drop,table,。,Drop table only_test,5.5,备份,/,恢复数据表,数据表的备份和恢复是最常用的数据库操作,数据表的备份主要用于以下场合。,修改数据表结构之前;,修改数据表的数据之前;,删除某个数据表之前。,本节将从以下两个角度讲述如何备份,Oracle,数据表。,利用工具备份,/,恢复数据表;,利用命令备份,/,恢复数据表。,5.5.1,利用工具备份,/,恢复数据表,PL/SQL Developer,是备份,/,恢复,Oracle,数据表的常用工具,本小节将以,PL/SQL Developer,为例讲述如何备份,/,恢复数据表。,PL/SQL Developer,提供了三种导出,/,导入方式,分别是:,Oracle,导出,/,导入方式、,SQL,语句方式、,PL/SQL,工具本身方式。,1,Oracle,导出,/,导入方式,2,SQL,导出,/,导入方式,3,PL/SQL,导出,/,导入方式,5.5.2,利用命令备份,/,恢复数据表,对于,Oracle,数据表的备份,/,恢复操作,最常用的命令为,exp,和,imp,。二者可以在,Windows,的命令提示符或者,Unix/Linux,的命令行执行。,exp,命令实现导出操作,,imp,实现导入操作。,5.6,临时表,Oracle,使用,create table,命令创建的数据表称为永久表或普通表。在,Oracle,中还有另外一种特殊的数据表,临时表。本节将按照以下顺序介绍临时表。,临时表简介;,会话级临时表;,事务级临时表;,查看临时表属性信息;,临时表的应用场景。,5.6.1,临时表简介,首先需要明确的是,临时表的临时并非指其存在性而言。也就是说,除非使用,DROP TABLE,命令来删除临时表,否则,一旦创建将一直存在。在存在性上,和普通表没有任何区别。其临时性,指的是所存储数据的临时性。也就是说,临时表虽然一直存在,但其中的数据会在某种条件下被,Oracle,数据库自动清空。,临时表数据清空的条件有两种,一是事务提交或回滚;二是会话结束。,5.6.2,会话级临时表,创建临时表应该使用命令,create global temporary,table,命令。,create global temporary table tmp_users_session(user_id int,user_name varchar2(20),user_email varchar2(30)on commit preserve rows,5.6.3,事务级临时表,与会话级临时表一样,事务级临时表的创建同样使用,create global temporary table,命令。只是将,on commit preserve rows,变更为,on commit delete rows,,即提交时删除表中记录。,5.6.4,查看临时表在数据库中的信息,一个数据表在数据库中的最主要信息,有以下几个方面:所属表空间、包含的列及列类型。在,PL/SQL Developer,左侧窗口的,【Tables】,分支下,可以找到名为,TMP_USERS_SESSION,和,TMP_USERS_TRANSACTION,的表。像普通表一样,可以通过二者右键菜单中的,【Properties】,查看其属性信息。通过二者的,【Columns】,子分支,可以查看列信息。,5.6.5,临时表的应用场景,1,大表分割,2,解决并行问题,3,作为数据缓存,5.7,特殊的表,dual,在所有的,Oracle,数据表中,有一个非常特殊的表,dual,。该表是每个数据库创建时默认生成的。该表仅有一列和一行数据,在数据库开发中有着非常特殊的作用。本节将从以下三个角度介绍表,dual,。,分析,dual,表;,dual,表的应用场景;,为什么不可以随意修改,dual,表。,5.7.1,分析,dual,表,在,PL/SQL Developer,或者,SQL*Plus,中,可以利用,DESC,命令查看,DUAL,表的结构。,5.7.2 dual,表的应用场景,在,Oracle,数据库中,,dual,表实际是作为一个虚表的概念存在的。也就是说,,dual,表存在的意义并非为了存储数据。更多时候,,dual,表被用来作为,from,的源表。,因为,Oracle,的查询语句必须满足,select*|column1 AS alias1,column2 AS alias2 from table,的语法格式,其中的,from,所指向的表是必需的,所以即使某些数据不属于任何表,也必须有一个强制的表名。,dual,表即可用作这个强制的虚表。,5.7.3,修改,DUAL,表对查询结果的影响,Oracle,针对,DUAL,表会做一些内部操作,以保证其一行一列的数据结构不发生改变。,5.8,本章实例,在本章中,创建表、修改表和删除表等表操作是重点讲述的内容。本节将通过一个范例来综合执行这几项操作。,create table test_table(id number,name varchar2(20);,describe test_table;,alter table test_table add
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!