ORACLE第六章.ppt_第1页
ORACLE第六章.ppt_第2页
ORACLE第六章.ppt_第3页
ORACLE第六章.ppt_第4页
ORACLE第六章.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章数据库对象 表 视图 索引 课程目标 熟练掌握SQL语言进行表的创建掌握表的约束条件掌握如何创建视图掌握如何常见索引 数据库对象简介 Oracle数据库对象又称模式对象数据库对象是逻辑结构的集合 最基本的数据库对象是表其他数据库对象包括 数据库对象 同义词 序列 视图 索引 表空间 表空间的概念 Oracle数据库的物理文件是指存储在磁盘上的数据文件 控制文件和日志文件的总称 表空间是为了统一Oracle物理和逻辑上的结构而专门建立的 从物理上来说 一个表空间是由具体的一个或多个物理文件构成的 从逻辑上来说一个表空间是由具体的一个或多个用户模式下的表 索引等数据构成 在Oracle中表不可能单独存在 一定隶属于某一个用户 而某用户的数据必定存在于某个表空间中 在Oracle中数据的范围从小到大的顺序依次是 字段值 记录值 表数据 用户 表空间 Oracle Oracle中创建表常用的数据类型 Oracle中创建表常用的数据类型 表5 1数据类型表 建表 创建一张表 并往里插入一条数据createtablestu idnumber 6 namevarchar2 20 sexnumber 1 agenumber 3 sdatedate gradenumber 2 default1 classnumber 4 emailvarchar 50 最后没有 修改表的结构 修改表结构 已经有一张表了 但是往了某一条字段 使用alter修改现有表的结构添加addr字段 add altertablestuadd addrvarchar2 100 删除某一个字段 drop altertablestudrop addr 修改某个字段 modify altertablestumodify addrvarchar2 50 注意 修改后的新的精度必须能够容纳原来有的数据 表的约束 表的约束分为 主键约束 PRIMARYKEY 可以唯一标识整条记录的这样的一个东西非空约束 表明该字段不能为空 notnull 唯一约束 在这个字段里面所有的记录不能取重复的值 每个值必须是唯一的 unique 表的约束 外键约束 foreignkey 是建立在两个字段上 某一个字段会参考另外一个字段里面的值 如果另外一个字段里面检查约束 check 约束种类 字段级的约束 把约束条件 在字段名的 只有非空约束可以加在字段级别的约束 表级的约束 在所有字段名的最后面 主键约束 例1altertablestuaddconstraintstu keyprimarykey id 唯一约束 例1altertablestuaddconstraintstu emailunique email 外键约束 例1altertablestuaddconstraintstu class fkforeignkey class referencesclass id 检查约束 例1Createtableperson idvarchar2 10 Namevarchar2 10 Genderchar 1 Agenumber Constraintperson gender ckCheck gender f Constraintperson age ckCheck agebetween18and35 如何查看约束 通过查看数据字典表USER CONSTRAINTSC 代表CHECK约束和NOTNULL约束P 代表PRIMARYKEY约束R 代表FOREIGNKEY约束U 代表UNIQUE约束 如何去删除约束 去掉约束条件 dropconstraint 约束名 如何去修改约束 修改约束条件 一般很少去修改约束条件 修改的方法是把原来的删掉 然后再添加个新的 视图概念 它就是一张虚表 严格意义来讲 视图就是一个子查询 它不是真正意义上的表 是又SQL语句各个字段临时组成的表 视图 视图以经过定制的方式显示来自一个或多个表的数据视图可以视为 虚拟表 或 存储的查询 创建视图所依据的表称为 基表 视图的优点有 提供了另外一种级别的表安全性隐藏的数据的复杂性简化的用户的SQL命令隔离基表结构的改变通过重命名列 从另一个角度提供数据 创建视图 Create orreplace view视图名 别名 as子查询语句 withcheckoptionconstraint约束名 withreadonly 创建视图 建立学生表的视图createviewv stuasselectid name agefromstu 注意 要确定视图必须有用的时候才考虑建视图 视图是可以更新数据的 但是我们很少这么去用它 创建视图 创建视图的语法 CREATE ORREPLACE FORCE VIEWview name alias alias ASselect statement WITHCHECKOPTION WITHREADONLY 创建视图 Stud details Stud view 创建视图 CREATEVIEWstud viewASSELECTstudno studname subnoFROMStud details 创建视图 使用WITHCHECKOPTION选项创建视图 CREATEORREPLACEVIEWpause viewASSELECT FROMorder masterWHEREostatus p WITHCHECKOPTIONCONSTRAINTchk pv 联接视图 Stud details Sub details CREATEVIEWStud sub viewASSELECTStudno Studname Submrks SubnameFROMStud details Sub DetailsWHEREStud details Subno Sub details Subno Stud sub view 联接视图 联接视图 创建外联接视图 CREATEVIEWven ord outj viewASSELECTvm vencode venname orderno odate ostatusFROMvendor mastervm order masteromWHEREvm vencode om vencode SELECTvm vencode venname orderno odate ostatusFROMvendor mastervmLEFTOUTERJOINorder masteromONvm vencode om vencode 视图上的DML语句 在视图上也可以使用修改数据的DML语句 如INSERT UPDATE和DELETE视图上的DML语句有如下限制 只能修改一个底层的基表如果修改违反了基表的约束条件 则无法更新视图如果视图包含连接操作符 DISTINCT关键字 集合操作符 聚合函数或GROUPBY子句 则将无法更新视图如果视图包含伪列或表达式 则将无法更新视图 如何查看视图 通过数据字典表user views来查看用户视图 修改视图 ORACLE中没有直接修改视图的办法 一般是重写SQL语句覆盖原来的视图 如何删除视图 DROPVIEW 视图名称 索引概念 也是一个新的数据库对象 索引就相当于我们字典里那个索引索引的作用 你为某个字段建立索引 别人访问这个字段的时候效率会更高 注意 是读的时候效率会更高 索引的建立是读起来更快 修改起来更慢了 附加修改索引表 访问量特别大的时候 而且觉得效率比较低的时候 这个时候可以考虑建立索引 但是 记住一点 不要轻易的建立索引 索引 索引是与表相关的一个可选结构用以提高SQL语句执行的性能减少磁盘I O使用CREATEINDEX语句创建索引在逻辑上和物理上都独立于表的数据Oracle自动维护索引 创建索引 创建索引 createindexidx stu emailonstu email 注意 当你给表里某个字段加约束的时候 比如主键约束 或者唯一约束 这个时候Oracle会帮你建立 查询索引 通过数据字典表user index

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论