数据库创建与管理
一、数据库的创建问题:
数据是以二维表的方式来组织的。其中表使用列和行组成的,一行对应一个实体的实例,又称之为记录,元组。一列对应一个实体的属性,又称之为字段,每一个行在某一个列的取值,称为数据单元,又称为数据项、属性值、字段值等等。表的数据库中最基本的模式对象,所有的数据操作都是围绕表进行的。
create table 语句创建表
二、索引
索引创建,可以提高数据检索效率的数据对象,能够为数据的查询提供快捷的存取路径,减少磁盘I/O。索引本身是基于表创建而成,但是却不依赖于表的本身。索引由系统自动维护和使用,建立之后,不需要用户参与。
create index 语句创建索引。 unique表示建立唯一性索引。 bitmap表示建立位图索引。 asc|desc用于指定索引值的排列顺序。 reverse表示建立反键索引。 parameter_list表示建立反键索引。
三、视图的创建
视图是一个虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成。
视图中的数据并不属于视图本身,而是属于基本的表,对视图可以像表一样进行insert,update,delete操作。
视图不能被修改,表修改或者删除后应该删除视图再重建。
视图的数量没有限制,但是命名不能和视图以及表重复,具有唯一性。
视图可以被嵌套,一个视图中可以嵌套另一个视图。
视图不能索引,不能有相关联的触发器和默认值,sql server不能在视图后使用order by排序。
create view
四、序列
序列是oracle用来生产一组等间隔的数值。序列是递增,而且连续的。oracle主键没有自增类型,所以一般使用序列产生的值作为某张表的主键,实现主键自增。序列的编号不是在插入记录的时候自动生成的,必须调用序列的方法来生成(一般调用nextval方法)。我们也可以编写表的insert触发器来进自动生成。
自动提供唯一的数值
共享对象
主要用于提供主键值
将序列值装入内存可以提高访问效率
创建序列
1、要有创建序列的权限:create sequence 或create any sequence
2、创建序列的语法
create sequence 序列名称
五、分区
定义:Oracle分区是一种处理超大型表、索引等技术。分区是一种“分而治之”的技术,通过表和索引的不断管理和划分,将每一个大的、单独的对象进行管理,可以为大量的数据提供一个伸缩的空间。
优点:
增强可用性:如果表的某个分区出现故障,表在其他分区的数据依然可用;
维护方便:如果表的每个分区出现故障,需要修复数据,只修复该分区即可;
均衡I/O:可以把不同的分区映射到磁盘以平衡I/O,改善整个系统性能;
改善查询性能:对分区对象的查询可以搜索自己关心的分区,提高检索速度;
六、分区表与分区索引