数据库和表的创建管理

上传人:宝路 文档编号:50491023 上传时间:2018-08-08 格式:PPT 页数:155 大小:3.16MB
返回 下载 相关 举报
数据库和表的创建管理_第1页
第1页 / 共155页
数据库和表的创建管理_第2页
第2页 / 共155页
数据库和表的创建管理_第3页
第3页 / 共155页
数据库和表的创建管理_第4页
第4页 / 共155页
数据库和表的创建管理_第5页
第5页 / 共155页
点击查看更多>>
资源描述

《数据库和表的创建管理》由会员分享,可在线阅读,更多相关《数据库和表的创建管理(155页珍藏版)》请在金锄头文库上搜索。

1、(郑)第2章 数据库和表的创建创建数据库和表是Oracle 10g最基本的工作,数据库和表是Oracle用于组 织和管理数据的对象。本章将讲述数据库、表的基本概念,以及创建数据 库和表的两种方式。2.1 基本概念 Oracle是一种关系数据库管理系统(RDBMS)。关系数据库是按照二维表结 构方式组织的数据集合,每个表体现了集合理论中定义的数学概念 关 系。 2.1.1 数据库数据库(Database)是一个数据容器,它包含了表、索引、视图、过程、函 数、包等对象,并对其进行统一的管理。2.1.1 数据库 数据库结构是指它存储数据的方式。 Oracle数据库结构分为逻辑存储结构(或 称之为逻辑

2、数据库)与物理存储结构(或 称之为物理数据库)。 逻辑存储结构用于描述在0racle内部组 织和管理数据的方式。 物理存储结构定义了Oracle外部,即操 作系统中组织和管理数据的方式。 2.1.1数据库数据库的逻辑结构 表空间(TABLESPACE) 表空间是数据库的逻辑划分,一个表空间只属于一个数据库。 下面是Oracle 10g 版本默认创建的主要表空间。 SYSTEM表空间。SYSTEM表空间用于存放Oracle系统内部表和数据字典的数据。 SYSAUX表空间。SYSAUX表空间是Oracle 10g新增加的表空间,主要存放Oracle系统内部的常用样例用户的对象。 UNDO表空间。U

3、NDO表空间是存储撤销信息的表空间。 USERS表空间。 USERS表空间是Oracle系统建议用户使用的表空间。 TEMPORARY表空间。在Oracle数据库中,临时表空间主要供用户临时使用。 除了Oracle系统默认创建的表空间以外,用户可以根据应用系统的规模及其所 要存放对象创建多个表空间,以区分用户数据和系统数据。2.1.1数据库数据库的逻辑结构 (2) 表(TABLE) 表是数据库中存放用户数据的对象。它包含一组固定的列。表中的列描述该表 所 跟踪的实体的属性,每个列都有一个名字和若干个属性。表结构的一个样例如 图 2.1所示除了Oracle系统默认创建的表空间以外,用户可以根据应

4、用系统的规 模 及其所要存放对象创建多个表空间,以区分用户数据和系统数据 2.1.1数据库1. 数据库的逻辑结构 (3)约束条件(CONSTRAINT) 可以为一个表列创建约束条件,此时,表中的每一行都必须满足约束 条件定义 所规定的条件。约束条件有以下5种。 主键(Primary Key):主键是表中的一列或多个列。 缺省(DEFAULT) 约束条件:在表中插入一行数据但没有为列指定 值时生成一个在定义表时预先指定的值。 检查(CHECK) 约束条件:该约束条件确保指定列中的值符合一定 的条件。 惟一性(UNIQUE)约束条件:用于保证应具有惟一性而又不是主键 的一部分的那些列的惟一性。 外

5、键(Foreign Key)约束条件:该约束条件规定表间的关系性质。 2.1.1数据库1. 数据库的逻辑结构 (4) 分区(PARTITION) 在非常大的数据库中,可以通过把一个大表的数据分成多个小表来简化数据库的 管理,这些小表称作分区。 (5) 索引(INDEX) 索引是帮助用户在表中快速地找到记录的数据库结构,它既可以提高数据库性能, 又能够保证列值的惟一性。 (6) 用户(USER) 用户帐号虽然不是数据库中的一个物理结构,但它与数据库中的对象有着重要的关 系,这是因为用户拥有数据库的对象。 (7) 方案(SCHEMA) 用户帐号拥有的对象集称为用户的方案(SCHEMA)。 (8)

6、同义词 为了给不同的用户使用数据库对象时提供一个简单的、惟一标识数据库对 象的名称,可以为数据库对象创建同义词。 (9) 权限及角色(ROLE) 为了访问其他帐号所有的对象,必须首先被授予访问这个对象的权限。2.1.1数据库1. 数据库的逻辑结构(10) 段(SEGMENT)、盘区(EXTENT)和数据块(DATA BLOCK) 依照不同的数据处理性质,可能需要在数据表空间内划分 出不同区域,以存放不 同数据,将这些区域称之为“段”(SEGMENT)。 图2.2说明了段、盘区和数据块之间的关系。逻辑数据库是 由若干表空间组 成,每个表空间 由若干个段组成 ,每个段由若干 区组成,每个区 是由若

7、干个连续 的数据块组成, 每个块是由若干 字节组成。 图2.2 段、盘区和数据块之间的关系回滚段在逻辑上,Oracle数据库是由一个或多个 表空间组成的,表空间被划分为一个个独立 的段,数据库中创建的所有对象都必须保存在 指定的表空间中。 在物理上,一个表空间对应于操作系统中 的一个或多个数据文件。一个对象的数据存 储在表空间的任意一个数据文件中,也可将 同一个对象的数据分布在表空间的多个数据 文件中,还可以将同一个对象分布在多个表 空间中(如对表进行分区后的分区表)。2.1.1数据库数据库物理结构 (1) 数据文件(DATAFILE) 每一个Oracle 10g数据库有一个或多个数据文件,而

8、一个数据文件只能属于一个表空间。数据库、表空间和数据文件之间的关系如图2.3所示。 图2.3 数据库、表空间和数据文件之间的关系 2.1.1数据库(2) 重做日志文件(REDO LOG FILES)除了数据文件外,最重要的Oracle 10g 数据库实体档案就是重做日志文件。(redo log files)。Oracle保存所有数据库 事务的日志。这些事务被记录在联机重做 日志文件(Online Redo Log File)中。当数 据库中的数据遭到破坏时,可以用这些日 志来恢复数据库。写入:LGWR循 环方式来使用 联机重做日志 。提交事务,生 成系统变更号 SCN。SCN与重 做记录一起保

9、 存在重做日志 文件中。 归档重做日志文件 数据库在归档模式,LGWR进程在写入 下一个重做日志文件之前,必须等待该联 机重做日志文件完成归档,否则LGWR进 程将被挂起,数据库也停止运行。在归档 重做日志文件中,记录了自从数据库置于 归档模式后,用户对数据库所进行的所有 修改操作。优点: 可以进行介质恢复,可以进行部分备份 , 保证备份数据库与目标库的一致性。(3) 控制文件(CONTROL FILES) 控制文件是一个记录数据库结构的二进制文 件,在其中如下重要信息: v数据库名,数据库建立的时间。 v数据文件名称、位置、联机/脱机状态信息 v重做日志文件的名称和路径。 v表空间名称等信息

10、。 v当前日志序列号,日志历史记录。 v归档日志信息。最近检查点信息。 v恢复管理器RMAN的备份信息等。 实例在加载数据库时读取控制文件,以 找到自己所需的操作系统文件。控制文件必须在整个数据库打开期间始 终保持可用状态。 控制文件中的内容只能够由 Oracle本身 来修改。每个数据库必须至少拥有一个控制文件 。一个数据库也可同时拥有多个相同的控制 文件,但是一个控制文件只能属于一个数据 库。 2.1.2表表是用来存储和操作数据的一种逻辑结构。表由行和列组成,因此也称之为 二 维表。1. 表结构表是在日常工作和生活中经常使用的一种表示数据及其关系的形式。关系数 据 库使用表(即关系)来表示实

11、体及其联系。表包含下列概念:表结构:每个数据库包含了若干个表。每个表包含一组固定的列,而 列 由数据类型(DATATYPE)和长度(LENGTH)两部分组成,以描述该表所 跟 踪的实体的属性。记录:每个表包含了若干行数据,它们是表的“值”,表中的一行称为 一 个记录(Record),因此,表是记录的有限集合。字段:每个记录由若干个数据项构成,将构成记录的每个数据项称为 字 段(Field)。关键字:关键字可以将表中的不同记录区分开来。 2.1.2表2. 关系表与表之间有下列关系:(1) 一对一关系有两张表A表和B表, A表中的一条记录在B表中有一条记录与之对应。反过来 , B表中的一条记录在A

12、表中仅有一条记录与之对应。具有这种关系的两张表存在 一 对一的关系。(2)一对多关系有两张表A表和B表, A表中的一条记录在B表中有多条记录与之对应,反过来 ,B 表中的一条记录在A表中仅有一条记录与之对应。具有这种关系的两张表存在一 对 多的关系。(3)多对多关系有两张表A表和B表, A表中的一条记录在B表中有多条记录与之对应。反过来 ,B 表中的一条记录在A表中也有多条记录与之对应。但是A表和B表之间的这种多 对多 关系必须通过中间表C表来连接方可实现。 2.1.2表3. 表示实体的表和表示实体联系的表关系数据库用表来反映数据本身的内容以及反映数据之间的联系。所以在 关 系数据库中,包含了

13、反映实体信息的表和反映实体之间联系的表。例如,在学生成绩数据库中,用学生情况表反映了学生这一实体的信息, 如表 2.1所示。 2.1.2表3. 表示实体的表和表示实体联系的表课程情况表反映学校开设课程这一实体的信息,如表2.2所示。此外,还要一个表示 学生 实体与课程实体联系的表学生课程成绩表来表达学生学习课程的情况,如表2.3所 示。 2.1.3实例数据库实例(instance)也称作服务器(server),是指用来访问数据库文件集的 存 储结构(统称为System Global Area,即SGA)及后台进程的集合。实例与数据 库 之间的关系如图2.4所示。 图2.4 实例与数据库之间的关

14、系2.1.3实例1. 系统全局区当激活Oracle 10g数据库时,系统会先在内存内规划一个固定区域,用来存 储 每位使用者所需存取的数据以及Oracle 10g运作时必备的系统信息。这个区域 称 为系统全局区(System Global Area),俗称SGA 。图2.5给出了SGA各重要区域之间的关系。图2.5 SGA之间的关系一个数据库至少有一个与之对应的实例。启 动数据库时先创建一个实例,然后由实例加 载(即将数据库与实例联系起来)并打开数据 库。用户连接连接到实例中,然后由实例负 责与数据库通信,将处理结果返回给用户内存结构主要记录如下数据: v 解析后的SQL或PL/SQL程序代码

15、。 v 用户连接会话信息。 v 缓存的数据。 v 程序运行时所需的各种信息。 SGA(System Global Area)和PGA(Program Global Area)。SGA是由所有服务进程和后 台进程所共享的内存段。PGA区是存放每个服 务进程和后台进程所私有的数据和控制信息 。Oracle中每个进程都拥有自己的PGA区。 2.1.3实例1. 系统全局区(1) 数据块缓存区。 数据块缓冲区为SGA 的主要成员 ,用来保存的是最近从数据文件中读取的数据(脏缓存 块、空闲块、命中块)。 (2) 重做日志缓冲区:它是存储对数据库所做修改信 息的缓存区。重做记录形式存储。(3)共享池:SQL

16、共享池存储数据字典缓存区及库缓存 区(library cache),即对数据库进行操作的语句信息。 字典缓存区。数据库对象的信息存储在数据字典中, 这些信息包括用户帐号、数据文件名、盘区位置、表 说明和权限等。(4)JAVA池:专门为所有JAVA代码 或JVM 中的数据而 分配的 内存,主要存储每个会话中每个类的共享部分 、会话的状态信息等。2.1.3实例2. 后台进程数据库的物理结构和存储结构之间的关系是由后台进程来维持。主要的背景处理 程序 如下。(1) DBWR(数据库写入程序):负责将数据块缓存区内变动过的数据块回写至硬盘 内 的数据文件。 (2) LGWR(日志写入程序):负责将重做日志缓冲区内的数据变动记录循序写入重 做 日志文件。 (3) SMON(系统监控程序):如果是因为停电或是其它因素导致Oracle数据库不正 常 被关闭,下一次激活数据库时将由SMON进行必要的数据库修复动作

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

当前位置:首页 > 中学教育 > 教学课件

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