数据库系统原理数据库系统原理


数据库系统原理数据库系统原理 数据库-绪论 2 教材教材 • 王珊、陈红,《数据库系统原理教程》,清华大学出版社, 1998 参考书参考书 • 萨师煊 、王珊,《数据库系统概论(第三版) 》 ,高等教 育出版社,2000 • C.J. Date(孟小峰等译),《数据库系统导论》 ,机械工 业出版社,2000 教材和参考书教材和参考书 讲授内容讲授内容 第一章 绪论 (3) 1.1 引言 1.2 数据模型 1.3 数据库系统结构 第二章 关系数据库(4) 2.1 关系数据库概述 2.2 关系数据结构 2.3 关系的完整性 2.4 关系代数 2.5 * 关系数据库管理系统 第三章 关系数据库标准语言SQL (4) 3.1 SQL的数据定义 3.2 SQL的查询语句 3.3 SQL的更新语句(自学) 3.4 SQL的视图 (自学) 第四章 关系数据库设计理论(4) 4.1 数据依赖 4.2 范式(1NF,2NF,3NF,BCNF) 4.3 关系模式的规范化 第五章 数据库设计(自学) 5.1 数据库设计的步骤 5.2 需求分析 5.3 概念结构设计 5.4 逻辑结构设计 5.5 数据库物理设计 数据库-绪论 4 1.1 引言 1.2 数据模型 1.3 数据库系统结构 第第 一一 章章 绪论绪论 数据库-绪论 5 ™ 数据库是数据管理的最新技术,是计算机科学的 重要分支 ™ 数据库技术在信息化社会中的重要作用 ‰ 信息系统的核心和基础技术 ‰ 日益广泛的应用 例如:管理信息系统(MIS)、联机事务处理(OLTP)、联机分析处理 (OLAP)、计算机辅助设计与制造(CAD/CAM)、计算机集成制造系 统(CIMS)、办公信息系统(OIS)、地理信息系统(GIS)…..and … Internet !!! 数据库技术的重要地位数据库技术的重要地位 数据库-绪论 6 常见数据库产品常见数据库产品 公司公司 主要产品主要产品 开源产品开源产品 数据库-绪论 7 1.11.1 引言引言 1.1.1 数据、数据库、数据库管理系统、数据库系统 ‰ 数据(Data): 描述事物的符号记录。数据与其语义是不可分的。 ‰ 数据库(DataBase,DB) 长期储存在计算机内的、有组织的、可共享的数据集合。 数据库中的数据按一定的数据模型组织、描述和储存,具有较 小的冗余度、较高的数据独立性和易扩展性,并可为各种用户 共享。 数据库-绪论 8 ‰‰ 数据库管理系统数据库管理系统((DataBaseDataBase Management SystemManagement System,,DBMSDBMS)) 位于用户与操作系统之间的一层数据管理软件。 主要功能主要功能: 1.数据定义:数据定义语言(Data Definition Language, DDL) 2.数据操纵: 数据操纵语言(Data Manipulation Language, DML) 3.数据库的运行管理: 统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据 的并发使用及发生故障后的系统恢复。 4.数据库的建立和维护:数据库初始数据的输入、转换,重组织、性 能监视和分析 数据库-绪论 9 5.数据组织、存储和管理功能: 6. 数据通信接口 四个组成部分:四个组成部分: ƒ 数据定义语言( DDL)及其翻译处理程序 ƒ 数据操纵语言(DML) 及其编译(或解释)程序 ƒ 数据库运行控制程序 ƒ 实用程序 数据库-绪论 10 ‰‰ 数据库系统数据库系统((DataBaseDataBase SystemSystem,,DBS)DBS) 指在计算机系统中引入数据库后的系统,一般由数据库、 数据库管理系统(及其开发工具)、应用系统、数据库管理 员和用户构成。 数据库管理员 (DataBase Administrator,DBA) 应用系统应用系统 DBDB 用户用户 应用开发工具应用开发工具 DBMSDBMS OSOS 用户用户 用户用户 DBADBA 图1 数据库系统(DBS) 图2 数据库在计算机系统中的地位 数据库-绪论 12 ™数据库技术是应数据管理任务的需要而产生的。 数据的处理是指对各种数据进行收集、存储、加工和传 播的一系列活动的总和。数据管理则是指对数据进行分 类、组织、编码、存储、检索和维护,它是数据处理的中 心问题。 ™数据管理技术经历了人工管理、文件系统、数据 库系统三个阶段。 1.1.2 数据管理技术的产生和发展 数据库-绪论 13 ‰ 人工管理阶段(20世纪50年代中期以前) 特点: (1)数据不保存 (2)应用程序管理数据 数据需要由应用程序自己管理,没有相应的软件系统负责数据的管 理工作。应用程序中不仅要规定数据的逻辑结构,而且要设计物理结 构,包括存储结构、存取方法、输入方式等。因此程序员负担很重。 (3)数据不共享 数据是面向应用的,一组数据只能对应一个程序。 (4)数据不具有独立性 数据的逻辑结构或物理结构发生变化后,必须对应用程序做相应的 修改。 数据库-绪论 14 应用程序1 数据集1 应用程序2 应用程序n … 图1-3 人工管理阶段应用程序与数据之间的对应关系 数据集2 … 数据集n 数据库-绪论 15 ‰ 文件系统阶段(50年代后期-60年代中期) 特点: (1)数据可长期保存 (2)由文件系统管理数据 相互独立的数据文件; “按文件名访问,按记录进行存取”的管理 技术;记录内的结构性而整体无结构;存取方法转换使应用程序与 数据之间有了一定的独立性;数据在存储上的改变不一定反映在程 序上。 (3)数据共享性差,冗余度大 文件仍然是面向应用的;数据的冗余度大;数据的修改和维护困 难 (4)数据独立性低 不易扩充;数据与程序之间仍缺乏独立性;是一个无弹性的无结 构的数据集合。 数据库-绪论 16 应用程序1 文件1 应用程序2 文件2 应用程序n 文件n … … 图1-4 文件系统阶段应用程序与数据之间的对应关系 存取方法 数据库-绪论 17 ‰ 数据库系统阶段(60年代- ) 特点: (1)数据结构化 数据结构化是数据库与文件系统的根本区别。 „ 文件系统中的记录之间没有联系。数据的最小存取单位是 记录。 „ 数据库系统实现整体数据的结构化,描述数据时不仅要描 述数据本身,还要描述数据之间的联系。数据不再针对其 一应用,是面向全组织,具有整体的结构化。数据的最小 存取单位是数据项。 学生记录格式示例 主记录-详细记录格式示例 (a) 主记录-详细记录格式示例(b) 面向组织(多个应用)的学生数据组织 9 整体结构化 9 用数据模型描述 数据库-绪论 21 (2)数据的共享性好,冗余度低 „ 数据可以被多个用户、多个应用共享使用 „ 共享导致数据冗余度低 ¾ 可避免数据之间的不相容性与不一致性 数据库-绪论 22 (3)数据独立性高 „ 数据独立性是由DBMS的二级映象功能来保证的。 ¾ 数据的总体逻辑结构与局部逻辑结构之间的映像功能 数据与程序的逻辑独立性 ¾ 数据的存储结构与逻辑结构之间的映像功能 数据与程序的物理独立性 数据库-绪论 23 (4)数据由DBMS统一管理和控制 „ 弹性大,易扩充 „ 数据控制功能: 数据的安全性 (security) 数据的完整性 (integrity) 正确性、有效性和相容性 并发(concurrency)控制 数据库恢复(recovery) 数据库-绪论 24 应用程序1 应用程序2 … 图1-5 数据库管理阶段程序与数据的对应关系 DBMS 数据库 数据库-绪论 25 表表11--1 1 数据管理三个阶段的比较数据管理三个阶段的比较 程序为中心 Æ 数据库为中心 数据库-绪论 26 1.1.3 数据库技术的研究领域 1.数据库管理系统软件的研制 2.数据库设计 3.数据库理论 数据收集和数据库创建 (20世纪60年代和更早) -原始文件处理 数据收集和数据库创建 (20世纪60年代和更早) -原始文件处理 数据库管理系统 (70年代) -层次和网状数据库系统 -关系数据库系统 -数据建模工具:E-R模型等 -索引和数据组织技术:B+树,Hash等 -查询语言:SQL等 -用户界面:表单、报告等 -查询处理和查询优化 -事务管理:恢复和并发控制等 -联机事务处理(OLTP) 数据库管理系统 (70年代) -层次和网状数据库系统 -关系数据库系统 -数据建模工具:E-R模型等 -索引和数据组织技术:B+树,Hash等 -查询语言:SQL等 -用户界面:表单、报告等 -查询处理和查询优化 -事务管理:恢复和并发控制等 -联机事务处理(OLTP) 数数 据据 库库 技技 术术 的的 演演 化化 数据仓库和数据挖掘 (80年代后期-现在) -数据仓库和OLAP技术 -数据挖掘和知识发现 数据仓库和数据挖掘 (80年代后期-现在) -数据仓库和OLAP技术 -数据挖掘和知识发现 高级数据库系统 (80年代中期-现在) -高级数据模型: 扩充关系、面向对象、 对象-关系、演绎 -面向应用: 空间的、时间的、多媒体的、 主动的、科学的、知识库 高级数据库系统 (80年代中期-现在) -高级数据模型: 扩充关系、面向对象、 对象-关系、演绎 -面向应用: 空间的、时间的、多媒体的、 主动的、科学的、知识库 基于Web的数据库系统 (90年代-现在) -基于XML的数据库系统 - Web挖掘 基于Web的数据库系统 (90年代-现在) -基于XML的数据库系统 - Web挖掘 新一代综合信息系统 ( 2000-…) 新一代综合信息系统 ( 2000-…) 数据库-绪论 29 新一代数据库系统及其相互关系 数据库-绪论 30 1.21.2 数据模型数据模型(Data Model)(Data Model) 数据库技术的发展是沿着数据模型的主线展开的 数据模型是现实世界数据特征的抽象 抽象、表示和处理现实世界中的数据和信息的工具 数据模型应满足三方面要求: 能比较真实地模拟现实世界 容易为人所理解 便于在计算机上实现 数据库-绪论 31 根据应用的不同目的,数据模型划分为两类: ™ 概念模型(信息模型) 按用户的观点来对数据和信息建模 主要用于数据库设计 ™数据模型 按计算机系统的观点对数据建模 主要包括网状模型、层次模型、关系模型等 主要用于DBMS的实现 现实世界 信息世界 概念模型 机器世界 DBMS支持的数据模型 转换 认识 抽象 图图11--10 10 对象的抽象过程对象的抽象过程 数据库-绪论 33 1.2.1 数据模型的三个要素 1. 数据结构 : 所研究的对象类型的集合 • 与数据类型、内容、性质有关的对象(例如网状模型中 的数据项、记录,关系模型中的域、属性、关系等) • 与数据之间联系有关的对象(例如网状模型中的系型) 数据结构是对系统静态特性的描述,是刻画一个数据模型性 质最重要的方面。 数据库-绪论 34 2. 数据操作 : 对数据库中各种对象(型)的实例(值)允许执 行的操作的集合,包括操作及有关的操作规则 • 主要有检索和更新两大类操作 • 数据操作是对系统动态特性的描述 数据库-绪论 35 2. 数据操作 : 对数据库中各种对象(型)的实例(值)允许执 行的操作的集合,包括操作及有关的操作规则 • 主要有检索和更新两大类操作 • 数据操作是对系统动态特性的描述 3.数据的约束条件 : 一组完整性规则的集合 完整性规则:给定的数据模型中数据及其联系所具有 的制约和依存规则,用以限定符合数据模型的数据库状态 以及状态的变化,以保证数据的正确、有效、相容。 数据库-绪论 36 1.2.2 概念模型 ™ 概念模型是现实世界到机器世界的一个中间层次 ™ 概念模型用于信息世界的建模 ‰应具有较强的语义表达能力 ‰应简单、清晰、易于用户理解 数据库-绪论 37 1. 信息世界中的基本概念 (1) 实体(Entity) 客观存在并可相互区别的事物 (2) 属性(Attribute) 实体所具有的某一特性称为属性。一个实体可以由 若干个属性来刻画。例如: (05002268,张山,男,1988,计算机系,2005) (3) 码(Key) 唯一标识实体的属性集 (4)域(Domain) 属性的取值范围 如:学号的域为8位整数,姓名的域为字符串集合,年 龄的域为小于38的整数,性别的域为(男,女)。 (5)实体型(Entity Type) 用实体名及其属性集合来抽象和刻画同类实体,称为 实体型。 如: 学生(学号,姓名,出生年份,系,入学时间) (6)实体集(Entity Set) 同型实体的集合 数据库-绪论 39 (7)联系(Relationship) 现实世界中的事物内部以及事物之间是有联系的 信息世界中反映为 实体(型)内部的联系:组成实体的各属性之间的联系 实体(型)之间的联系:不同实体集之间的联系 一对一联系(1:1) ,如“班级-班长” 一对多联系(1:n),如“班级-学生” 多对多联系(m:n),如“课程-学生” 两个实体型之间的三类联系 实体型A 实体型B 联系名 1 1 1:1联系 实体型A 实体型B 联系名 m n m:n 联系 实体型B 实体型A 联系名 1 n 1:n联系 数据库-绪论 41 多个实体型之间的联系也可以分为三类: • 一对一联系(1:1) • 一对多联系(1:n) 若实体集E1,E2,…,En存在联系,对于实体集Ej(j=1, 2,…,i-1,i+1,…,n)中的给定实体,最多只和Ei中的一个 实体相联系,则说Ei与E1,E2,…,Ei-1,Ei+1,En之间的联系是 一对多的。 • 多对多联系(m:n) 数据库-绪论 42 三个实体型之间的联系示例 数据库-绪论 43 职工 领导 1 n ™ 同一个实体集内的各实体之间也可以存在一对一、一 对多、多对多的联系。 数据库-绪论 44 2.概念模型的表示方法 实体-联系方法 (Entity-Relationship Approach) 由P.P.S.Chen于1976年提出 E-R 图 • 实体型- 矩形 • 属性 - 椭圆形 • 联系 - 菱形 工厂物资管理E-R图 数据库-绪论 46 1.2.2 数据模型 数据库领域中最常用的数据模型有4 种 ‰ 层次模型(Hierarchical Model),如 IBM的IMS系统 ‰ 网状模型(Network Model),如DBTG系统 ‰ 关系模型(Relational Model),如Oracle,Sybase ‰ 面向对象模型(Object Oriented Model) 数据库-绪论 47 1.31.3 数据库系统结构数据库系统结构 ™数据库系统结构的两种考察角度 从数据库管理系统角度看,数据库系统通常采用三级模式 结构,这是数据库管理系统内部的系统结构 从数据库最终用户角度看,数据库系统的结构分为 ¾ 集中式结构( 单用户结构、主从式结构) ¾ 分布式结构 ¾ 客户/服务器结构 ¾ 并行结构 这是数据库系统外部的体系结构 数据库-绪论 48 1.3.1 数据库系统模式的概念 ™ “型” (Type)和“值” (Value) 型是指一类数据的结构和属性的说明,值是型 的一个具体赋值。 例:记录型 (学号,姓名,性别,系别,年龄,籍贯) 记录值 (900201,李明,男,计算机,22,江苏) 数据库-绪论 49 ™模式(schema):是数据库中全体数据的逻辑结构和特 征的描述。 ¾它仅仅涉及到型的描述,不涉及到具体的值 ™模式的实例(instance):模式的一个具体值 ¾ 同一个模式可以有很多实例 ¾ 模式是相对稳定的,实例是相对变动的 ¾ 模式反映的是数据的结构及其联系,实例反映的 是数据库某一时刻的状态 ™不同的DBMS在体系结构上通常都具有相同的特征,即 采用三级模式结构并提供两级映象功能。 数据库-绪论 50 1.3.2 数据库系统的三级模式结构 1) 模式(Schema) 也称逻辑模式,是数据库中全体数据的逻辑结构和特征 的描述,是所有用户的公共数据视图 • 它是数据库系统模式结构的中间层 • 模式实际上是数据库数据在逻辑级上的视图 • 一个数据库只有一个模式。数据库模式以某一种数据模型为基 础,统一综合地考虑了所有用户的需求,并将这些需求有机地 结合成一个逻辑整体。 • 模式定义包括数据的逻辑结构定义、数据之间的联系定义以及 安全性、完整性要求的定义。 DBMS提供模式定义语言 (模式DDL) 来严格地定义模式 数据库-绪论 51 2) 外模式(External Schema) 也称子模式(Subshema)或用户模式,它是数据库用户 (包括应用程序员和最终用户)能够看见和使用的局部数 据的逻辑结构和特征的描述, 是数据库用户的数据视 图,是与某一应用有关的数据的逻辑表示。 • 外模式通常是模式的子集 • 一个数据库可以有多个外模式 • 外模式是保证数据库安全性的一个有力措施 DBMS提供子模式定义语言(子模式DDL)来严格地定义 子模式 数据库-绪论 52 3) 内模式(Internal Schema) 也称存储模式(Storage schema),它是数据物理 结构和存储方式的描述,是数据在数据库内部的表示方 式。一个数据库只有一个内模式。 例如,记录的存储方式是顺序存储、按照B树结构存储 还是按hash方法存储;索引按照什么方式组织;数据 是否压缩存储,是否加密;数据的存储记录结构有何规 定等。 DBMS提供内模式描述语言(内模式DDL,或者存储 模式DDL)来严格地定义内模式 应用A 应用B 应用C 应用C 外模式2外模式1 外模式3 模式 内模式 DB 1 2 3 外模式/模式映象 模式/内模式映象 图1-24 数据库系统的模式结构 数据库-绪论 54 1.3.2 数据库系统的二级映象功能与数据独立性 三级模式之间的二级映象: 1. 外模式/模式映象 对于每一个外模式,数据库系统都有一个外模式/模式映 象,它定义了该外模式与模式之间的对应关系(这些映象定 义通常包含在各自外模式的描述中)。 当模式改变时(例如增加新的关系、新的属性、改变属 性的数据类型等),DBA对各个外模式/模式的映象作相 应改变,可以使外模式保持不变。 Æ 数据的逻辑独立性 数据库-绪论 55 2. 模式/内模式映象 存在一个唯一的模式/内模式映象,它定义了数据库全局 逻辑结构与存储结构之间的对应关系(该映象定义通常包含 在模式描述中)。 例如,说明逻辑记录和字段在内部是如何表示的。 当数据库的存储结构改变了(例如选用了另一种存储结 构),由DBA对模式/内模式映象作相应改变,可以使模式 保持不变。 Æ 数据的物理独立性 数据库-绪论 56 模式是数据库的中心与关键,它独立于数据库的其他层 次。设计数据库模式结构时应首先确定数据库的模式。 内模式依赖于它的全局逻辑结构,但独立于数据库的用 户视图即外模式,也独立于具体的存储设备。 外模式面向具体的应用程序,它定义在模式之上,但独 立于存储模式和存储设备。设计外模式时应充分考虑到应 用的扩充性。 1.3.3 小结 数据库-绪论 57 优点: ™数据库的二级映象保证了数据库外模式的稳定性,从而从底 层保证了应用程序的稳定性。 ™数据和程序之间的独立性使得数据的定义和描述可以从应用 程序中分离出去。另外,由于数据的存取由DBMS管理,用 户不必考虑存取路径等细节,从而简化了应用程序的编制, 大大减少了应用程序的维护和修改。 应用程序A 用户工作区 应用程序X 用户工作区 系统缓冲区 DB DBMS OS 子模式A 模式 子模式X 从数据库中读取记录的过程 … 用户 X用户 A 物理模式 … 数据库-绪论 59 本章要点回顾本章要点回顾 „ 了解数据、数据库、数据库系统、数据库管理系统的概念; 了解数据库系统管理数据的特点 „ 了解数据模型的要素:数据结构、数据操作、数据的完整性 约束;了解概念模型的有关术语:实体、属性、码、域、实 体型、实体集、联系,E-R图表示;了解数据模型的概念和 种类; „ 理解数据库系统的模式结构,了解模式、数据独立性的概念 „ 了解数据库管理系统的功能(6方面功能)和组成(4部分) 数据库-绪论 60 „ 作业: 习题9 (教材 page 36) 作作 业业 1414
还剩59页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享pdf获得金币 ] 3 人已下载

下载pdf

pdf贡献者

virgozz

贡献于2013-04-22

下载需要 3 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf