Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
数据库原理及应用 (ORACLE)实用教程 成都电子高专计算机工程系 第1章 数据库的概念 第2章 实体联系模型 第3章 关系模型及ORACLE对象关系数据库 第4章 ORACLE SQL和PL/SQL 第5章 关系数据库设计理论 第6章 数据库的设计与维护 第7章 数据库保护 第8章 ORACLE的企业管理器(Enterprise Manager) 第9章 分布式数据库系统 第10章 数据库应用程序开发工具-ORACLE Developer 第11章 ORACLE J2EE高级技术与JDeveloper 第12章 ORACLE程序实例——图书管理信息系统 第一章 数据库的概念 1.1 数据库的意义 1.2 数据库的由来和发展 1.3 数据库的体系结构 1.4 数据库系统 1.5 数据库管理系统 1.1.1 DB(Database)数据库 Database :顾名思义,数据库(Database,即DB)是 存贮在一起的相关数据的集合,是存贮数据的“仓 库”。 诞生于20世纪中叶的计算机科学较之其它现 代科学技术的发展更迅速,在21世纪到来之际,它几 乎可以称为“知识爆炸”了。21世纪是信息和知识 的社会,如何组织和利用这些庞大的信息和知识已 成为衡量一个国家科学技术水平高低的重要标志。 早在60年代,数据库技术作为现代信息系统基础的 一门软件学科便应运而生了。现在,数据库技术已 成为计算机领域中最重要的技术之一,它是软件学 科中一个独立的分支。 1.1.2 数据模型 数据库系统就是实现有组织地、动态地存贮大量相 关数据,方便用户访问的计算机软、硬资源组成的系统。 而数据库技术是研究数据库的结构、存贮、设计和使用 的一门软件学科。因此,数据库技术主要是研究如何存 贮、使用和管理数据。 数据库离不开数据模型。数据模型是对现实世界客 观事物及其联系的描述,它反映数据项之间和记录之间 的联系,在数据库技术中使用模型的概念描述数据库的 结构与语义。 常用 有 三 种 数 据 模 型 ( data model): 层 次模 型 (hierarchical model),网状模型(network model) 和关系模型(relational model)。此外,还有面向对 返回 象模型(object-oriented model) 1.2 数据库的由来和发展 1.2.1人工管理阶段(20世纪50年代中期以前) 这一阶段的计算机主要用于科学计算。硬件中的外 存只有卡片、纸带等。软件只有汇编语言,没有数 据管理方面的软件。数据处理的方式基本上是批处 理。这个时期的数据管理特点如下: 1. 数据不保存 2. 没有专用软件对数据进行管理 3. 只有程序(PROGRAM)的概念、没有文件的概念 4. 数据面向应用 即一组数据对应于一个程序。 返回 5. 对数据的存取以记录为单位 1.2.2 文件系统阶段 文件系统阶段(20世纪50年代后期至60年代中 后期) 这一阶段的计算机不仅用于科学计算,还 大量用于信息管理。外存已有磁盘、磁鼓等直 接存取贮设备。软件方面出现了高级语言和操 作系统。操作系统中的文件系统(有时也称为 “信息处理模块”)是专门处理外存的数据管 理软件。处理数据方式有批处理,也有联机实 时处理。这一阶段数据管理情况如下: 1、特点 (2) 数据的物理结构与逻辑结构有了区别, 但较简单。程序与设备之间有设备独立 性(程序只需用文件名与数据打交道 ). (3) 文件的形式已多样化,有索引文件, 链接文件和直接存取等,因而对文件的记 录可顺序访问,也可随机访问。但文件之 间是独立的,联系要通过程序去构造, 文件的共享性差。 (4) 有了存贮文件以后,数据不再仅仅属 于某个特定的程序,而可以重复使用。但 文件结构的设计仍然是基于特定的用途, 程序仍然是基于特定的 . (5) 对数据的存取基本上还是以记录为 单位。 2. 缺陷 文件系统有三大缺陷: (1) 数据冗余性(redundancy),由于文件之 间缺泛联系,造成每个应用程序都有对应的文 件,有可能同样的数据在多个文件中重复存贮; (2) 不一致性(inconsistency),这往往是 由数据冗余造成的,在进行更新操作时,稍不谨 慎,就可能同样的数据在不同的文件中不一样; ( 3 ) 数 据 联 系 弱 ( poor data relationship),这是文件之间独立,缺乏联系 造成的。 1.2.3 数据库阶段 数据库阶段(20世纪60年代末开始) 1. 采用复杂的数据模型(结构) 数据模型不仅要描述数据本身的特点,还 要描述数据之间的联系。这种联系是通过存取 路径来实现的。通过一切存取路径来表示自然 的数据联系是数据库与传统文件的根本区别。 这样数据不再面向特定的某个或多个应用,而 是面向整个应用系统。数据冗余明显减少,实 现了数据共享。 2. 有较高的数据独立性 在数据库系统中,系统提供映象的功能,确保应用程序对数 据结构和存取方法有较高的独立性。用户以简单的逻辑结 构操作数据而无需考虑数据的物理结构。数据库结构分成 用户的逻辑结构、整体逻辑结构和物理结构。在改变物理 结构时,不影响整体逻辑结构、用户的逻辑结构以及应用 程序,这样就认为数据库达到了物理数据独立性。在改变 整体逻辑时,不影响用户的逻辑结构以及应用程序,这样 就认为数据库达到了逻辑数据独立性。 3. 数据库系统为用户提供了方便的用户接口 用户可使用查询语言或简单的终端命令操作数据库, 也可以使用程序方式(用高级语言如C、 FORTRAN等语言和 数据库操纵语言编制的程序)操作数据库。 4. 提供下述四方面的数据控制功能 (1)数据完整性:保证数据库始终包含正确的数据。用 户可设计一些完整性规则以确保数据值的正确性。 (2) 数据安全性:保证数据的安全和机密,防止数据丢 失或被窃取。 (3) 数据库的并发控制:避免并发程序之间的相互干扰, 防止数据库数据被破坏,杜绝提供给用户不正确的数据。 (4) 数据的恢复:在数据库被破坏时或数据不可靠时, 系统有能力把数据库恢复到最近某个时刻的正确状态。 5.还可以数据项为单位操作 对数据库的操作除了以记录为单位外还可以数据项为 单位。 1.2.4高级数据库阶段 高级数据库阶段(20世纪70年代后期开始) 这一阶段的主要标志是分布式数据库系统、面向对象 数据库、智能数据库系统的出现。 1.3数据库的体系结构 从DBMS的角度看: 数据库系统采用三级体系结构 从最终用户的角度看: 集中式结构 分布式结构 客户/服务器结构 平行结构 1.模式(schema)和实例(instance) 在数据模型中有型(type)和值(value)的概 念。型是对某一类数据的结构和属性说明,值是型 的一个具体赋值。例如:学生记录定义为(学号, 姓名,性别,系别,年龄,籍贯)这样的“型”, 而(900201,李明,男,计算机,22,江苏)则是 该型的一个“值” 数据库 模式 只是数据库的一种结构描述,仅涉 及到型的描述,并不涉及任何具体的数据。模式的 一个具体值称为模式的一个实例。 我们常说“定义了一个数据库”只是指定义了一个 数据库模式,只有按该模式装入数据以后,这个数 据库才算真正建立起来了。 2.数据库的三级体系结构 数据库的三个抽象级别,它把数据的具体组织留给 DBMS管理,使用户不必关心数据在计算机内的具体 表示方式与存储方式。 • 内模式(internal schema):也称存储模式 (storage schema).它是数据物理结构和存储方 式的描述,是数据在数据库内部的表示方式。数据 视图是指从某个角度看到的数据特性。 • 模式(schema):也称逻辑模式(logical schema) 是数据库中全体数据的逻辑结构和特征的描述,是 所有用户的公共数据视图。它是数据库系统模式结 构的中间层,既不涉及数据的物理存储细节和硬件 环境,也与具体的应用程序,所用的应用开发工具 无关。 • 外模式(external schema):也称子模式 (subschema)或用户模式,它是数据库用户 (包括应用程序员和最终用户)能看见和使 用的局部数据的逻辑结构和特征的描述,是 数据库用户的数据视图,是与某一应用有关 的数据的逻辑表示。 3. 数据库的二级映象功能与数据的独立性 为了实现三个抽象级别的转换,DBMS提供了 两层映像(mappings):外模式/模式映像, 模式/内模式映像。这两级映像保证了数据 库系统中的数据具有较高的数据独立性(逻 辑独立性和物理独立性) 物理独立性 Physical Data Independence: 指用户的应用程序存储在磁盘上的数据库中 数据是相互独立的。也就是说,数据怎样存 储是由DBMS管理的,用户程序不需要了解, 应用程序要处理的只是数据的逻辑结构,这 样当数据的物理存储改变了,应用程序不必 改变。 逻辑独立性 Logical data independence:指用户 的应用程序与数据库的逻辑结构是相互独立的,也 就是说逻辑结构改变了,用户程序也可以不变。 (1)外模式/模式映像 模式描述的是数据的全局逻辑结构,外模式描述的 是数据的局部逻辑结构。对应同一模式可以有任意 多个外模式。对于每一个外模式,数据库系统都有 一个外模式/模式映像,它定义了该外模式和模式 之间的对应关系。当模式改变时(例如增加了新的 关系,新的属性,改变属性的数据类型等),由数 据库管理员对各个外模式/模式的映像作相应的改 变,可以使外模式保持不变。应用程序是依据数据 的外模式编写的,从而应用程序不必修改,保证了 数据与程序的逻辑独立性,简称数据的逻辑独立性。 (2)模式/内模式映像 数据库只有一个模式,也只有一个内模式, 所以模式/内模式映像是唯一的,它定义了 数据库全局逻辑结构和存储结构之间的对应 关系。当数据库的存储结构改变了(例如选 用了另一种存储结构),由数据库管理员对 模式/内模式映像作相应的改变,可以使模 式保持不变,从而应用程序不必修改。保证 了数据与程序的物理独立性,简称数据的物 理独立性。 返回 1.4 DBS(database 统 systems)数据库系 数据库系统的组成: 硬件平台及数据库 软件(DBMS+OS+具有数据库接口的高级语言 及编译系统+以DBMS为核心的应用开发工具) 人员 (DBA,系统分析员,数据库设计人员, 应用程序员,最终用户) 返回 数据库管理员(DBA) 下面着重介绍DBA的工作:要想成功地运转数 据库,就要在数据处理部门配备管理人员DBA。 DBA必须熟悉企业全部数据的性质和用途,因 此他是面向应用的,对用户的需求有充分的认 识;他对系统性能也非常关切,因而要求他兼 有系统程序员和运筹学专家的品质和知识。 DBA是控制数据整体结构的人,负责保护和控 制数据,使数据能被任何有权使用的人有效使 用。DBA可以是一个人,但一般是由几个人组 成的一个小组,其主要职责是: 数据库管理员 数据库管理员(DBA)。下面着重介绍DBA的工 作。要想成功地运转数据库,就要在数据处理 部门配备管理人员DBA。DBA必须熟悉企业 全部数据的性质和用途,因此他是面向应用的, 对用户的需求有充分的认识;他对系统性能也 非常关切,因而要求他兼有系统程序员和运筹 学专家的品质和知识。DBA是控制数据整体结 构的人,负责保护和控制数据,使数据能被任 何有权使用的人有效使用。DBA可以是一个人, 但一般是由几个人组成的一个小组,其主要职 责是: ①决定数据库的信息内容和结构,确定 某现实问题的实体联系模型,建立与 DBMS有关的数据模型和概念模式。 ②决定存储结构和存取策略,建立内 模式和模式/内模式映象。使数据的存 储空间利用率和存取效率两方面都较优。 ③充当用户和DBS的联络员,建立外 模式和外模式/模式映象。 ④定义数据的安全性要求和完整性约束条件, 以保证数据库的安全性和完整性。安全性要求 是用户对数据库的存取权限,完整性约束条件 是对数据进行有效性检验的一系列规则和措施。 ⑤确定数据库的后援支持手段及制订系统出 现故障时数据库的恢复策略。 ⑥监视并改善系统的“时空”性能,提高系 统的效率。 ⑦当系统需要扩充和改造时,负责修改和调整外 模式、模式和内模式。 总之,DBA承担创建、监控和维护整个数据 库结构的责任。DBA负责维护数据库,但为了 保证数据的安全性,数据库的内容对DBA应该 是封锁的。例如,DBA知道职工记录类型中含 有工资数据项,他可以根据应用的需要将该数 据项类型由6位数字扩充到7位数字,但是他不 能读取或修改任一职工的工资数据。 1.5 DBMS(Database Management 数据库管理系统 System) DBMS是指数据库系统中对数据进行管理的软 件系统,它是数据库的核心组成部分,数 据库系统的一切操作,包括查询,更新及 各种控制,都是通过DBMS进行的。 主要功能有: 1.数据库定义功能 DBMS提供数据定义语言(data definition language,简称DDL),用户通过它可以方 便地对数据库中的数据对象进行定义。 2. 数据操纵功能 DBMS提供数据操纵语言 (data manipulation language,简称DML)实现对数据库的操作。 基本的数据操作有检索和增加,删除,修改两 大类。 3.数据库运行控制功能(通过四方面实现) : 数据 安全性(security) 保护:安全性指保 护数据以防止不合法的使用造成的数据的泄密 和破坏。 数据 完整性(integrity) 检查:完整性指数 据的正确性,有效性和相容性。 并发(concurrency)控制 :当多个用户 的并发进程同时存取,修改数据库时,可能 会发生相互干扰而得到错误的结果或使得数 据库的完整性遭到破坏. 数据库恢复(recovery):计算机系统的 硬件故障,软件故障,操作员的失误以及故 意的破坏也会影响数据库中数据的正确性, 甚至造成数据库部分或全部数据的丢失。 DBMS必须具有将数据库从错误状态恢复到某 一已知的正确状态(也称完整状态或一致状 态)的功能,这就是数据库的恢复功能。 4.数据库的维护功能 5.数据字典(data dictionary, 记为DD)存放 着数据库三级结构的描述 综上所述:数据库是长期存储在计算机内有组 织的大量的共享的数据集合。它可以供各种 用户共享,具有较小冗余度和较高的数据独 立性。DBMS在数据库建立,运用和维护时对 数据库进行统一控制,以保证数据的完整性, 安全性,并在多用户同时使用数据库时进行 并发控制,在发生故障后对系统进行恢复。 返回