数据库原理与应用第一章绪论12数据管理技术的发展数据库系统结构34DB、DBMS和DBS数据库技术的发展数据:描述客观事物的一组文字、数字和符号,它是客观事物的反映和记录。如:(李明,男,20,1992,江苏,数理学院,信息与计算科学专业,2008)信息:潜在于数据中的意义,它反映了客观世界中各种事物的状态与特征,它能增长人的知识,影响接受者的行为。基本概念1.1数据管理技术的发展•数据处理:对各种形式的数据进行收集、存储、加工和传播的一系列活动的总和。其目的是从大量原始数据中抽取出对用户有价值的信息,以作为行动和决策的依据。信息=数据+数据处理•数据管理:指对数据进行分类、组织、编码、存储、检索和维护,是数据处理的中心问题。数据库技术是应数据管理任务的需要而产生的1.1数据管理技术的发展人工管理阶段(20世纪50年代中期以前)文件系统阶段(20世纪50年代后期--60年代中期)数据库系统阶段(20世纪60年代后期—今)硬件(外存贮器)和软件的发展应用需求扩大数据管理技术经历了三个发展阶段:人工管理阶段(--50年代中期)应用程序1应用程序2应用程序n数据集1数据集2数据集n…●计算机主要用于科学计算数据量小、结构简单。●外存为顺序存取设备磁带、卡片、纸带,没有磁盘等直接存取设备。●没有操作系统及数据管理软件用户用机器指令编码,通过纸带机输入程序和数据,程序运行完毕后,由用户取走纸带和运算结果,再让下一用户操作。●用户完全负责数据管理工作●数据完全面向特定的应用程序每个用户使用自己的数据,用完撤走不保存,无共享。●数据与程序没有独立性程序中存取数据的子程序随着存储结构的改变而改变。背景特点文件系统阶段(50年代后期--60年代中期)文件系统……文件组1文件组2文件组3应用程序1应用程序2应用程序n●计算机不但用于科学计算,还用于管理。●外存有了磁盘、磁鼓等直接存取设备。●有了专门管理数据的软件,一般称为文件系统。●数据可以长期保存●数据与程序有一定的独立性文件的逻辑结构与存储结构由系统进行转换,数据在存储上的改变不一定反映在程序上。●共享性差、冗余度大(一个文件对应一个程序)背景特点数据库系统阶段(60年代后期--)…应用程序1应用程序2应用程序n数据库数据库管理系统DBMS●计算机管理的数据量大,关系复杂,共享性要求强(多种应用、不同语言共享数据)●外存有了大容量磁盘,光盘●软件价格上升,硬件价格下降。●数据有整体的结构性,面向全组织,面向现实世界●由DBMS统一存取,维护数据语义及结构●数据共享性好●数据与程序完全相互独立背景特点常见DBMS:Oracle,IBMDB2,Informix,Sybase,SQLServer,FoxPro,Access等例:学生基本信息记录表:学号姓名性别出生年月学院籍贯奖惩情况200505101张三男1987/10/10数理学院广东2005-06学年一等奖学金2005-06学年校三好学生200505102李四男1988/01/10数理学院河南200505103钱红女1987/05/21数理学院上海200505106赵晓林女1989/02/10数理学院上海2005-06学年一等奖学金………………………这个表格的缺点:有些同学的奖惩记录很多,但大部分没有,因此“奖惩情况”这一栏该留多大的位置很难确定,而且很难统计奖励的次数修改后的记录表:将学生基本信息和奖惩情况分开来学号奖惩情况2005051012005-06学年一等奖学金2005051012005-06学年校三好学生2005051062005-06学年一等奖学金学号姓名性别出生年月学院籍贯200505101张三男1987/10/10数理学院广东200505102李四男1988/01/10数理学院河南200505103钱红女1987/05/21数理学院上海200505106赵晓林女1989/02/10数理学院上海………….……………………奖惩情况表修改后的学生基本信息记录表特点:描述数据时不仅描述数据本身,还描述了数据间的联系。数据库系统的特点1.数据结构化---数据库系统与文件系统根本区别即采用复杂的数据模型表示数据结构–按照某种数据模型,将整个组织的全部数据组织成一个结构化的数据整体,即实现了整体数据的结构化。–数据模型不仅描述数据本身,还描述了数据之间的联系。–数据不再面向应用,而是面向系统,弹性更大。–存取方式更灵活,存取粒度可为数据项。数据库系统的特点2.数据的共享性高、冗余度低,易扩充–共享是指多用户、多种应用、多种语言互相覆盖地共享数据集合。数据共享可减少数据冗余,节约存储空间,避免数据之间的不相容性与不一致性。–数据不一致指同一数据不同拷贝的值不同。–数据面向系统+结构化+数据共享→系统易扩充。数据库系统的特点3.数据独立性高•包括数据的物理独立性和逻辑独立性–物理独立性:指用户的应用程序与存储在磁盘上的数据库中的数据相互独立。–逻辑独立性:指用户的应用程序与数据库的逻辑结构相互独立。–数据描述、定义从应用程序中分离出来,独立于应用程序而存在,相互独立,互不依赖,大大简化了应用程序的设计维护的工作量。数据库系统的特点4.数据由DBMS统一管理和控制–共享一般是并发的,即多个用户可同时使用数据库中的数据。–DBMS应提供如下功能:•数据安全性保护•数据完整性检查(正确性、有效性、相容性)•并发控制•数据库恢复人工管理阶段文件系统阶段数据库系统阶段背景特点数据的结构化无结构数据管理技术三个发展阶段的详细比较应用背景科学计算科学计算、管理大规模管理硬件背景无直接存取存储设备磁盘、磁鼓大容量磁盘软件背景没有操作系统有文件系统有DBMS处理方式批处理实时处理、批处理数据的管理者用户(程序员)文件系统数据库管理系统数据面向的对象某一应用程序某一应用现实世界数据的共享程度无共享,冗余度很大共享性差,冗余度大共享性高,冗余度小独立性差实时处理、分布处理、批处理具有高度的物理独立性和一定的逻辑独立性数据的独立性不独立,完全依靠于程序记录内有结构、整体无结构整体结构化,用数据模型描述数据控制能力应用程序自己控制文件系统数据库管理系统1.2数据库系统结构•数据库管理系统角度:三级模式结构•最终用户角度:单用户结构主从式结构分布式结构内部外部1.2数据库系统结构单用户主从式结构分布式结构结构特点整个数据库系统在一台机器上,由一个用户独占,不同机器间不能共享数据。一个主机带多个终端的多用户系统。数据库系统在主机上,所有处理由主机完成,各用户通过终端并发地存取数据库共享资源。数据库中的数据在逻辑上是一个整体,但物理上分布在计算机网络的不同结点上。网络中的每个结点可以执行局部应用和全局应用。优点简单易实现。简单,数据易维护管理。难满足大公司对数据应用的需求。缺点不同部门数据不共享,冗余。用户数增多时主机负担重性能下降,系统可靠性不高。数据管理维护难,系统效率受网络制约。1.2数据库系统结构1.2数据库系统结构模式:是数据库中全体数据的逻辑结构和特征的描述。实例:模式的一个具体值。模式反映的是数据的结构及其联系-相对稳定实例反映的是数据库某一时刻的状态-相对变动第二章数据模型12数据模型的概念E-R模型3面向对象模型2.1数据模型的概念•在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。通俗地讲数据模型就是现实世界的模拟.•数据模型应满足三方面要求:–能比较真实地模拟现实世界–容易为人所理解–便于在计算机上实现2.1.1数据的三个范畴从事物的客观特性到计算机中的数据表示,经历了三个阶段:存在于人们头脑之外的客观世界.现实世界在人们头脑中的反映,人们把它用文字和符号记载下来。信息世界的信息在机器世界以数据形式存储。现实世界信息世界概念模型机器世界DBMS支持的数据模型转换认识抽象2.1.1数据的三个范畴1.信息世界相关术语(1)实体:客观存在并可相互区别的事物。实体可以是具体的对象(一个学生、一辆汽车),也可以是抽象的事件(一次借书,一次比赛)。(2)实体集:性质相同的同类实体的集合。如:全体学生,全国足球联赛的所有比赛。(3)属性:实体所具有的某一特性。一个实体可以由若干个属性来刻画,每个属性有一个值域和类型。如:学生实体由学号、姓名等构成。(4)码:唯一标识实体的属性或属性集。如:学号是学生实体的码。2.1.1数据的三个范畴2.机器世界相关术语:(1)字段(数据项):标记实体属性的命名单位,是可以命名的最小信息单位,往往和属性名相同。例如:学生有学号、姓名、年龄、性别等字段。(2)记录:字段的有序集合称为记录。一般用一个记录描述一个实体。例如:学生记录:(学号,姓名,年龄,性别)。(3)文件:同一类记录的汇集称为文件。文件是描述实体集的。例如:所有学生记录组成了一个学生文件。(4)码:能惟一标识文件中每个记录的字段或字段集,与实体的码相对应。例如:学生的学号可以作为学生记录的码。机器世界和信息世界术语的对应关系:信息世界机器世界实体………………记录属性………………字段(数据项)实体集……………文件码………………….码2.1.1数据的三个范畴以学生数据为例表示信息在三个世界中的有关术语及其联系:2.2E-R模型2.2.1基本概念(1)实体:现实世界中客观存在并可相互区别的事物。(2)属性:实体所具有的某一特性称为属性。(3)码(key):唯一表示实体的属性集称为码。(4)域(Domain):属性的取值范围。(5)实体集:具有相同特征或能用同样特征描述的实体集合。组成实体集的各实体称为实体集的外延。例如:某单位所有员工称为实体集Employee的外延。(6)实体型:具有相同属性的实体必然具有共同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如:员工(员工编号、姓名、部门、性别、年龄、职称)就是一个实体型。2.2.1基本概念(7)联系:–实体内部的联系:组成实体的各属性之间的联系(如:学号-姓名)。–实体之间的联系:不同实体集之间的联系。两个实体型之间的联系可分为三类:•1对1联系(1:1)•1对多联系(1:n)•多对多联系(m:n)2.2.1基本概念•1对1联系:–定义:若对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。–例:部门---负责人实体型A联系名实体型B11位于部门负责人112.2.1基本概念•1对多联系:–定义:若对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1:n。–例:部门---员工实体型A联系名实体型B1n属于部门员工1N2.2.1基本概念•多对多联系:–定义:若对于实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,对于对于实体集B中的每一个实体,实体集A中也有m个实体(m≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为m:n。–例:学生---课程实体型B实体型A联系名mn选课学生课程MN2.2.1基本概念同一实体集内的各实体之间也存在着一对一、一对多和多对多的联系.员工领导1n同一实体集内一对多联系员工配偶11同一实体集内一对一联系2.2.1基本概念一般地,两个以上实体型之间也存在着一对一、一对多和多对多的联系.学生教师课程选课mnn三个实体型之间的多对多关系(8)弱实体集:在描述实体的过程中,有些实体集的属性可能不足以形成主码,需要依赖其他实体集中的部分属性。这样的实体集叫做弱实体集,不需要依赖其他的实体的实体集称为强实体集。例如一个单位的员工实体集Employee与工作履历实体集Career,则工作履历实体集Career是以职工存在为前提的,即工作履历实体集Career是弱实体集。2.2.1基本概念2.2.2E-R图设计•用E-R图来描述现实世界的概念模型。•E-R图提供了表示实体集、属性和联系的方法。实体名矩形框表示实体属性名椭圆形表