




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 第8章管理表 表是最重要的数据库对象之一 同时也是最常用的模式对象 由于表是存储数据的主要手段 因此对表的管理也是非常重要的 另外 通过在表定义约束 可以用最简单的方式实现一些基本的应用逻辑 同时也是对表中数据的有效性和完整性进维护 在Oracle11g系统中 表有多种类型 本章讲述最基本的堆表 以及对堆表和约束的操作进行详细介绍 2 本章知识要点 定义表结构Oracle表的特性修改表数据的完整性约束设置各个完整性约束的状态在表中使用大对象类型 3 8 1创建表 数据库中的数据是以表的形式存储 数据库中的每一个表都被为一个模式 或用户 所拥用 因此表是一种典型的模式对象 在创建表时 Oracle将在一个指定的表空间中为其分配存储空间 8 1 1表结构 表是常见的一种组织数据的方式 一张表一般都具有多个列 或者称为字段 每个字段都具有特定的属性 包括字段名 字段数据类型 字段长度 约束 默认值等 这些属性在创建表时被确定 从用户角度来看 数据库中数据的逻辑结构是一张二维表 在表中通过行和列来组织数据 在表中的每一行存放一条信息 通常称表中的一行为一条记录 4 8 1 2创建表 创建表时需要使用CREATETABLE语句 为了在用户自己的模式中创建一个新表 则用户必须具有CREATETABLE系统权限 如果要在其他用户模式中创建表 则必须具有CREATEANYTABLE的系统权限 此外 用户还必须在指定的表空间中具有一定的配额存储空间 5 6 8 1 3表特性 当用户在Oracle中建立模式对象 如表 时 Oracle允许用户规定该对象如何使用磁盘上的存储空间 如果仅为表指定了表空间 而没有设置存储参数 它将自动采用所属表空间的默认存储参数设置 然而表空间的默认存储参数设置并不一定对表空间中的每一个表都适合 因此 当表所需的存储参数与表空间的默认存储参数不同时 需要在创建表时显式指定存储参数以替换表空间的默认存储设置 7 8 2修改表 在创建表后 如果发现对表的定义有不满意的地方 还可以对表进行修改 这些修改操作包括 增加或删除表中的字段 改变表的存储参数设置 以及对表进行增加 删减和重命名等操作 普通用户只能对自己模式中的表进行修改 如果想要对任何模式中的表进行修改操作 则用户必须具有ALTERANYTABLE系统权限 8 2 1增加和删除字段 使用ALTERTABLE ADD语句能够向表中添加新的字段 例如 利用下面的语句在EMPLOYEES表中增加一个名为AGE的新字段 8 SQL altertableemployeesadd agenumber 2 表已更改 SQL descemployees名称是否为空 类型 EMPNONOTNULLNUMBER 10 ENAMEVARCHAR2 20 SEXCHAR 2 SALARYNUMBER 8 2 HIREDATEDATEJOBVARCHAR2 10 EMAILVARCHAR2 50 DEPTNONOTNULLNUMBER 3 AGENUMBER 2 8 2 2更新字段 除了在表中增加和删除字段之外 还可以根据实际情况更新字段的有关属性 包括更新字段的数据类型的长度 数字列的精度 列的数据类型和列的默认值等 使用ALTERTABLE MODIFY语句更新字段属性的语法形式如下 9 altertabletable namemodifycolumn nametype 10 8 2 3重命名表 在创建表后 如果想要修改表的名称 则可以使用ALTERTABLE RENAME语句对表进行重命名 11 8 2 4改变表的存储表空间和存储参数 在创建表时 通过一些相应的参数可以规定表的存储位置 存储参数等 在表创建后 如果发现这些参数设置不合适时 还可以对其进行修改 8 2 5删除表定义 当不再需要某个表时 就可以删除该表的定义 需要注意 一般情况下用户只能删除自己模式中的表 如果用户要删除其他模式中的表 则用户必须具有DROPANYTABLE系统权限 删除表所使用的DROPTABLE语句如下 12 SQL droptableemployees 表已删除 8 2 6修改表的状态 Oracle11g推出了一个新的特性 用户可以将表置于readonly 只读 状态 处于该状态的表不能执行DML操作和某些DDL操作 在Oracle11g之前 为了使某个表处理READONLY状态 只能通过将整个表空间或者数据库置于readonly状态 13 8 3定义和管理数据完整性约束 数据库不仅仅是存储数据 它也必须保证所存储数据的正确性 如果数据不准确或不一致 那么该数据的完整性可能就受了到破坏 从而给数据库本身的可靠性带来问题 为了维护数据库中数据的完整性 在创建表时常常需要定义一些约束 约束可以限制列的取值范围 强制列的取值来自合理的范围 在Oracle11g系统中 约束的类型包括 非空约束 主键约束 惟一性约束 外键约束 检查约束和默认约束等 14 15 8 3 1非空约束 非空约束就是限制必须为某个列提供值 空值是不存在的 它即不是数字0 也不是空字符串 而是没有 未知 在表中 当某些字段的值是不缺少的 那么就可以为该列定义为非空约束 这样当插入数据时 如果没有为该列提供数据 那么系统就会出现一个错误消息 16 8 3 2主键约束 主键约束用于惟一地确定表中的每一行数据 在一个表中 最多只能有一个主键约束 主键约束即可以是一个列组成的 也可能是由两个或两个以上列组成的 对于表中的每一行数据 主键约束列都是不同的 主键约束同时也具有非空约束 8 3 3惟一性约束 惟一性约束强调所在的列不允许有相同的值 但是 它的定义比主键约束弱 即它所在的列允许空值 UNIQUE约束的主要作用是在保证除主键列外 其他列值的惟一性 17 8 3 4外键约束 外键FOREIGNKEY约束是几种约束是最复杂的 外键约束可以使两个表进行关联 外键是指引用另一个表中的某个列或某几个列 或者本表中另一个列或另几个列的列 被引用的列应该具有主键约束 或者惟一性约束 18 8 3 6禁止和激活约束 为什么要禁用约束呢 这是因为约束的存在会降低插入和更改数据的效率 系统必须确认这些数据是否满足定义的约束条件 当执行一些特殊操作时 如使用SQL Loader从外部数据源向表中导入大量数据 并且事先知道操作的数据满足了定义的约束 为提高运行效率 就可以禁用这些约束 19 8 3 7删除约束 如果不再需要某个约束时 则可以删除该约束 可以使用带DROPCONSTRAINT子句的ALTERTABLE语句删除约束 删除约束与禁用约束不相同 禁用约束是可以激活的 但是删除的约束在表中就完全消失了 20 8 4使用大对象数据类型 在Oracle11g系统中 提供了4种常用的大对象类型 这4种大对象类型分别为 CLOB类型
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年护士执业资格考试题库(内科护理学专项)-护理心理学临床护理伦理试题
- 2025年书法教师职业能力测试卷:书法技巧与教育理念篇
- 2025年安全生产标准化建设安全法规解读与应用考试题库
- 化工反应釜温度压力控制
- 电梯运输安全责任合同
- 二零二五年度北京市物流行业临时工劳动合同规范
- 产业园装修项目终止协议
- 法律顾问年终工作总结
- 春节期间社区安全生产工作计划
- 【看得见的粉丝价值】五大平台KOL粉丝分析研究报告
- 2025中建三局(中原)社会招聘高频重点模拟试卷提升(共500题附带答案详解)
- 《奢香夫人》歌词(男女声歌词标注)
- 2025口腔科年度工作计划
- 商业办公楼网络改造施工方案
- 2024年中国主题公园竞争力评价报告-中国主题公园研究院
- 2023年湖北省生态环保有限公司招聘考试真题
- 化疗药物外渗的预防及处理-2
- 广州市海珠区六中鹭翔杯物理体验卷
- DB35T 1933-2020 熔融沉积3D打印品几何精度评价规范
- 《大气污染物控制工程》-挥发性有机物污染控制
- 国家职业技术技能标准 6-28-01-14 变配电运行值班员 人社厅发2019101号
评论
0/150
提交评论