方案对象简介
方案(schema)是一个逻辑数据结构(或称为方案对象(schema object))的集合。每个数据库用户拥有一个与之同名的方案,且只有这一个方案。方案对象可以通过 SQL 语句创建和操作。
可以包含于方案的对象类型有:
簇(cluster)
数据库链接(database link)
数据库触发器(database trigger)
维度(dimension)
外部过程库(external procedure library)
索引(index)和索引类型(index type)
Java 类(Java class),Java 资源(Java resource),及Java 源程序(Java source)
物化视图(materialized view)及物化视图日志(materialized view log)
对象表(object table),对象类型(object type),及对象视图(object view)
操作符(operator)
序列(sequence)
存储(在服务器端)的(stored)函数(function),过程(procedure),及包(package)
同义词(synonym)
表(table)及 index-organized table
视图(view)
Oracle 在逻辑上将方案对象存储于数据库的表空间(tablespace)中,而方案对象的数据在物理上存储于此表空间的一个或多个数据文件(datafile)中。
1.表概述
表的存储:当用户创建一个表时,Oracle 会自动地在相应的表空间内(tablespace)为此表分配数据段(data segment)以容纳其数据。
注意:创建或修改簇表时不能为其设定存储参数(storage parameter)。一个簇内的所有簇表都使用此簇的存储参数来控制其空间分配。
行的存储:Oracle 使用一个或多个行片断(row piece)来存储表的每一行数据的前255列。
当 Oracle 必须使用多个行片断来存储同一数据行时(且每个行片断位于不同的数据块内),此行将在多个数据块间构成行链接(Row Chaining)
当一个表超过 255 列时,每行第255列之后的数据将作为一个新的行片断(row piece)存储在相同的数据块(data block)中,这被称为块内链接(intra-block chaining)。
这里注意:不同的块之间的行链接是增大I/O开销,块内链接是不会影响I/O开销(ROWID一致)
null的存储:为了节约存储空间,如果某列值为空(null),那么数据库中只用1个字节存储其列长(值为 0),而不存储任何数据。对位于一行末尾的空列值(trailing null column),数据库中将列长也忽略不予存储。
行片

本文介绍了Oracle数据库中的方案对象,包括表、视图、序列、同义词、索引等,详细阐述了它们的存储、操作和特性。讨论了表的存储方式,如行片断、行链接和NULL值存储,以及视图、物化视图的作用。同时,对序列的创建和使用、同义词的功能、索引类型及其优缺点进行了说明。
最低0.47元/天 解锁文章
375

被折叠的 条评论
为什么被折叠?



