Orcale(一)之:表1
来源:互联网 发布:迈达斯桥梁软件培训班 编辑:程序博客网 时间:2024/05/17 23:08
说在前面的话
在学习一个东西之前,我觉得基础是很重要的。所以我在学习数据库之前,会把相关的术语弄明白。进这一行,连术语都不理解,那更不用明白别人想告诉你的东西了。
这是我自我学的第一篇,互勉。
表
在Orcale 数据库之中,表的种类有9种:堆组织表、索引组织表、索引聚簇表、散列聚簇表、有序散列聚簇表、嵌套表、临时表、对象表、外部表。我们常见的表(普通表)是堆组织表。堆组织表是把数据以“堆”(heap)的方式来管理:新增数据时,会使用段中第一个找到能放得下这个数据的空间;删除数据时,这个空间允许以后新增或更新的数据用。这是一种自由使用的方式。
视图(view)
视图的创建:
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view_name [(alias[, alias]...)]AS subquery
[WITH CHECK OPTION [CONSTRAINT constraint]]
[WITH READ ONLY]
其中:
OR REPLACE:若所创建的试图已经存在(名字相同时),Oracle自动重建该视图(重建后的视图只是名字一样,其他未必一样);
FORCE:不管基表是否存在ORACLE都会自动创建该视图;
NOFORCE:只有基表都存在ORACLE才会创建该视图:
alias:为视图产生的列定义的别名;
subquery:一条完整的SELECT语句,可以在该语句中定义别名;
WITH CHECK OPTION : 插入或修改的数据行必须满足视图定义的约束;
WITH READ ONLY : 该视图上不能进行任何DML操作
索引
数据库索引,是数据库管理系统中一个排序的数据结构,用它来协助我们进行快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。
除了数据,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。
以上说法也许过于书面,那么下面我以自己的理解用大白话来说明下我理解的这个索引:
顾明思议,虽然它是数据库中的索引,但它跟我们一般书的目录(没记错的话这目录有的书也叫“索引”)起的作用的一样。如果我要看一本语文书的第18课,没有这目录,我们运气不好的话可能要翻完整本书的每一页,但有了目录(索引),最不好的情况也就找完整个目录,再找到第18课。这就大大减少了查询的速度。这是如果你第18课从第51页搬52页了,那目录也得进行相应的修改。这里我已经把索引的优点与缺点都大白话地说出来了,应该能形象地理解吧。如果没有索引,我们在对数据表进行查询时,通常得扫完表中所有列所有行才能找到符合我们所要条件的一列或多列;有了索引,我们只需要先从索引中找出符合条件的,再由此定位到我们所要查询的表的某一列或多列,就不用全表查了。可能前面我对索引说得还是比较含糊,虽然大家知道这个叫“索引”的东东有什么作用功能,但还是不知道“索引”的皮下面包的是什么东西。
其实,“索引”就是一张数据表,不过不是普通一般的表,是经过特别处理的表,前面说过了“是一个经过了排序的数据结构”,这里我就不深入解释,大家就当是一张只有一列(有的多列)的并且经过排序的表。比如有一张people表,里面有name,sex,age三个字段,这表里有很多很多数,各种人,它们对应有性别有年龄就在这张表里存着。有一天,我从这张people表中把name这一列单独找出来,按姓按首字母从A排到Z排好放到另一张nameTable表中,这张表就是一个索引,我找张三时,先在nameTable中找到张三,再由此直接去找people表中name为张三的这一行,就不用从第一行一路查下来了。也许你会问,nameTable表也是从第一行一路查下来才找到张三的啊,跟people表从第一行一路找下来有区别么。有区别。people每找一行有三列,假设一列用走一步表示,那找十行就得走3*10=30步;而nameTable表一行只有一列,十行才1*10=10步。这就是索引。关于如何由索引定位到我们所要查的表的数据的,其实索引表的那一列,并不止是保存张三这名字而已,也保存了“张三”这个名字在所要查的表的具体位置,可以让我们直奔那个地址而去。
- Orcale(一)之:表1
- Orcale(一)之:表2
- orcale之查询语句1
- Orcale笔记-概念(一)
- orcale学习笔记一
- orcale之集群
- orcale分析函数(一)
- orcale系统库表
- orcale删除表空间
- ORCALE 大表处理
- ORCALE 大表处理
- orcale 表空间管理
- orcale 创建表空间
- orcale 多表查询
- orcale 创建表空间
- Orcale详细教程1
- orcale学习总结1
- orcale数据库-----------1
- Android程序保活
- BZOJ 3809: Gty的二逼妹子序列 莫队套分块
- matlab 对数组随机不放回采样
- mysql的查询、子查询及连接查询
- Nagios 搭建
- Orcale(一)之:表1
- iframe中通过form提交动态加载页面
- Ubuntu 中vim配置Python开发环境
- Ubuntu安装adobe flash player插件(PPAPI和NPAPI)
- eclipse找不到import java.awt.image.BufferedImage这个类,调用不了bufferedimage
- #ASM 翻译系列第十八弹:ASM Internal ASM file number 5
- Java并发编程的艺术--笔记
- openstack oslo.config组件服务浅析
- TensorFlow学习笔记---CNN分类CIFAR-10数据集3