已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章Oracle数据表对象 与其他数据库 如SQLServer MySQL 不同 Oracle数据库的下一层逻辑结构并非数据表 而是表空间 每个数据表都属于唯一的表空间 因此 本章将首先介绍表空间 然后介绍数据表及相关操作 本章的主要内容包括以下几个方面 创建Oralce表空间 创建Oracle数据表 修改数据表结构 删除数据表 备份 恢复数据表 特殊数据表 5 1Oracle表空间 表空间 TableSpace 是Oracle的开创性理念 表空间使得数据库管理更加灵活 而且极大地提高了数据库性能 5 1 1Oracle表空间简介 1 避免磁盘空间突然耗竭的风险2 规划数据更灵活3 提高数据库性能4 提高数据库安全性 5 1 2创建Oracle表空间 1 创建一个简单的表空间createtablespacetestdatafile f database oracle test data dbf size20M2 指定数据文件的可扩展性 autoextendon3 指定数据文件的增长幅度 autoextendOnNext5m4 指定数据文件的最大尺寸 autoextendOnNext5mMaxsize500M5 查看表空间是否创建成功 selectfile name tablespace namefromdba data filesorderbyfile name6 为一个表空间创建多个数据文件 5 1 3查看表空间 每个数据库在创建时都会自动创建几个表空间 这些表空间和用户创建的表空间信息 都存储在数据词典中 可以通过查询视图dba tablespaces和视图dba data files来获得数据库的表空间信息 dba tablespaces可以用来查看所有表空间的基本信息 而dba data files可以用来查看相关数据文件的信息 5 1 4修改数据库默认表空间 默认表空间是相对用户来说的 也就是说 每个用户登录Oralce数据库时 都有一个默认的工作空间 当进行与表空间相关操作 例如 创建数据表 每个数据表都隶属于一个表空间 如果未显式指定表空间 例如 创建数据表 未显式指定将表创建于哪个表空间中 则该操作将作用于用户的默认表空间 selectuser id username default tablespacefromdba usersalterdatabasedefaulttablespaceuser1 5 1 5修改表空间名称 在Oracle10g中 新增了修改表空间名称这一特性 修改表空间名称应该使用renmaeto命令 altertablespaceuser2renametouser20说明 表空间重命名并不对数据文件产生影响 最后 需要注意的是 不能对数据的系统表空间进行重命名 例如SYSTEM SYSAUX等无法进行重命名 5 1 6删除表空间 如果某个表空间没有存在的必要 那么可以执行删除表空间命令 以释放磁盘空间 删除表空间的命令为droptablespace 删除表空间有两种方式 一种是仅仅删除其在数据库中的记录 二是将记录和数据文件一起删除 droptablespaceuser20droptablespaceuser20includingcontentsanddatafiles 5 2创建Oracle数据表 Oracle表空间的下一层逻辑结构即为数据表 数据表也是各种数据库中共有的 开发人员和DBA最常打交道的数据库对象 本节着重介绍如何创建Oracle数据表 5 2 1利用工具创建数据表 利用工具创建数据表 操作简单 直观 易于掌握 很多数据库管理工具都提供了图形化界面来创建数据表 如MSSQLServer企业管理器 针对Oracle数据库 PL SQLDeveloper是一个不错的选择 5 2 2利用工具查看数据表 在创建了数据表T USER后 同样可以在PL SQLDeveloper中查看该表的信息 小技巧 通过右键单击 Columns 分支 执行 Copycommaseparated 菜单命令 可以将所有列名拷出 并以逗号作为分隔符 这在数据表的列很多 使用INSERT语句时 最为有用 5 2 3利用命令创建数据表 利用命令同样可以创建数据表 其效果与利用工具完全相同 创建数据表的命令为CREATETABLE createtableonly test idnumber namevarchar2 20 5 2 4利用命令查看表结构 同样可以通过命令方式来获得数据表的信息 例如 可以通过查询语句获得所属表空间 Describeonly test 5 3修改Oracle数据表结构 数据表一旦创建 并不是一成不变的 修改数据表结构也成为开发人员必不可少的知识 本章将从工具方式和命令方式两个角度讲述如何修改数据表结构 5 3 1利用工具修改数据表结构 利用工具修改数据表结构 操作简单 直观 最常用的工具自然是PL SQLDeveloper 在该页面中 可以直接修改列名 例如 将USER EMAIL的列名修改为EMAIL 可以修改列的数据类型 例如 将USER NAME的长度修改为15字符 可以直接增加新列 例如 增加新列REMARK作为备注 5 3 2利用命令修改数据表结构 使用命令方式同样可以修改数据表结构 修改数据表结构的SQL命令为altertable 注意 不要轻易修改一个表的表名 因为所有针对该表的操作都是以表名作为标识 修改表名有可能影响已有应用程序的运行 5 4删除数据表 对于维护数据库 另一个可执行的操作就是删除数据表 如果某个数据表不再需要 又不想其一直占用数据库资源 就可以执行删除操作 本节将结合工具和命令方式 讲述如何删除数据表 5 4 1利用工具删除数据表 许多数据库工具 例如PL SQLDeveloper TOADforOracle都会包含直观的数据表删除功能 本小节将以PL SQLDeveloper为例 讲述如何删除数据表 5 4 2利用SQL语句删除数据表 同样 可以使用SQL语句删除某张表 删除数据表的命令为droptable Droptableonly test 5 5备份 恢复数据表 数据表的备份和恢复是最常用的数据库操作 数据表的备份主要用于以下场合 修改数据表结构之前 修改数据表的数据之前 删除某个数据表之前 本节将从以下两个角度讲述如何备份Oracle数据表 利用工具备份 恢复数据表 利用命令备份 恢复数据表 5 5 1利用工具备份 恢复数据表 PL SQLDeveloper是备份 恢复Oracle数据表的常用工具 本小节将以PL SQLDeveloper为例讲述如何备份 恢复数据表 PL SQLDeveloper提供了三种导出 导入方式 分别是 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使用createtable命令创建的数据表称为永久表或普通表 在Oracle中还有另外一种特殊的数据表 临时表 本节将按照以下顺序介绍临时表 临时表简介 会话级临时表 事务级临时表 查看临时表属性信息 临时表的应用场景 5 6 1临时表简介 首先需要明确的是 临时表的临时并非指其存在性而言 也就是说 除非使用DROPTABLE命令来删除临时表 否则 一旦创建将一直存在 在存在性上 和普通表没有任何区别 其临时性 指的是所存储数据的临时性 也就是说 临时表虽然一直存在 但其中的数据会在某种条件下被Oracle数据库自动清空 临时表数据清空的条件有两种 一是事务提交或回滚 二是会话结束 5 6 2会话级临时表 创建临时表应该使用命令createglobaltemporarytable命令 createglobaltemporarytabletmp users session user idint user namevarchar2 20 user emailvarchar2 30 oncommitpreserverows 5 6 3事务级临时表 与会话级临时表一样 事务级临时表的创建同样使用createglobaltemporarytable命令 只是将oncommitpreserverows变更为oncommitdeleterows 即提交时删除表中记录 5 6 4查看临时表在数据库中的信息 一个数据表在数据库中的最主要信息 有以下几个方面 所属表空间 包含的列及列类型 在PL SQLDeveloper左侧窗口的 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 SQLDeveloper或者SQL Plus中 可以利用DESC命令查看DUAL表的结构 5 7 2dual表的应用场景 在Oracle数据库中 dual表实际是作为一个虚表的概念存在的 也就是说 dual表存在的意义并非为了存储数据 更多时候 dual表被用来作为from的源表 因为Oracle的查询语句必须满足select column1 ASalias1 column2 ASalias2 fromtable的语法格式 其中的from所指向的表是必需的 所以即使某些数据不属于任何表 也必须有一个强制的表名 dual表即可用作这个强制的虚表 5 7 3修改DUAL表对查询结果的影响 Oracle针对DUAL表会做一些内部操作 以保证其一行一列的数据结构不发生改变 5 8本章实例 在本章中 创建表 修改表和删除表等表操作是重点讲述的内容 本节将通过一个范例来综合执行这几项操作 createtabletest table idnumber namevarchar2 20 describetest table altertabletest tableadd statusvarchar2 3 describetest table altertabletest tabledropcolumnstatus droptabletest table 5 9本章小结 本章着重讲述了Oracle中数据库中的表空间和表的概念 表空间是Ora
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常德市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(培优a卷)
- 宣城市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(易错题)
- 梁平县农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解ab卷
- 2026年梧州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(真题汇编)
- 省属虚拟市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及完整答案详解1套
- 景德镇市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)参考答案详解
- 聊城市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(模拟题)
- 辽宁省农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(夺分金卷)
- 抚顺市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解
- 常德市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(典型题)
- 2025年高等教育自学考试全国统一命题考试税法试卷含解析及答案
- 花卉工考试题及答案
- 学困生学法指导课件
- 六大茶类制作加工及品质特征 培训教学课件
- 芳纶蜂窝材料项目投资计划及资金方案
- 40篇英语短文搞定高考3500个单词(全部含翻译-重点解析)
- 《大数据金融》教学大纲(第六学期)附课程考核标准
- 2022年人教版三年级上册语文阅读理解难点知识习题及答案
- 磷石膏堆场项目库区工程施工组织设计(171页)
- 军队部队模板ppt课件模板
- 不同截面钢牛腿设计计算(excel)
评论
0/150
提交评论