06模式对象

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第六章模式对象管理2目录表索引聚簇视图同义词和序列OEM中操作模式对象3表创建表:createtable表名(字段表)约束等;例:建立学生表主键:取值唯一,不可为空不可为空的约束字段check约束4建立学生成绩管理系统所需的表课程表(课程号,课程名,学分,学时,开课学期)成绩表(学号,课程号,平时成绩,期末成绩)外键:该列数据来源于其他的表用于在两个表间进行连接运算;作为外键的字段要和主键表的字段定义数据类型和长度一致5表结构的修改修改表:altertable增加字段:altertable表名add新字段定义增加主键、外键、check约束、唯一性约束:修改字段:删除字段:属于SYS的表不能删除其字段删除表:droptable表名;注意删除顺序altertable表名addconstraint约束名约束定义;altertable表名modify字段名新的类型定义;altertable表名dropcolumn字段名;6索引索引:一个条目存放一个键值和Rowid加快查询自动为有unique或primarykey约束的列产生索引类型B-树索引(B-treeindex):默认类型位映射索引(Bitmapindex):适于不同值数目很少的列B-树簇索引(B-treeclusterindex)哈希簇索引(Hashclusterindex)全局和本地索引(Globalandlocalindex)基于函数的索引(Function-basedindex)域索引(Domainindex)7B-树索引示意图CREATE[UNIQUE]INDEX[模式.]索引名称ON([模式.])表名(列名[ASC|DESC][,列名[ASC|DESC]]…);8建立位映射索引在大表中使用,可以减少索引存储空间某(些)列上的取值种数不多,索引的建立基于每种取值及其行数不经常进行DML操作如“类别”字段CREATEBITMAPINDEX[模式.]索引名称ON([模式.])表名称(列名[ASC|DESC][,列名[ASC|DESC]]…);例:createbitmapindexcar_bmp_indexOncarinfo(color,make,model,year);9查询索引信息通过查询DBA_INDEXES/ALL_INDEXES等视图查询USER_INDEXES查看用户可以使用的索引10修改与删除索引修改索引修改索引存储参数索引改名不能为索引增加列删除索引不需要该索引时未达到预期优化目标索引碎片化较严重可以删除11聚簇Cluster作为容纳表的容器:将经常被同时访问的多个表按物理位置存储在一起表簇:由若干共享相同数据块的表构成同一表簇中各表相关的列称为簇键簇键用簇索引进行索引簇键值只存储一次,节省空间将簇中各表相关的列存放在一个数据块中,能加快连接查询适合建立表簇的条件:主要执行查询操作的表,常进行连接查询的多个表12三个步骤列名:簇中各表相关的列,即簇键SIZE:估计簇键的个数及存储空间如很少记录共用一个键值,则SIZE值要选择较小CREATECLUSTER[模式.]表簇名称(列名1数据类型[,列名2数据类型]…)[物理属性组句][SIZE数目[K|M]][TABLESPACE表空间名称][存储属性组句];簇键建立表簇创建簇中的表创建簇索引13如empl表和dep表中都有depno字段,用于连接,则可以把两表生成表簇empl_dep,簇键为depno,Oracle将emp.depno和dep.depno放在同一数据库内第一步:创建表簇14第二步:创建簇内表先创建dep表,再创建empl表15第三步:创建簇索引向簇中表插入数据之前为簇建立一个索引16查看聚簇在dba_clusters/all_clusters/user_clusters等表或视图中查看聚簇信息修改聚簇:altercluster删除聚簇:dropcluster聚簇名[子句]Includetables子句:连带删除簇中的表17视图view视图是虚拟的表,不保存数据,但是可以借助视图查询表中的数据,也可以通过视图对基表的数据做修改创建视图:createview视图名as查询语句;查看视图信息:从数据字典中查看dba_views/all_views/user_views等修改视图:alterview…;修改后要重新编译:alterview视图名compile;重建视图:createorreplaceviewas…删除视图:dropview视图名;18同义词synonym同义词:对象的别名公有同义词私有同义词CREATE[PUBLIC]SYNONYM[模式.]同义词名称FOR[模式.]数据库对象名称;19序列sequence用于产生数字类型的唯一序列号,被多个用户使用序列不占I/O开销,可提高事务处理吞吐量序列号可用于作为不重复的ID值插入到表中,方便insert操作CREATESEQUENCE[模式.]序列名称[STARTWITH起始数字][INCREMENTBY增量][MAXVALUE最大值|NOMAXVALUE][MINVALUE最小值|NOMINVALUE][CYCLE|NOCYCLE][CACHE数目|NOCACHE][ORDER|NOORDER];20在insert、select查询目标、update…set子句中可以使用NEXTVAL、CURRVAL伪列修改序列altersequence删除序列dropsequence21在OEM中管理模式对象Oracle的企业管理器管理方案22小结管理对象的命令:CREATE、ALTER、DROP表索引聚簇:表簇视图同义词序列23作业分析和设计一个图书管理系统的数据库结构要求完成下面的题目:写出要建立几个表,表名,表中的字段图书表(书号,书名,图书类别,作者,出版社,价格,出版日期)读者表、借阅表写出建立表的SQL语言,包括定义主键、外键、约束等在书名、读者名、借阅日期上建立索引建立最近一个月的借书情况视图(书号,书名,借书证号,借书人名,借阅日期,……)建立计算机类的图书视图

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功