数据库系统原理_第1页
数据库系统原理_第2页
数据库系统原理_第3页
数据库系统原理_第4页
数据库系统原理_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 赵东明赵东明原理教学(4学分) 笔试成绩占 80%90 理论教学 平时成绩占 20%10% 上机实践课程设计(2学分)1 数据库系统概论(第四版) 萨师煊、王珊 高等教育出版社, 2 A. Silberschatz, H. F. Korth, S. Sudarshan, Database System Concepts (Ed. 4), McGraw-Hill, 19993 数据库系统概念数据库系统概念(第四版),(中译本):杨冬青、唐世渭等译 机械工业出版社,4 数据库系统原理数据库系统原理(第二 版), 李建中等 电子工业出版社l数据库技术产生于六十年代末数据库技术产生于六十年代末, ,

2、 是计算机科学的重要分支是计算机科学的重要分支l数据库技术是信息系统的核心和基础数据库技术是信息系统的核心和基础l数据库系统是最广泛使用的软件系统之一数据库系统是最广泛使用的软件系统之一l数据库研究数据库研究, , 开发与应用是计算机学科最活跃的领域开发与应用是计算机学科最活跃的领域l三位图灵奖得主三位图灵奖得主 Charles W. BachmanCharles W. Bachman (1973) ( (1973) (数据库技术数据库技术) ) Edgar F. CoddEdgar F. Codd (1981) ( (1981) (关系数据库系统关系数据库系统) ) James GrayJa

3、mes Gray (1998) ( (1998) (数据库事务处理数据库事务处理) )l数据库涵盖了计算学科的主流领域之一数据库涵盖了计算学科的主流领域之一“信息管理信息管理”的主要内容的主要内容超市购物超市购物 图书馆系统图书馆系统购买火车、汽车、飞机票购买火车、汽车、飞机票 销售管理系统销售管理系统学生档案(成绩)管理学生档案(成绩)管理 工资管理系统工资管理系统银行存取管理系统银行存取管理系统 项目管理系统项目管理系统同学们可以举出更多使用数据库的实际例子同学们可以举出更多使用数据库的实际例子 先修课程:高级语言程序设计 数据结构后续课程:软件开发工具 软件工程 信息系统的核心是数据库,

4、而信息系统的开发过程要用到具体的软件开发工具和软件工程的方法。高级语言程序设计和数据结构是信息系统设计和研制的基础。这几门课程贯穿着开发应用系统的全过程。1 1了解数据管理技术的发展过程;了解数据管理技术的发展过程;2 2掌握数据库系统的基本概念、数据模型和体系结构;掌握数据库系统的基本概念、数据模型和体系结构;3 3掌握掌握RDBSRDBS的规范化理论和的规范化理论和SQLSQL的使用技术;的使用技术;4 4理解数据库设计的全过程,能进行数据库结构设计和理解数据库设计的全过程,能进行数据库结构设计和 简单的应用系统的设计;简单的应用系统的设计;5 5掌握数据库保护的四种措施:数据库的恢复技术

5、、掌握数据库保护的四种措施:数据库的恢复技术、 并发控制、系统的安全性和完整性;并发控制、系统的安全性和完整性;6 6了解数据库新技术的发展动向和内容。了解数据库新技术的发展动向和内容。第一章:数据库系统概述第一章:数据库系统概述 第十一章第十一章: XML: XML第二章:实体第二章:实体- -联系模型联系模型 第十二章第十二章 ODBCODBC编程编程第三章:关系数据模型第三章:关系数据模型第四章:关系数据库标准语言第四章:关系数据库标准语言SQLSQL第五章:完整性和安全性第五章:完整性和安全性第六章:关系数据库的设计理论第六章:关系数据库的设计理论第七章:数据库设计第七章:数据库设计第

6、八章:查询处理和优化第八章:查询处理和优化第九章:事务与并发控制第九章:事务与并发控制第十章:数据库的恢复技术第十章:数据库的恢复技术 数据库技术是计算机科学中发展最快的领域之一,也是应用最广泛的技术之一,它已成为计算机信息系统与应用系统的核心技术和重要基础。 数据库系统是计算机学科体系中十分重要的系统软件。数据库系统原理是计算机科学与技术专业中一门必修课程,该课程理论性强,并具有一定的实用技术。1.1.1 为什么需要数据库管理系统(DBMS)一、一、数据管理的例子 零售业零售业-管理产品、客户和购买信息管理产品、客户和购买信息 银行业银行业-管理客户、帐户和存贷款信息管理客户、帐户和存贷款信

7、息 制造业制造业-管理供应、订单、库存、销售等信息管理供应、订单、库存、销售等信息电信业电信业- 管理通讯网络信息、存储通话记录、维护电话卡余额管理通讯网络信息、存储通话记录、维护电话卡余额 如何合理地组织数据?如何合理地组织数据? 如何有效地访问数据如何有效地访问数据 ?n数据查询n数据更新 (插入、删除、修改)n并发访问控制 (数据需要多用户共享)n故障恢复 (各类故障是不可避免的)n数据的安全性 (防止非法使用和越权使用)n数据的完整性 (数据符合语义,满足一致性) 数据库管理系统 ( DBMS )DBMS的功能: 1. 数据定义 - 提供数据定义语言(DDL) 2. 数据操纵 - 提供

8、数据操纵语言(DML)3. 事务管理和运行管理 - 统一管理数据、控制对数据的并发访问 保证数据的安全性、完整性 确保故障时数据库中数据不被破坏4. 数据存储和查询处理 - 确定数据的物理组织和存取方式 提供数据的持久存储和有效访问 确定查询处理方法,查询优化5. 数据库的建立和维护-数据库转储、性能监测等6. 其他功能- 包括DBMS与其它软件通信 异构数据库之间数据转换和互操作 n 数据(Data)(1)定义:描述事物的符号记录称为Data。(2)数据的表现形式 数据是数据库中存储的基本对象。它有多种表现形式(声、文、图等),但各类数据都必须数字化后才能加工处理。 在计算机中,为了存储和处

9、理事物,就需要抽象出对事物感在计算机中,为了存储和处理事物,就需要抽象出对事物感兴趣的特征组成一个记录来描述。兴趣的特征组成一个记录来描述。例如例如: ( 李明李明 男男 1982 1982 江苏江苏 ) ( 8.25 A1 50 5 2508.25 A1 50 5 250 ) 数据记录本身只是一个存储和处理的形式,只有对其进行了数据记录本身只是一个存储和处理的形式,只有对其进行了解释才能完整的表达内容。解释才能完整的表达内容。 因此,数据和关于数据的解释是不可分的。因此,数据和关于数据的解释是不可分的。数据的语义n数据库(Database,简称,简称DB)是持久储存在计算机中、有组织的、可共

10、享的大量数据的集合 数据库中的数据按一定的数据模型组织、描述和存储 可以被各种用户共享 具有较小的冗余度 较高的数据独立性 易于扩展 n 数据库模式: 在数据库中,使用数据模型对数据建模, 所产生的设计结果 数据库模式描述数据库的数据结构(型),具有相对稳定性 特定时刻数据库中的数据称为数据库的实例(值) n 数据库系统由数据库、DBMS(及其开发工具)、 应用系统和数据库管理员组成 DBSDBS 是指在计算机系统中引入了数据库后的系统。一般由 DB、DBMS、应用系统、DBA、USER等构成。用户用户用户应用系统应用开发工具数据库管理系统操作系统DB 数据库管理员 数据模型是对现实世界数据特

11、征的抽象。 在数据库中用数据模型这个工具来抽象、表示、和处理现实世界中的数据和信息。 数据模型应满足三方面的要求: (1)能比较真实地模拟现实世界; (2)易于为人理解 (3)便于在计算机上实现。 (1)概念模型 ( 从用户的观点来对数据和信息建模) ( 主要用于数据库设计 ) (2)数据模型 (逻辑模型和物理模型) (从计算机的观点来对数据和信息建模) ( 主要用于 DBMSDBMS 的实现 )现实世界信息世界机器世界概念模型DBMSDBMS支持的数据模型 概念模型用于信息世界的建模。是现实世界到信息世界的第一层抽象。 概念模型是进行数据库设计的有力工具。同时也是数据库设计人员与用户之间进行

12、交流的语言。 信息世界中的基本概念 (P14) 实体 属性 码 域 实体型 实体值 联系 实体型之间的联系有三类: 1:1 1:n m:n学校校长领导11职工部门所在1N课程学生选课NM参考书课程讲授NM教师1零件供应商 供应PN项目M 职 工领 导N1实体型联系连线属性学 生选课M学号课 程姓名年龄系别N课程号名称学分 数据模型通常由数据结构、数据操作和完整性约束三部分组成。 数据结构 数据结构是所研究的对象类型的集合。它们包括两类:一类是与数据类型、内容、性质有关的对象;一类是与数据之间的联系有关的对象。 数据结构是刻画一个数据模型性质最重要的方面。在数据库系统中,人们通常按数据结构的类型

13、来命名数据模型。 数据结构是对系统静态特性的描述。 数据操作是指对数据库中各种对象的实例允许执行的操作的集合。包括操作及有关的操作规则。 数据库主要有检索和更新两大类操作。数据模型必须精确地定义这些操作。 数据操作是对系统动态特性的描述。 数据的约束条件 数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据模型中数据及联系所具有的制约和依存的规则。其目的是为了保证数据的正确、有效、和相容。 数据库中最常见的逻辑数据模型 层次模型网状模型关系模型面向对象模型对象关系模型非关系模型注意:这里讲的数据模型都是逻辑上的,是计算机能够理解,且被 DBMS DBMS 支持的数据视图。 在非关系模型

14、中,实体用记录表示;实体的属性用记录的数据项即字段表示;实体间的联系转换为记录之间的两两联系。 基本层次联系 非关系模型中数据结构的单位是基本层次联系。 它是指两个记录以及它们之间的 1:n(包括1:1)的联系。 Ri RjLij 定义 满足下条件的基本层次联系的集合。 (1)有且只有一个结点无父结点,称根结点; (2)根除外的其它结点有且只有一个父结点。 基本特点 对任意一个给定的记录值,只有按其路径查看时,才能显示出它的全部意义。没有一个子女结点能脱离双亲记录值而独立存在。 例子 (P21) 定义 满足下条件的基本层次联系的集合。 (1)允许一个以上结点无父结点; (2)一个结点可以有多个

15、父结点。 网状模型的数据结构更具有普遍性,它还允许两个记录之间有多种联系。 例子 关系模型时目前最重要的数据模型。关系数据库系统是采用关系模型来组织数据。 关系模型的数据结构 从用户的角度来看,关系模型中数据的逻辑结构就是一张二维表。 关系de一些术语 关系 元组 属性 码 域 分量 关系模式注意:关系模型要求关系必须是规范化的。 关系中的每个分量都是不可分的。至少满足1NF (1)关系模型的操作包括: 查询 插入 删除 修改 (2)定义数据操作的方法有两种 关系代数 (如并、交、差、选择、投影、连接) 关系演算 (元组关系演算 域关系演算) 关系模型的数据操作是元组集合的操作。操作的对象和操

16、作的结果都是关系。 实体完整性 参照完整性 用户自定义的完整性 实体完整性和参照完整性是通用完整性约束,由关系模实体完整性和参照完整性是通用完整性约束,由关系模型明确定义型明确定义 关系模型中,实体以及实体间的联系全都用二维表来表示。 在关系数据库中,表的物理结构常以OS的文件形式来组织。一个表可以对应一个文件,也可以对应多个文件。 关系模型的优缺点 考察数据库系统的结构可以有不同的角度。考察数据库系统的结构可以有不同的角度。n从从 DBMSDBMS 的角度看,数据库系统通常采用三级模式结构的角度看,数据库系统通常采用三级模式结构 内模式内模式 外模式外模式 模式模式 n从从 USERUSER

17、 的角度看,数据库统的结构分为的角度看,数据库统的结构分为 单用户结构单用户结构 主从式结构主从式结构 分布式结构分布式结构 客户客户/ /服务器结构服务器结构 浏览器浏览器/ /应用服务器应用服务器/ /数据库服务器结构数据库服务器结构n 单用户数据库系统单用户数据库系统 整个数据库系统(包括应用程序、整个数据库系统(包括应用程序、DBMSDBMS、数据)、数据)都安装都安装 在一台计算机上在一台计算机上 为一个用户所独占为一个用户所独占 不同机器之间不能共享数据不同机器之间不能共享数据单用户系统是一种早期的数据库系统,目前已经不再流行单用户系统是一种早期的数据库系统,目前已经不再流行 数据

18、库系统,包括应用程序、数据库系统,包括应用程序、DBMSDBMS和数据都集中存和数据都集中存放在主机上放在主机上 所有处理任务都由主机来完成所有处理任务都由主机来完成 用户通过主机的终端并发地访问数据库,共享数据用户通过主机的终端并发地访问数据库,共享数据资源资源 主从式结构的数据库系统是一种一台主机带多主从式结构的数据库系统是一种一台主机带多个终端的多用户系统个终端的多用户系统n 分布式结构分布式结构 分布式结构的数据库系统中,数据在逻辑上是一个分布式结构的数据库系统中,数据在逻辑上是一个整体,但物理地分布在计算机网络的不同结点上整体,但物理地分布在计算机网络的不同结点上 网络中的每个结点都

19、可以独立处理本地数据库中的网络中的每个结点都可以独立处理本地数据库中的数据,执行局部应用数据,执行局部应用 也可以同时存取和处理多个异地数据库中的数据,也可以同时存取和处理多个异地数据库中的数据,执行全局应用执行全局应用 n客户客户/ /服务器结构服务器结构 客户客户/ /服务器结构的数据库系统把服务器结构的数据库系统把DBMSDBMS功能和应用分功能和应用分开开 网络中某些结点上的计算机专门用于执行网络中某些结点上的计算机专门用于执行DBMSDBMS功能,功能,称为数据库服务器(简称服务器称为数据库服务器(简称服务器 其他结点上的计算机安装其他结点上的计算机安装DBMSDBMS的外围应用开发

20、工具,的外围应用开发工具,支持用户的应用,称为客户机支持用户的应用,称为客户机 客户客户/ /服务器结构是广泛采用的数据库系统结服务器结构是广泛采用的数据库系统结构。大部分商品化的构。大部分商品化的DBMSDBMS都支持这种结构。都支持这种结构。 数据库系统的三级模式结构是指数据库系统内部是由外模式、模数据库系统的三级模式结构是指数据库系统内部是由外模式、模式和内模式三级构成。式和内模式三级构成。 应用A应用B应用E应用D应用C外模式外模式1 1外模式外模式2 2外模式外模式3 3 模模 式式 内内 模模 式式DB 外模式又称为外模式又称为用户模式用户模式,或,或子模式子模式。它是数据库用户能

21、够看到。它是数据库用户能够看到和使用的局部数据的逻辑结构和特征的描述,是某一应用的用户的数和使用的局部数据的逻辑结构和特征的描述,是某一应用的用户的数据视图。据视图。 外模式通常是模式的一个子集。一个数据库可以有多个外模式。外模式通常是模式的一个子集。一个数据库可以有多个外模式。 外模式是保证数据库安全性的一个有力措施。每个用户只能看到外模式是保证数据库安全性的一个有力措施。每个用户只能看到和使用它对应的外模式中的数据,数据库中的其它数据是不可见的。和使用它对应的外模式中的数据,数据库中的其它数据是不可见的。 模式又称为模式又称为逻辑模式逻辑模式。它是数据库中全体数据的逻辑结构和特。它是数据库

22、中全体数据的逻辑结构和特征的描述,是所有用户的公共数据视图。征的描述,是所有用户的公共数据视图。 一个数据库只有一个模式。数据库模式是以某个数据模型为基础,一个数据库只有一个模式。数据库模式是以某个数据模型为基础,统一综合考虑了所有用户的数据需求,并将这些需求结合在一个逻辑统一综合考虑了所有用户的数据需求,并将这些需求结合在一个逻辑整体上。整体上。模式的定义包括模式的定义包括: (1 1)数据的逻辑结构)数据的逻辑结构 (数据项的名字、类型等)(数据项的名字、类型等) (2 2)数据之间的联系)数据之间的联系 (3 3)数据的安全性和完整性)数据的安全性和完整性 内模式又称为内模式又称为存储模

23、式存储模式。一个数据库只有一个内模式。它是数。一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。据物理结构和存储方式的描述,是数据在数据库内部的表示方式。 例如:例如: 记录的存储方式是按记录的存储方式是按 B+B+树结构存储;树结构存储; 数据按数据按* * * *方式压缩;方式压缩; 数据按数据按* * * *方式加密。方式加密。 数据库系统的三级模式是对数据的三个抽象级别。它把数据的数据库系统的三级模式是对数据的三个抽象级别。它把数据的具体组织留给具体组织留给 DBMS DBMS 管理。管理。 为了在内部能实现这三个抽象层次的联系和转换,为了在内部

24、能实现这三个抽象层次的联系和转换,DBMSDBMS在这三级在这三级模式之间提供了两层映象:模式之间提供了两层映象: 外模式外模式/ /模式映象模式映象 模式模式/ /内模式映象内模式映象 正是这两层映象保证了数据库系统中的数据能够具有较高的逻正是这两层映象保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。辑独立性和物理独立性。 模式模式描述的是数据的全局逻辑结构,描述的是数据的全局逻辑结构,外模式外模式描述的是数据的局描述的是数据的局部逻辑结构。对每一个外模式,数据库系统都有一个外模式部逻辑结构。对每一个外模式,数据库系统都有一个外模式/ /模式映模式映象,它定义了该外模式与模式之

25、间的对应关系。象,它定义了该外模式与模式之间的对应关系。 外模式外模式/ /模式映象模式映象的定义通常包含在各自的外模式的描述中。的定义通常包含在各自的外模式的描述中。什么是数据的逻辑独立性?什么是数据的逻辑独立性? 当模式改变时,由当模式改变时,由 DBA DBA 对各对各 外模式外模式/ /模式映象模式映象 作相应改变,作相应改变,可以使外模式不变,由于应用程序是依据数据的外模式编写的,从可以使外模式不变,由于应用程序是依据数据的外模式编写的,从而应用程序不变。这就保证了数据与程序的逻辑独立性。而应用程序不变。这就保证了数据与程序的逻辑独立性。 数据库中只有一个数据库中只有一个模式模式,也

26、只有一个,也只有一个内模式内模式。所以,。所以,模式模式/ /内内模式映象模式映象定义了数据库全局逻辑结构与存储结构之间的对应关系。定义了数据库全局逻辑结构与存储结构之间的对应关系。 模式模式/ /内模式映象内模式映象的定义通常包含在模式的描述中。的定义通常包含在模式的描述中。什么是数据的物理独立性?什么是数据的物理独立性? 当数据库的存储结构改变时,由当数据库的存储结构改变时,由 DBA DBA 对对模式模式/ /内模式映象内模式映象 作相作相应改变,可以使模式不变,外应改变,可以使模式不变,外模式也不变。模式也不变。从而应用程序也不变。这从而应用程序也不变。这就保证了数据与程序的物理独立性

27、。就保证了数据与程序的物理独立性。 数据与程序之间独立性,使得数据的定义和描述可以从应用数据与程序之间独立性,使得数据的定义和描述可以从应用程序中分离出去。另外,由于数据的存取都是由程序中分离出去。另外,由于数据的存取都是由 DBMS DBMS 管理的,管理的,用户不必考虑存取路径等细节,从而简化了用程序的编制,也减用户不必考虑存取路径等细节,从而简化了用程序的编制,也减轻了应用程序的维护和修改。轻了应用程序的维护和修改。数据库系统提供三种语言数据库系统提供三种语言n用于定义数据库模式的数据定义语言用于定义数据库模式的数据定义语言(DDL)n用于表达数据库的查询和更新的数据操纵语言用于表达数据

28、库的查询和更新的数据操纵语言( DML )n用于定义用户对数据对象的访问权限的数据控制语言用于定义用户对数据对象的访问权限的数据控制语言( DML )n数据库模式由数据库模式由DDL (Data Definition LanguageData Definition Language)来定义)来定义例如例如 CREATE TABLE CREATE TABLE StudentsStudents( Sno CHAR(9) PRIMARY KEY,( Sno CHAR(9) PRIMARY KEY, Sname CHAR(8), Sname CHAR(8), Ssex CHAR(2), Ssex CH

29、AR(2), Sbirthday DATE, Sbirthday DATE, Sept CHAR(20) ); Sept CHAR(20) );n 数据库的主要操作是查询和更新(插入、删除和修改)。用户数据库的主要操作是查询和更新(插入、删除和修改)。用户可以使用可以使用DML (Data Manipulation LanguageLData Manipulation LanguageL)表达对按照某)表达对按照某种数据模式组织起来的数据的访问。种数据模式组织起来的数据的访问。n例如例如 select Sname, Sno from Students where Sept=软件工程软件工程 u

30、pdate SC set Grade=Grade+10 where Grade60 and sno in ( select sno from Students where Sept=软件工软件工程程 )用于定义用户对数据对象的访问权限和审计用于定义用户对数据对象的访问权限和审计n DCLDCL提供授权语句保证数据的安全性提供授权语句保证数据的安全性n DCLDCL还提供了回收授权和建立审计的语句还提供了回收授权和建立审计的语句n例如例如 grant SELECT on table Students to User1 数据库系统一般由数据库、数据库系统一般由数据库、DBMSDBMS、应用系统、应

31、用系统 和和 DBA DBA 等等 组成。组成。 一、硬件平台及数据库一、硬件平台及数据库 (内存、外存、通道能力(内存、外存、通道能力 等)等) 二、软件二、软件 (DBMSDBMS、OSOS、 COMPILERCOMPILER、开发工具、开发工具 等)等) 三、人员三、人员 ( DBADBA、系统分析员、数据库设计员、系统分析员、数据库设计员、 应用程序员、用户应用程序员、用户 等等 ) n 负责管理数据库,实施数据的集中控制的人称为数据库管负责管理数据库,实施数据的集中控制的人称为数据库管理员(理员(Database AdministratorDatabase Administrator,DBADBA)n DBADBA的主要职责包括:的主要职责包括: 1. 1. 决定数据库中的信息内容和数据的逻辑结构决定数据库中的信息内容和数据的逻辑结构 2. 2. 决定数据库的存储结构和存取策略决定数据库的存储结构和存取策略 3. 3. 定义数据的安全性要求和完整性约束条件定义数据的安全性要求和完整性约束条件 4. 4. 数据库系统的数据库系统的日常维护日常维护 5. 5. 数据库的重组和重构数据库的重组和重构 (1) (1) 周期性转储数据库,防止灾难发生导致数据库被破

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论