第1章 数据库系统概论_第1页
第1章 数据库系统概论_第2页
第1章 数据库系统概论_第3页
第1章 数据库系统概论_第4页
第1章 数据库系统概论_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、1数据库技术2教材数据库系统概论(第三版)萨师煊 王珊主编高等教育出版社 定价:25.10元3课程目标n了解,并结合关系型数据库系统深入理解数据库系统的基本概念,原理和方法。n掌握关系数据模型及关系数据语言,能熟练应用SQL语言表达各种数据操作。n掌握关系型数据库管理系统SQL Server的使用,包括查询处理、事务处理、并发控制、故障恢复等。n掌握E-R模型的概念和方法,关系数据库规范化理论和数据库设计方法,通过上机实习的训练,初步具备进行数据库应用系统开发的能力。4第一章 绪论n数据库技术就是数据管理的技术,数据库技术是当代计算机系统的重要组成部分。n数据库技术所研究的问题就是如何科学地组

2、织和储存数据,如何高效地获取和处理数据。n作为信息系统核心和基础的数据库技术得到越来越广泛的应用,数据库技术应现实的需求迅速发展。 5数据库在信息系统中的地位数据库在信息系统中的地位n四大支柱n操作系统、网络、计算机语言、数据库n两大热门n网络、数据库。n无所不在的数据管理nEverything Over DB?6数据库在信息系统中的地位数据库在信息系统中的地位作业层管理层决策层信息收集系统数据库管理系统决策支持系统原始信息数据决策信息形式化归纳信息系统71.1 数据库系统概论数据库系统概论 在系统地介绍数据库的基本概念之前,先介绍几个数据库系统常用的术语和概念:数据、数据库、数据库管理系统、

3、数据库系统。81.1.1 基本概念n数据数据:描述事物的符号记录称为数据。数据的形式还不能完全表达其内容,需要经过解释。所以数据和关于数据的解释是不可分的,数据的解释是指对数据含义的说明,数据的含义称为数据的语义,数据与其语义是不可分的。 91.1.1 基本概念n数据库数据库数据库:所谓数据库是长期存储在计算机内的、有组织的、可共享的数据集合。101.1.1 基本概念n数据库管理系统数据库管理系统数据库管理系统是位于用户与操作系统之间的一层数据管理软件。它的主要功能包括一下几个方面:1数据定义功能2数据操纵功能3数据库的运行管理4数据库的建立和维护功能111.1.1 基本概念n数据库系统数据库

4、系统数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。 常常简称数据库。121.1.1 基本概念n数据库在计算机系统中的地位硬件硬件操作系统操作系统DBMS,编译系统,编译系统应用开发工具软件应用开发工具软件应用系统应用系统PB,VB,VCDELPHIOracle,Db2,Sybase,SQL Server,Informix131.1.2 数据管理技术的产生和发展n数据管理的发展经历三个阶段n人工管理阶段(50年代中期以前)n文件管理阶段(50年代后期-60年代中期)n数据库系统阶段(60年代后期开始)14人工管理阶

5、段人工管理阶段n背景n计算机主要用于科学计算n数据量小、结构简单,如高阶方程等n外存为顺序存取设备n磁带、卡片、纸带,没有磁盘等直接存取设备n没有操作系统,没有数据管理软件n用户用机器指令编码,通过纸带机输入程序和数据,程序运行完毕后,由用户取走纸带和运算结果,再让下一用户上机操作15人工管理阶段人工管理阶段n特点n数据不保存n应用程序管理数据n数据不共享n数据不具有独立性16人工管理阶段人工管理阶段访问访问访问数据1数据2数据n程序1程序2程序n17文件系统阶段文件系统阶段n背景n计算机不但用于科学计算,还用于管理n外存有了磁盘、磁鼓等直接存取设备n有了专门管理数据的软件,一般称为文件系统1

6、8文件系统阶段文件系统阶段n特点n数据可以长期保存n由文件系统管理数据n数据共享性差,冗余度大n数据独立性差19文件系统阶段文件系统阶段数据1数据2数据n存取方式程序1程序2程序n20数据库系统阶段数据库系统阶段n背景n计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)n外存有了大容量磁盘,光盘n软件价格上升,硬件价格下降,编制和维护软件及应用程序成本相对增加,其中维护的成本更高,力求降低21数据库系统阶段数据库系统阶段n特点n数据结构化n数据的共享性高,冗余度低,易扩充n数据独立性高n数据由DBMS统一管理和控制22数据库系统阶段数据库系统阶段数据1统一存取数据2数据

7、n程序2程序1程序n23数据库系统数据库系统 vs vs 文件系统文件系统文件系统数据管理应用应用文件系统应用数据管理应用数据管理24文件系统阶段文件系统阶段补贴系别姓名学号劳资科住址系别性别姓名学号房产科学位学分系别姓名学号学籍科学位 出身年龄系别性别姓名学号人事科25学号姓名性别系别年龄住址出身学位学分补贴学籍科房产科人事科劳资科数据库系统阶段261.2 数据模型n模型:是现实世界特征的模拟和抽象。 n数据模型应满足三方面要求:一是能比较真是地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。 271.2 数据模型n根据模型应用的不同目的,可以将模型分为两类:第一类模型是概念模型,

8、按用户的观点来对数据和信息建模,主要用于数据库设计。n另一类模型是数据模型,主要包括网状模型、层次模型、关系模型等,它是按计算机系统的观点对数据建模,主要用于DBMS的实现。28客观对象的抽象过程现实世界现实世界信息世界、概念模型信息世界、概念模型机器世界、机器世界、DBMS支持的支持的数据模型数据模型认识和抽象认识和抽象转换转换291.2.1 数据模型的组成要素n数据模型是严格定义的概念的集合,这些概念精确地描述系统的静态特性、动态特性和完整性约束条件。数据结构数据操作数据的约束条件301.2.1 数据模型的组成要素1. 数据结构:(最重要)n研究对象类型的集合n分为两类:A.与数据类型、内

9、容、性质有关的对象B.与数据之间联系有关的对象n数据模型的命名一般是由数据结构决定的,如网状、层状、关系311.2.1 数据模型的组成要素2. 数据操作:n指对数据库中各种对象的实例允许执行的操作的集合,包括操作和相关的操作规则n操作分为两大类:检索和更新(删除、插入、更改)n对数据模型来说,要求定义这些操作的确切含义、操作符号、操作规则(如优先级别)以及实现操作的语言321.2.1 数据模型的组成要素3. 数据的约束条件n完整性规则的集合。n完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。331.2

10、.2 概念模型n概念模型实际上是现实世界到机器世界的一个中间层次,是将数据从现实世界向抽象世界转换的第一步模型。341.2.2 概念模型n信息世界涉及的概念主要有:n实体(Entity):客观存在并可以相互区分的事物,例如人、物、实际的对象、某些概念或事物之间的联系。n属性(Attribute):实体所具有的某一特征,一个实体可以由若干个属性来刻画。n码(Key):唯一标识实体的属性集。n域(Domain):某个(些)属性的取值范围351.2.2 概念模型n实体型(Entity Type):具有相同属性的实体具有共同的特征和性质,用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如:学

11、生(学号、姓名、年龄、性别、系、年级)是一个实体型。n实体集(Entity Set):同型实体的集合称为实体集。如,全体学生就是一个实体集。n联系(Relationship):组成实体的属性之间的联系和实体之间的联系361.2.2 概念模型n两个实体型之间的联系可分为三类:n1对1联系(1:1)n1对多联系(1:n)n多对多联系(n:n)371.2.2 概念模型n1对1联系n定义:若对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。n例子:部门 - 经理381.2.2 概念模型n1对多联系n定义:若对于实体集A中的每一个实

12、体,实体集B中有n个实体(n0)与之联系,反之,对于对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:n。n例子:部门 - 职工391.2.2 概念模型n多对多联系n定义:若对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。n例子:项目 - 职工401.2.2 概念模型实体型A联系名实体型B实体型A联系名实体型B实体型A联系名实体型B111nmn(a) 1:1的联系(b) 1:n的联系(c)

13、m:n的联系实体型之间的联系示意图实体型之间的联系示意图411.2.2 概念模型n一般地,两个以上实体型之间也存在着一对一、一对多和多对多的联系,课程教员参考书讲授1mn三个实体型之间的一对多关系供应商项目零件供应pmn三个实体型之间的多对多关系多个实体型之间的关系多个实体型之间的关系421.2.2 概念模型n同一实体集内的各实体之间可以有某种联系职工领导1n同一实体集内同一实体集内一对多联系一对多联系431.2.2 概念模型n概念模型的表示方法最常用的是实体-联系方法(Entity-Relationship Approach),是P.P.S. Chen于1976年提出的,该方法是用E-R图来

14、描述某一组织的概念模型。nE-R方法是抽象和描述现实世界的有力工具。441.2.2 概念模型n其要点如下:n使用长方形来表示实体型,框内写上实体名。n椭圆型表示实体的属性,并用无向边把实体和属性连接起来。n用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型,若实体之间联系也具有属性,则把属性和菱形也用无向边连接上。451.2.2 概念模型学生学号姓名年龄性别系年级学生实体及属性学生实体及属性供应商项目零件供应1mn供应量实体和实体实体和实体之间联系之间联系职工领导1n同一实体集内同一实体集内一对多联系一对多联系461.2.2 概念模型供应商

15、项目零件供应供应量库存仓库库存量职工领导工作mnpmn1n1n实体及其联系图471.2.3 最常用的数据模型n目前,数据库领域中最常用的数据模型有四种,它们是:层次模型 网状模型关系模型面向对象模型n层次模型和网状模型统称为非关系模型。 481.2.3 最常用的数据模型n在非关系模型中,实体用记录表示,实体的属性对应记录的数据项(或字段)。实体之间的联系在非关系模型中转换成记录之间的两两联系。n非关系模型中数据结构的单位是基本层次联系。所谓基本层次联系是指两个记录以及它们之间的一对多(包括一对一)的联系。491.2.4 层次模型n层次模型是数据库系统中最早出现的数据模型,采用层次模型作为数据的

16、组织方式,用树形结构来表示各类实体以及实体之间的联系。50层次模型的数据结构n层次模型n用树结构表示实体之间联系的模型叫层次模型n树由节点和连线组成n节点代表实体型n连线表示两实体型间的一对多联系n树的特性n每棵树有且仅有一个节点无父节点,称为树的根n树中的其它节点都有且仅有一个父节点51层次模型的数据结构地址系名系号教研室名教研室号年级姓名学号职称姓名职工号系教研室学生教员1 : N联系实体型52层次模型的数据结构R1101计算机D02数据库R01G1王明S0012教授何璧E1101G2郑直S0020G3周密S0199网络R02人工智能R03讲师刘新E3721教授王恩E1234助教付弈E37

17、2153多对多联系在层次模型中的表示n层次模型只能直接表示一对多的联系。多对多联系必须首先将其分解成一对多联系。分解方法有两种:冗余结点法和虚拟结点法。n冗余结点法的优点是结构清晰,允许结点改变存储位置,缺点是需要额外占用存储空间,有潜在的不一致性。虚拟结点法的优点是减少对存储空间的浪费,避免产生潜在的不一致性,缺点是结点改变存储位置可能引起虚拟结点中指针的修改。 54层次模型的数据操作与完整性约束n层次模型的数据结构将产生如下的约束:n进行插入操作时,如果没有相应的双亲结点值就不能插入子女节点值。例如,如果新调入一名教师,但尚未分配到某个教研室,这时就不能将新教师插入到数据库中。这样对于一些

18、不明确父结点值的结点无法完成插入操作,对现实应用有一定限制。55层次模型的数据操作与完整性约束n进行删除操作时,如果删除双亲节点值,则相应的子女结点值也被同时删除。现实应用中,有时我们删除父结点,但并不希望其所有子结点都被删除。例如,撤销了一个系,成立一个新的系,但原来教师的记录并不希望删除。n进行修改操作时,应修改所有相应记录,以保证数据的一致性。 56层次模型的存储结构n1邻接法n2链接法57层次模型的优缺点n层次模型的优点主要有:n层次数据模型本身比较简单。n对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型n层次数据模型提供了良好的完

19、整性支持。 58层次模型的优缺点n层次模型的缺点主要有:n现实世界中很多联系是非层次的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据组织(引入虚拟结点)来解决。n对插入和删除操作的限制比较多。n查询子女结点必须通过双亲结点。n由于结构严密,层次命令趋于程序化。591.2.5 网状模型n在现实世界中事物之间的联系更多的是非层的关系的,用层次模型表示非树形结构是很不直接的,网状模型则可以克服这一弊病。60网状模型的数据结构n网状模型n是一个满足下列条件的有向图n可以有一个以上的节点无父节点n一个节点可以有多于一个的

20、父节点(排除树结构)n节点代表实体型,有向边(从箭尾到箭头)表示两实体型间的一对多联系61网状模型的数据结构学生学生课程课程选课选课年级姓名学号学分课程名课程号成绩课程号学号AC1S1AC2S1BC1S2A-C2S2CC1S3S1S2S3C1C262网状模型的操纵与完整性约束n 支持记录码的概念,码即唯一标志记录的数据项的集合。n 保证一个联系中双亲记录和子女记录之间是一对多的联系。n 可以支持双亲记录和子女记录之间的某些约束条件。例如,有些子女记录要求双亲记录存在才能插入,双亲记录删除时也连同删除。63网状模型的存储结构n常用的方法优单向链接、双向链接、环状链接、向首链接等。64网状模型的优

21、缺点n网状数据模型的优点主要有:n能够更为直接地描述现实世界,如一个结点可以有多个双亲。n具有良好的性能,存取效率高。n网状数据模型的缺点主要有:n结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。n其DDL,DML语言复杂,用户不容易使用。 651.2.6 关系模型n关系模型是用二维表格结构来表示实体及实体之间的联系的模型n数据结构是一个“二维表框架”组成的集合n关系模型概念简单,清晰,用户易懂易用,有严格的数学基础n大多数数据库系统都是关系型的66关系模型的数据结构关系模型中的主要术语:关系模型中的主要术语:关系:一个关系对应于我们平常讲的一张表关系:

22、一个关系对应于我们平常讲的一张表元组:表中的一行称为一个元组元组:表中的一行称为一个元组属性:表中的一列称为属性,每列的名称为属性名属性:表中的一列称为属性,每列的名称为属性名主码:表中的某个属性组,它们的值唯一的标识一主码:表中的某个属性组,它们的值唯一的标识一个元组个元组域:属性的取值范围域:属性的取值范围分量:元组中的一个属性值分量:元组中的一个属性值关系模式:对关系的描述,用关系名(属性名关系模式:对关系的描述,用关系名(属性名1,属,属性名性名2,属性名,属性名n)来表示)来表示67关系模型的数据结构学 号姓 名年 龄性 别系年 级82021张 平18男计 算 机282022王 英1

23、7女计 算 机182030李 强17男物 理1主码整数字符串1,2,3,4,5域属性名元组(行)关系属性列关系名:学生登记表关系模式:学生(学号,姓名,年龄.)68关系模型的操纵与完整性约束n操作主要有:查询、插入、删除和修改n完整性:实体完整性、参照完整性和用户自定义完整性。n数据操作是集合操作,操作对象和结果都是关系,即若干元组的集合。关系模型把存取路径向用户隐蔽,大大提高了数据的独立性和用户生产率。69关系模型的优缺点n优点:n建立在严格的数学概念基础上。n概念单一,都用二维表表示。n存取路径对用户透明。n缺点:n查询效率低。因此必须进行查询优化,增加了系统开发难度。701.3 数据库系

24、统结构n考察数据库系统的结构可以有多种不同的层次或不同的角度。n从数据库管理系统角度看,数据库系统通常采用三级模式结构:这是数据库管理系统内部的系统结构。n从数据库最终用户角度看,数据库系统的结构分为集中式结构、分布式结构、客户/服务器结构和并行结构。这是数据库系统外部的体系结构。711.3.1 数据库系统模式的概念n在数据模型中有“型”和“值”的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。n模式是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体值称为模式的一个实例 721.3.1 数据库系统模式的概念n各种数据库系统在体系结

25、构上通常都具有相同的特征:即采用三级模式结构并提供两级映像功能。731.3.2 数据库系统的三级模式结构n三级模式是对数据的三个抽象级别:n外模式(用户模式)n模式(逻辑模式)n内模式(存储模式)741.3.2 数据库系统三级模式结构1. 模式:n数据库中全部数据的逻辑结构和特性的描述,是所有用户的公共视图。n它是模式结构的中间层,既不设计数据的物理存储,也与具体的应用程序及使用的高级程序设计语言无关。n模式实际上是数据库数据在逻辑级上的视图。一个数据库只有一个模式。定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。 n用模式描述语言(模式DDL)描述数据在逻辑上的视图。751.3.2 数据库系统三级模式结构2. 外模式:n外模式也称子模式或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻

温馨提示

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

评论

0/150

提交评论