Oracle数据库的基本概念与SQL的基本介绍

上传人:luobi****88888 文档编号:133229227 上传时间:2020-05-25 格式:DOC 页数:8 大小:43.50KB
返回 下载 相关 举报
Oracle数据库的基本概念与SQL的基本介绍_第1页
第1页 / 共8页
Oracle数据库的基本概念与SQL的基本介绍_第2页
第2页 / 共8页
Oracle数据库的基本概念与SQL的基本介绍_第3页
第3页 / 共8页
Oracle数据库的基本概念与SQL的基本介绍_第4页
第4页 / 共8页
Oracle数据库的基本概念与SQL的基本介绍_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《Oracle数据库的基本概念与SQL的基本介绍》由会员分享,可在线阅读,更多相关《Oracle数据库的基本概念与SQL的基本介绍(8页珍藏版)》请在金锄头文库上搜索。

1、1. Oracle数据库的基本概念1.1. 数据库结构和空间管理一个ORACLE数据库是数据的集合,被处理成一个单位。一个ORACLE数据库有一个物理结构和一个逻辑结构。物理数据库结构(physical database structure)是由构成数据库的操作系统文件所决定。每一个ORACLE数据库是由三种类型的文件组成:数据文件、日志文件和控制文件。数据库的文件为数据库信息提供真正的物理存储。逻辑数据库结构是用户所涉及的数据库结构。一个ORACLE数据库的逻辑结构由下列因素决定:l 一个或多个表空间l 数据库模式对象(即表、视图、索引、聚集、序列、存储过程)逻辑存储结构如表空间(datas

2、pace)、段(segment)和范围将支配一个数据库的物理空间如何使用。模式对象(schema object)用它们之间的联系组成了一个数据库的关系设计。1) 物理结构(1) 数据文件每一个ORACLE数据库有一个或多个物理的数据文件(data file)。一个数据库的数据文件包含全部数据库数据。逻辑数据库结构(如表、索引)的数据物理地存储在数据库的数据文件中。数据文件有下列特征:l 一个数据文件仅与一个数据库联系。l 一旦建立,数据文件不能改变大小l 一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成。 数据文件中的数据在需要时可以读取并存储在ORACLE内存储区中。例如:用户要存

3、取数据库一表的某些数据,如果请求信息不在数据库的内存存储区内,则从相应的数据文件中读取并存储在内存。当修改和插入新数据时,不必立刻写入数据文件。为了减少磁盘输出的总数,提高性能,数据存储在内存,然后由ORACLE后台进程DBWR决定如何将其写入到相应的数据文件。(2) 日志文件每一个数据库有两个或多个日志文件(redo log file)的组,每一个日志文件组用于收集数据库日志。日志的主要功能是记录对数据所作的修改,所以对数据库作的全部修改是记录在日志中。在出现故障时,如果不能将修改数据永久地写入数据文件,则可利用日志得到该修改,所以从不会丢失已有操作成果。日志文件主要是保护数据库以防止故障。

4、为了防止日志文件本身的故障,ORACLE允许镜象日志(mirrored redo log),以致可在不同磁盘上维护两个或多个日志副本。日志文件中的信息仅在系统故障或介质故障恢复数据库时使用,这些故障阻止将数据库数据写入到数据库的数据文件。然而任何丢失的数据在下一次数据库打开时,ORACLE自动地应用日志文件中的信息来恢复数据库数据文件。(3) 控制文件每一ORACLE数据库有一个控制文件(control file),它记录数据库的物理结构,包含下列信息类型:l 数据库名;l 数据库数据文件和日志文件的名字和位置;l 数据库建立日期。为了安全起见,允许控制文件被镜象。每一次ORACLE数据库的实

5、例启动时,它的控制文件用于标识数据库和日志文件,当着手数据库操作时它们必须被打开。当数据库的物理组成更改时,ORACLE自动更改该数据库的控制文件。数据恢复时,也要使用控制文件。2) 逻辑结构数据库逻辑结构包含表空间、段、范围(extent)、数据块和模式对象。(1) 表空间一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间(TABLESPACE)。一个表空间可将相关的逻辑结构组合在一起。 每个数据库可逻辑划分为一个或多个表空间 每一个表空间是由一个或多个数据文件组成,该表空间物理地存储表空间中全部逻辑结构的数据。每一个ORACLE数据库包含有一个名为SYSTEM的表空间,在数据库建立是

6、自动建立。在该表空间中总包含有整个数据库的数据字典表。最小的数据库可只需要SYSTEM表空间。该表空间必须总是在线。表和存储的PL/SQL程序单元(过程、函数、包和触发器)的全部存储数据是存储在SYSTEM表空间中。如果这些PL/SQL对象是为数据库建的,DBA在SYSTEM表空间中需要规划这些对象所需要的空间。表空间利用增加数据文件扩大表空间,表空间的大小为组成该表空间的数据文件大小的和。ORACLE数据库中一表空间是由一个或多个物理数据文件组成,一个数据文件只可与一个表空间想联系。当为一表空间建立一数据文件时,ORACLE建立该文件,分配指定的磁盘空间容量。(2) 段、范围和数据块ORAC

7、LE通过段、范围和数据块逻辑数据结构可更细地控制磁盘空间的使用。段段(SEGMENT)包含表空间中一种指定类型的逻辑存储结构,是由一组范围组成。在ORACLE数据库中有几种类型的段:数据段、牵引段、回滚段和临时段。数据段:对于每一个非聚集的表有一数据段,表的所有数据存放在该段。每一聚集有一个数据段,聚集中每一个表的数据存储在该段中。索引段:每一个索引有一索引段,存储索引数据。回滚段:是由DBA建立,用于临时存储要撤消的信息,这些信息用于生成读一致性数据库信息、在数据库恢复时使用、回滚未提交的事务。临时段:当一个SQL语句需要临时工作区时,由ORACLE建立。当语句执行完毕,临时段的范围退回给系

8、统。ORACLE对所有段的空间分配,以范围为单位。范围一个范围(EXTENT)是数据库存储空间分配的一个逻辑单位,它由连续数据块所组成。每一个段是由一个或多个范围组成。当一段中间所有空间已完全使用时,ORACLE为该段分配一个新的范围。为了维护的目的,在数据库的每一段含有段标题块(segment header block)说明段的特征以及该段中的范围目录。数据块数据块(data block)是ORACLE管理数据文件中存储空间的单位,为数据库使用的I/O的最小单位,其大小可不同于操作系统的标准I/O块大小。1.2. 数据类型数据类型参数描述char(n)n=1 to 2000字节定长字符串,n

9、字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节)varchar2(n)n=1 to 4000字节可变长的字符串,具体定义时指明最大长度n,这种数据类型可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受的字符集标准)中的所有符号。如果数据长度没有达到最大值n,Oracle 8i会根据数据大小自动调节字段长度,如果你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据类型。可做索引的最大长度3209。number(m,n)m=1 to 38n=-84 to 127可变长的数值列,允许0、正值及负值,m是所有有效数字的位数,n是小数点以

10、后的位数。如:number(5,2),则这个字段的最大值是99,999,如果数值超出了位数限制就会被截取多余的位数。如:number(5,2),但在一行数据中的这个字段输入575.316,则真正保存到字段中的数值是575.32。如:number(3,0),输入575.316,真正保存的数据是575。 date无从公元前4712年1月1日到公元4712年12月31日的所有合法日期,Oracle 8i其实在内部是按7个字节来保存日期数据,在定义中还包括小时、分、秒。缺省格式为DD-MON-YY,如07-11月-00 表示2000年11月7日。 long无可变长字符列,最大长度限制是2GB,用于不需

11、要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型。long是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 raw(n)n=1 to 2000可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 8i用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 long raw无可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来保存较大的图形文件或带格式的文本文件,如Miceo

12、soft Word文档,以及音频、视频等非文本文件。在同一张表中不能同时有long类型和long raw类型,long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。 blobclobnclob无三种大型对象(LOB),用来保存较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。LOB有几种类型,取决于你使用的字节的类型,Oracle 8i实实在在地将这些数据存储在数据库内部保存。可以执行读取、存储、写入等特殊操作。 bfile无在数据库外部保存的大型二进制对象文件,最大长度是4

13、GB。这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。Oracle 8i可以读取、查询BFILE,但是不能写入。大小由操作系统决定。 1.3. 基本表表(table)为数据库中数据存储的基本单位,其数据按行、列存储。每个表具有一表名和列的集合。每一列有一个列名、数据类型、宽度或精度、比例。一行是对应单个记录的列信息的集合。create table User_Base_Info_qiuzy (USER_ID VARCHAR2(100) not null, PASSWORD VARCHAR2(20) not null, CREATE_DATE DATE, UP

14、DATE_DATE DATE, primary key (USER_ID);1.4. 视图 一个视图(view)是由一个或多个表(或其他视图)中的数据的一种定制的表示,是用一个查询定义,所以可认为是一个存储的查询(stored query)或是一个虚表(virtual table)。视图可在使用表的许多地方使用。视图与表不同,一个视图不分配任何存储空间,视图不真正地包含数据。由查询定义的视图相应于视图引用表中的数据。视图只在数据字典中存储其定义。引入视图有下列好处: 通过限制对表的行预定义集合的存取,为表提供附加的安全性 隐藏数据复杂性。 为用户简化命令 为基本表的数据提供另一种观点。 可将应

15、用隔离基本表定义的修改 用于不用视图无法表示的查询。 可用于保存复杂查询。CREATE VIEW User_Base_Info_qiuzy_view AS (SELECT * from User_Base_Info_qiuzy where user_id like qiuzy%);1.5. 索引索引(index)是与表和聚集相关的一种选择结构。索引是为提高数据检索的性能而建立,利用它可快速地确定指定的信息。ORACLE索引为表数据提供快速存取路径。索引适用于一范围的行查询或指定行的查询。索引可建立在一表的一列或多列上,一旦建立,由ORACLE自动维护和使用,对用户是完全透明的。索引是逻辑地和物理地独立于数据,它们的建立或删除对表没有影响,应用可继续处理。索引数据的检索性能几乎保持常数,而当一表上存在许多索引时,修改、删除和插入操作的性能会下降。索引有唯一索引各非唯一索引。唯一索引保证表中没有两行在定义索引的列上具有重复值。ORACLE在唯一码上自动地定义唯一索引实施UNIQUE完整性约束。create index on_user_id on User_Base_Info_qiuzy (CREATE_DATE);drop i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 数据结构与算法

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号