1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,数据库应用与设计,*,广东工业大学,第,1,章 数据库基础,数据库已经成为人们日常生活中的重要部分,到图书馆借书、到银行取款、到超市购物、乘公交车刷卡等等都离不开数据库的支持,数据库已经成为现代社会的一个重要基础。本章首先介绍数据库的一些基本概念,包括数据管理、数据库系统、数据模型和数据库的体系结构等。,数据库应用与设计,本章学习目标,了解数据管理及其技术的发展;,深刻理解数据库的基本概念;,理解数据库、数据库管理系统、数据库系统以及数据库管理的基本内容;,理解和掌握数据模型的基本概念和内容;,深刻理解数据独立
2、性的概念;,掌握数据库的三层模式、理解数据库的基本体系结构。,数据库应用与设计,本章重点和难点,本章学习的重点是围绕数据库的基本特征、深刻理解数据库的基本概念,为后续章节的学习奠定基础。,本章学习的难点是理解数据独立性的概念,掌握数据库的三层模式结构。,数据库应用与设计,数据库在计算机系统中的地位,数据库应用与设计,1.1,数据管理,什么是数据?,信息的符号表示,什么是数据处理?,从某些已知的数据出发,推导加工出新的信息,数据库应用与设计,在数据处理中,我们最常用到的基本概念就是,数据,和,信息,,信息与数据有着不同的含义。,信息的定义,信息是关于现实世界事物的存在方式或运动状态的反映的综合,
3、具体说是一种被加工为,特定形式的数据,,但这种数据形式对接收者来说是有意义的,而且对当前和将来的决策具有明显的或实际的价值。,如“,2000,年硕士研究生将扩招,30%”,,对接受者有意义,使接受者据此作出决策。,数据库应用与设计,信息的特征,信息源于,物质,和,能量,,它不可能脱离物质而存在,信息的传递需要物质载体,信息的获取和传递要消耗能量。,如信息可以通过报纸、电台、电视、计算机网络进行传递。,信息是,可以感知的,,人类对客观事物的感知,可以通过感觉器官,也可以通过各种仪器仪表和传感器等,不同的信息源有不同的感知形式。,如报纸上刊登的信息通过视觉器官感知,电台中广播的信息通过听觉器官感知
4、信息是可,存储,、,加工,、,传递,和,再生,的。动物用大脑存储信息,叫做记忆。计算机存储器、录音、录像等技术的发展,进一步扩大了信息存储的范围。借助计算机,还可对收集到的信息进行取舍整理。,数据库应用与设计,数据是用来记录信息的可识别的符号,是信息的具体表现形式。,2.,数据的表现形式,可用,多种,不同的数据形式表示同一信息,而信息不随数据形式的不同而改变。,如“,2000,年硕士研究生将扩招,30%”,,其中的数据可改为汉字形式“两千年”、“百分之三十”。,数据的概念在数据处理领域中已大大地拓宽了,其表现形式不仅包括,数字,和,文字,,还包括,图形,、,图象,、,声音,等。这些数据可以
5、记录在纸上,也可记录在各种存储器中。,数据库应用与设计,数据与信息的联系,数据是信息的符号表示或载体,信息则是数据的内涵,是对数据的语义解释。,如上例中的数据,2000,、,30%,被赋予了特定的语义,它们就具有了传递信息的功能。,数据处理,数据处理是将,数据,转换成,信息,的过程,包括对数据的收集、存储、加工、检索、传输等一系列活动。其目的是从大量的原始数据中抽取和推导出有价值的信息,作为决策的依据。,可用下式简单的表示信息、数据与数据处理的关系:,信息,=,数据,+,数据处理,数据是原料,是输入,而信息是产出,是输出结果。“信息处理”的真正含义应该是为了产生信息而处理数据。,数据库应用与设
6、计,数据管理及其技术发展,数据处理的中心问题是,数据管理。,数据管理是指对数据的,组织,、,分类,、,编码,、,存储,、,检索,和,维护,。,随着计算机硬件和软件的发展,数据管理经历了,人工管理,、,文件系统,和,数据库系统,三个发展阶段。,数据库应用与设计,人工管理阶段,20,世纪,50,年代中期以前。,特点,数据不保存在计算机中。,没有软件系统对数据进行统一管理。,基本没有文件的概念。,一组数据对应一个程序,数据是面向程序的。,程序和程序之间存在着大量的重复数据,。,数据库应用与设计,数据库应用与设计,数据库应用与设计,1.,数据不保存,因为当时计算机主要用于科学计算,对于数据保存的需求尚
7、不迫切。,2.,系统没有专用的软件对数据进行管理,每个应用程序都要包括数据的存储结构、存取方法、输入方式等,程序员编写应用程序时,还要安排数据的物理存储,因此程序员负担很重。,3.,数据不共享,数据是面向程序的,一组数据只能对应一个程序。,多个应用程序涉及某些相同的数据时,也必须各自定义,因此程序之间有大量的冗余数据。,4.,数据不具有独立性,程序依赖于数据,如果数据的类型、格式、或输入输出方式等逻辑结构或物理结构发生变化,必须对应用程序做出相应的修改。,数据库应用与设计,文件系统阶段,20,世纪,50,年代后期至,20,世纪,60,年代中期。,特点,数据长期保留在外存上,可经常对文件进行查询
8、修改、插入、删除等操作。,有软件(文件系统)对数据进行管理,程序和数据有了一定的独立性。,文件的形式多样化,有顺序文件、索引文件和散列文件等。,数据的存取基本上以记录为单位。,数据库应用与设计,1.,数据以文件形式可长期保存下来,用户可随时对文件进行查询、修改和增删等处理。,2.,文件系统可对数据的存取进行管理,程序员只与文件名打交道,不必明确数据的物理存储,大大减轻了程序员的负担。,3.,文件形式多样化,有顺序文件、倒排文件、索引文件等,因而对文件的记录可顺序访问,也可随机访问,更便于存储和查找数据。,4.,程序与数据间有一定独立性,由专门的软件即文件系统进行数据管理,程序和数据间由软件提
9、供的存取方法进行转换,数据存储发生变化不一定影响程序的运行。,数据库应用与设计,文件系统的缺陷,数据冗余度大。,数据独立性差。,数据缺乏统一管理,数据联系弱。,数据库应用与设计,数据库系统阶段,20,世纪,60,年代后期开始。,特点,面向全组织的数据结构化,数据的共享性高、低冗余、易扩充,数据独立性高,数据库应用与设计,1973,年图灵奖获得者:,查尔斯,巴赫曼,(,Charles W Bachman,),“,网状数据库之父”,数据库应用与设计,1981,年图灵奖获得者:,埃德加,科德,(Edgar Frank Codd),“,关系数据库之父”,数据库应用与设计,1998,年图灵奖获得者:,吉
10、姆,格雷,(,James Gray,),“SQL,之父”,数据库应用与设计,数据结构化,按照某种数据模型,将全组织的各种数据组织到一个结构化的数据库中,整个组织的数据不是一盘散沙,可表示出数据之间的有机关联。,例:要建立,学生成绩管理系统,,系统包含,学生,(学号、姓名、性别、系别、年龄)、,课程,(课程号、课程名)、,成绩,(学号、课程号、成绩)等数据,分别对应三个文件。,数据库应用与设计,若采用文件处理方式,因为文件系统只表示记录内部的联系,而不涉及不同文件记录之间的联系,要想查找某个学生的学号、姓名、所选课程的名称和成绩,必须编写一段不很简单的程序来实现。,而采用数据库方式,数据库系统不
11、仅描述数据本身,还描述数据之间的联系,上述查询可以非常容易地联机查到。,数据库应用与设计,数据共享性高、冗余少,这是数据库系统阶段的最大改进,数据不再面向某个应用程序而是面向整个系统,当前所有用户可同时存取库中的数据。,这样便减少了不必要的数据冗余,节约存储空间,同时也避免了数据之间的不相容性与不一致性。,数据库应用与设计,数据独立性高,数据的独立性是指逻辑独立性和物理独立性。,数据的,逻辑独立性,是指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。,例如,在原有的记录类型之间增加新的联
12、系,或在某些记录类型中增加新的数据项,均可确保数据的逻辑独立性。,数据的,物理独立性,是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。,例如,改变存储设备和增加新的存储设备,或改变数据的存储组织方式,均可确保数据的物理独立性。,数据库应用与设计,思考题,什么是数据?什么是数据管理?,什么因素促使了数据管理手段的进步?,什么是数据独立性?为什么数据存储结构改变时应用程序不用修改?,文件系统阶段数据缺乏统一管理,数据联系弱是什么意思?,数据共享可以带来哪些好处?,数据库应用与设计,思考题,文件系统阶段和手工管理阶段的本质区别是什么?,数据库应用与设计,思考题,数据库阶段和文
13、件系统阶段的本质区别是什么?,数据库应用与设计,1.2,数据库系统,数据库是数据管理的现代手段,有数据的地方就有数据管理,有数据管理就有数据库。本节介绍与数据库相关的一些基本概念。,数据库应用与设计,什么是数据库,?,数据库是长期储存在计算机存储设备上、相互关联的、可以被用户共享的数据集合,:,是相互关联的数据的集合,用综合的方法组织数据,保证尽可能高的访问效率,具有较高的数据独立性,具有较小的数据冗余,可供多个用户共享,具有安全控制机制,能够保证数据的安全、可靠,最大限度地保证数据的正确性,允许并发地使用,能有效、及时地处理数据,并能保证数据的一致性和完整性,数据库应用与设计,相互关联的数据
14、的集合,数据库中的数据不是孤立的,数据与数据之间是相互关联的。也就是说,在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的联系,学生,课程,学生与课程之间的联系,数据库应用与设计,用综合的方法组织数据,数据库能够根据不同的需要按不同的方法组织数据,顺序,索引,聚簇,数据库应用与设计,具有较高的数据独立性,数据独立性是指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性。,数据库应用与设计,数据冗余小、可供多个用户共享,数据库中的数据可以共享,但是是可控制、受约束的,教务文件,后勤文件,学生基本情况冗余!冗余带来什么问题?,数据库应用与设计,数据冗余小、可供多个用户共享,数据库中
15、的数据可以共享,但是是可控制、受约束的,物理存储,逻辑存储,数据库应用与设计,能够保证数据的安全、可靠,数据库技术要能够保证数据库中的数据是安全、可靠的。,主动安全,被动安全,有效地防止数据库中的数据被非法使用或非法修改,数据遭到破坏时能立刻将数据完全恢复,备份恢复,安全机制,数据库应用与设计,最大限度地保证数据的正确性,保证数据正确的特性在数据库中称之为数据完整性。,考试成绩,899,数据库应用与设计,允许并发地使用,在多个用户同时使用数据库时,能够保证不产生冲突和矛盾,保证数据的一致性和正确性。,数据库应用与设计,什么是数据库,?,数据库是长期储存在计算机存储设备上、相互关联的、可以被用户
16、共享的数据集合,:,是相互关联的数据的集合,用综合的方法组织数据,保证尽可能高的访问效率,具有较高的数据独立性,具有较小的数据冗余,可供多个用户共享,具有安全控制机制,能够保证数据的安全、可靠,最大限度地保证数据的正确性,允许并发地使用,能有效、及时地处理数据,并能保证数据的一致性和完整性,数据库应用与设计,数据库管理系统,数据库的诸多特征哪里来的?,靠特定的数据库管理软件来实现的,这个软件就是数据库管理系统DataBase Management System,简称DBMS,DBMS运行在操作系统之上对数据库进行统一的管理和控制,并且使数据库能为多个用户共享,同时还能保证数据的安全性、可靠性、
17、完整性、一致性,还要保证数据的高度独立性等。,数据库应用与设计,数据库管理系统具备如下功能,数据库中数据的组织功能;,数据库中数据的操纵功能;,数据库中数据的维护功能;,数据库中数据的查询功能;,数据库控制功能;,数据库通讯功能;,数据库的数据服务功能。,数据库应用与设计,数据库系统,数据库?,数据库管理系统?,数据库系统?,数据库应用与设计,数据库系统,数据库系统指的是基于数据库的计算机应用系统,包括:,以数据为主体的数据库;,管理数据库的系统软件,数据库管理系统;,支持计算机应用系统的硬件平台;,支持计算机应用系统的软件平台(如操作系统);,管理数据库的技术人员;,使用数据库的用户;,基于
18、数据库的应用软件;,方便使用和管理系统的各种技术说明书和使用说明书等。,数据库应用与设计,数据库管理,把众多部门或用户的数据放在同一个数据库中共享,那就必须要考虑这些数据会不会产生冲突?能不能保证数据的安全?敏感或重要数据会不会泄漏?大家同时使用数据库时会不会产生干扰?数据会不会丢失?诸如此类的问题是用户非常关心的,如果这些问题解决不好,谁敢把数据放在数据库中!,DBMS只是提供了组织、维护和使用数据的功能,只有好的管理才能使数据库发挥更大的效益。,数据库应用与设计,数据库管理员,从事数据库管理工作的人员称之为数据库管理员(Database Administrator,简称为DBA),数据库管
19、理员指的是一种角色,是负责数据库管理的人员或部门。,数据库管理员从事的工作既有管理方面的、也有技术方面的,数据库管理员负责数据库的规划、设计、建设、运行、维护、升级等各个方面的工作。,数据库应用与设计,数据库管理员的职责,在数据库规划阶段,要参与选择和评价与数据库有关的计算机软件和硬件,要与数据库用户共同确定数据库系统的目标和数据库应用需求,要确定数据库的开发计划;,在数据库设计阶段,要负责数据库标准的制定,要负责数据库的设计,负责数据库安全、可靠方面的设计;,在数据库运行阶段,首先要负责对用户进行数据库方面的培训;负责数据库的备份和恢复;负责对数据库中的数据进行维护;负责监视数据库的性能,并
20、调整、改善数据库的性能,提高系统的效率;继续负责数据库安全系统的管理;在运行过程中发现问题、解决问题。,数据库应用与设计,思考题,为什么数据库中的数据是相互关联的?,在数据库中为什么要使用综合的方法来组织数据?,为什么数据冗余可能会造成数据的不一致?,数据库的安全机制主要有哪些?,可以利用备份恢复数据库,当数据库遭到破坏时能否将数据库完全恢复到正确一致的状态?,什么是数据完整性?数据库可以从哪些方面保证用户数据的正确性?,数据库应用与设计,思考题,数据库中的数据是共享的,如何保证多个用户在同时使用共享的数据时不发生冲突?,什么是数据仓库?,数据库的诸多特征是如何获得的?,数据库、数据库系统、数
21、据库管理系统这三个术语的各自内涵是什么?,数据库管理涉及哪些问题?数据库管理员的职责包括哪些内容?,数据库应用与设计,1.3 数据模型概述,数据库中不仅存储数据本身,还要存储数据与数据之间的联系,这种数据和联系是需要描述和定义的,数据模型正是完成此项任务的。,数据库应用与设计,三个阶段,现实世界概念数据模型,信息世界逻辑数据模型,机器世界物理数据模型,数据库应用与设计,由于计算机不能直接处理现实世界中的具体事物,所以人们必须将具体事物转换成计算机能够处理的数据。,在数据库中用数据模型来抽象、表示和处理现实世界中的数据。,数据库即是模拟现实世界中某应用环境(一个企业、单位或部门)所涉及的数据的集
22、合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。,这个集合或者包含了信息的一部分(用用户视图模拟),或者包含了信息的全部(用概念视图模拟),而这种模拟是通过数据模型来进行的。,数据库应用与设计,为了把现实世界中的具体事物抽象、组织为某一,DBMS,支持的数据模型,在实际的数据处理过程中,,首先将现实世界的事物及联系抽象成信息世界的信息模型,,然后再抽象成计算机世界的数据模型。,信息模型并不依赖于具体的计算机系统,不是某一个,DBMS,所支持的数据模型,它是计算机内部数据的抽象表示,是概念模型;,概念模型经过抽象,转换成计算机上某一,DBMS,支持的数据模型。所以说,数据模型是现实世界
23、的两级抽象的结果。,在数据处理中,数据加工经历了现实世界、信息世界和计算机世界三个不同的世界,经历了两级抽象和转换。这一过程如图所示。,数据库应用与设计,现实世界,信息世界,认识抽象,计算机世界,数据库应用与设计,实体,现实世界中所管理的对象称作实体(Entity),实体定义:,客观存在并可以相互区分的客观事物或抽象事件,。,学生和课程就是客观事物,学生选课就是抽象事件。无论学生、课程、还是学生选课,它们都是现实世界管理的对象,都是实体。,数据库应用与设计,实体特征,每个实体肯定具有一定的特征(性质),这样人们才能根据实体的特征来区分一个个实体。,学号,姓名,身高,年龄,性别,体重,标识特征?
24、数据库应用与设计,实体集,具有相同特征的一类实体的集合称之为实体集。,学生实体集,课程实体集,教师实体集,教室实体集,数据库应用与设计,现实世界的术语,特征,实体,实体集,标识特征,数据库应用与设计,我们更熟悉的术语,文件,记录,字段,关键字,数据库应用与设计,属性,(Attributes),实体的某一特性称为属性。,如学生实体有学号、姓名、年龄、性别、系等方面的属性。,属性有,型,和“值”之分,,型,即为属性名,如姓名、年龄、性别是属性的型;“值”即为属性的具体内容,如(,990001,张立,,20,,男,计算机)这些属性值的集合表示了一个学生实体。,数据库应用与设计,实体型(,Entit
25、y Type,),若干个属性型组成的集合可以表示一个实体的类型,简称实体型。,如学生(学号,姓名,年龄,性别,系)就是一个实体型。,实体集,(Entity Set),同型实体的集合称为实体集。,如所有的学生、所有的课程等。,键(,Key,),能唯一标识一个实体的属性或属性集称为实体的键。,如学生的学号,学生的姓名可能有重名,不能作为学生实体的键。,数据库应用与设计,联系(,Relationship,),在现实世界中,事物内部以及事物之间是有联系的,这些联系同样也要抽象和反映到信息世界中来,,在信息世界中将被抽象为实体型内部的联系和实体型之间的联系。,实体内部的联系通常是指组成实体的各属性之间的
26、联系;,实体之间的联系通常是指不同实体集之间的联系。,反映实体型及其联系的结构形式称为,实体模型,,也称作,信息模型,,它是现实世界及其联系的抽象表示。,数据库应用与设计,两个实体型之间的联系有如下三种类型:,(,1,)一对一联系(,1:1,),实体集,A,中的一个实体至多与实体集,B,中的一个实体相对应,反之亦然,则称实体集,A,与实体集,B,为一对一的联系。记作,1:1,。,如:班级与班长,观众与座位,病人与床位。,(,2,)一对多联系(,1:n,),实体集,A,中的一个实体与实体集,B,中的多个实体相对应,反之,实体集,B,中的一个实体至多与实体集,A,中的一个实体相对应。记作,1:n,
27、如:班级与学生、公司与职员、省与市。,(,3,)多对多(,m:n,),实体集,A,中的一个实体与实体集,B,中的多个实体相对应,反之,实体集,B,中的一个实体与实体集,A,中的多个实体相对应。记作(,m:n,)。,如:教师与学生,学生与课程,工厂与产品。,数据库应用与设计,实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。,可以用图形来表示两个实体型之间的这三类联系,如图所示。,A B A B A B,(a)(b)(c),数据库应用与设计,联系,现实世界中实体和实体之间是有联系的,实体之间联系的基本类型有三种,一对一(,1:1,),一对多(,1:,n,),多对多(,m
28、n,),专业和学生,?,学生和课程,?,数据库应用与设计,计算机世界中的基本概念,信息世界中的实体抽象为计算机世界中的数据,存储在计算机中。,在计算机世界中,常用的主要概念如下:,1.,字段(,Field,),对应于属性的数据称为字段,也称为数据项。字段的命名往往和属性名相同。,如学生有学号、姓名、年龄、性别、系等字段。,2.,记录(,Record,),对应于每个实体的数据称为记录。,如一个学生,(,990001,,张立,,20,,男,计算机)为一个记录。,3.,文件(,File,),对应于实体集的数据称为文件。,如所有学生的记录组成了一个学生文件。,数据库应用与设计,在计算机世界中,信息模
29、型被抽象为数据模型,实体型内部的联系抽象为同一记录内部各字段间的联系,实体型之间的联系抽象为记录与记录之间的联系。,现实世界是设计数据库的出发点,也是使用数据库的最终归宿。,实体模型和数据模型是现实世界事物及其联系的两级抽象。而数据模型是实现数据库系统的根据。,通过以上的介绍,我们可总结出三个世界中各术语的对应关系如图所示。,现实世界信息世界 计算机世界,事物总体实体集 文件,事物个体实体 记录,特征属性 字段,事物间联系实体模型 数据模型,数据库应用与设计,概念模型,描述现实世界的数据模型称为概念模型或概念数据模型。,支持概念模型的最常用方法,E-R,方法,E-R,方法主要有,3,个要素:,
30、实体,联系,属性,数据库应用与设计,实体型用矩形表示,矩形框内写明实体名。,学生,教师,数据库应用与设计,属性用椭圆形表示,并用无向边将其与相应的实体连接起来。,学生,学号,年龄,性别,姓名,数据库应用与设计,联系(,Relationship,),用菱形表示,菱形框内写明联系名,用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型,数据库应用与设计,两个实体型之间的联系,一对一联系(,1,:,1,),实体型,1,联系名,实体型,2,1,1,1:1,联系,数据库应用与设计,两个实体型之间的联系,一对一联系(,1,:,1,),一对多联系(,1,:,n,),实体型,1,联系名,实体型,2,1
31、n,1:n,联系,数据库应用与设计,两个实体型之间的联系,一对一联系(,1,:,1,),一对多联系(,1,:,n,),多对多联系(,m,:,n,),实体型,1,联系名,实体型,2,m,n,m:n,联系,数据库应用与设计,多个实体之间的联系,E-R,图不仅能描述两个实体之间的联系,而且还能描述两个以上实体之间的联系。,数据库应用与设计,两个以上实体型之间的联系,一对多联系(,1,:,n,),若实体型,E1,,,E2,,,.,,,En,存在联系,对于实体型,Ej,(,j=1,,,2,,,.,,,i-1,,,i+1,,,.,,,n,)中的给定实体,最多只和,Ei,中的一个实体相联系,则我们说,Ei
32、与,E1,,,E2,,,.,,,Ei-1,,,Ei+1,,,.,,,En,之间的联系是一对多的。,数据库应用与设计,两个以上实体型之间的联系,一对多联系(,1,:,n,),实体型,1,联系名,实体型,2,1,m,多个实体型间的,1:n,联系,实体型,3,n,数据库应用与设计,两个以上实体型之间的联系,一对多联系(,1,:,n,),课程,讲授,教师,1,m,多个实体型间的,1:n,联系,参考书,n,数据库应用与设计,两个以上实体型之间的联系,多对多联系(,m,:,n,),供应商,供应,项目,m,n,多个实体型间的,m:n,联系,零件,p,三个实体型之间多对多联系和三个实体型两两之间多对多联系的
33、语义是不同的。,数据库应用与设计,单个实体型内的联系,实体型,1,联系名,1,n,同一实体型内部的,1:n,联系,职工,领导,1,n,同一实体型内部的,1:n,联系,数据库应用与设计,联系的属性,联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。,数据库应用与设计,联系的属性,课程,选修,学生,m,n,成绩,数据库应用与设计,E-R举例,数据库应用与设计,E-R,图实例,:,某个工厂物资管理的概念模型,物资管理涉及的实体:,仓库,:,属性有仓库号、面积、电话号码。,零件,:,属性有零件号、名称、规格、单价、描述。,供应商,:,属性有供应商号、姓
34、名、地址、电话号码、账号。,项目,:,属性有项目号、预算、开工日期。,职工,:,属性有职工号、姓名、年龄、职称。,数据库应用与设计,E-R,图实例,(,续,),实体之间的联系,一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。用库存量来表示某种零件在某个仓库中的数量。,一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。,职工之间具有领导,-,被领导关系。即仓库主任领导若干保管员。,一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。,数据库应用与设计,设某汽车运输公司数据库中有三个实体集。一是“车队”实体集,属性有车队号、车队名
35、等;二是“车辆”实体集,属性有车牌照号、厂家、出厂日期等;三是“司机”实体集,属性有司机编号、姓名、电话等。设车队与司机之间存在“聘用”联系,每个车队可聘用若干司机,但每个司机只能应聘于一个车队,车队聘用司机有聘期;司机与车辆之间存在着“使用”联系,司机使用车辆有使用日期和公里数,每个司机可以使用多辆汽车,每辆车可被多个司机使用。,要求:,(,1,)试画出,ER,图,并在图上注明属性、联系类型;,数据库应用与设计,数据库应用与设计,ER图转换成关系模式集的规则,实体类型转换,原则一,:将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体的标识属性即为关系模式的主键。,数据库应用
36、与设计,二元联系类型的转换,原则二:,若实体间联系是1:N,则在N实体转换成的关系模式中加入1实体的,主,键,(作为外键),和联系类型的属性。,原则三:,若实体间联系是1:1,可以在两个实体类型转换成的两个关系模式中任意一个关系模式的属性中加入另一个关系模式的,主,键和联系类型的属性。,原则四:,若实体间联系是M:N,,则将联系类型也转换成关系模式,其属性为两端实体类型的主键,(作为外键),加上联系的属性,而主键为两端实体主键的组合,。,数据库应用与设计,一元联系类型的转换:,同二元联系,三元联系类型的转换,总是将三元联系类型转换成关系模式,其属性为三端实体类型的主键,(作为外键),加上联系类
37、型的属性,而主键为三端实体主键的组合,。,数据库应用与设计,多对多联系转换成一对多联系,年龄,19,20,20,18,姓名,张三,李四,王五,赵六,学号,S1,S2,S3,S4,82,72,80,100,74,50,80,92,90,65,78,77,66,76,课,程,号,课,程,名,称,数,据,结,构,程,序,设,计,数,据,库,高,等,数,学,C4,C3,C2,C1,多对多联系是否蕴含,了一对多联系?,数据库应用与设计,多对多联系转换成一对多联系,数据库应用与设计,传统的三大数据模型,层次模型,网状模型,关系模型,数据库应用与设计,层次模型,用树形结构来表示实体之间联系的模型称为层次模型
38、支持层次模型的典型系统是诞生于,1970,年左右的,IBM,公司的,IMS,(,Information Management System,)。,数据库应用与设计,网状模型,用网络结构来表示实体之间联系的数据模型称为网状数据模型。,取消了层次模型中的两点限制。,网状模型的典型代表CODASYL(Conference On DAta SYstem Languages),数据库应用与设计,格式化模型,基本层次联系,两个记录及它们之间的一对多(包括一对一)的联系。,R,i,L,ij,R,j,双亲结点,子女结点,数据库应用与设计,层次模型,层次模型示例,数据库应用与设计,层次模型,层次模型示意图,
39、A,B,C,D,E,F,数据库应用与设计,层次模型满足以下两个条件:,有且只有一个结点没有双亲结点,这个结点被称为根结点,根以外的其它结点有且只有一个双亲,层次模型,数据库应用与设计,层次模型,层次模型示意图,根结点,叶结点,叶结点,数据库应用与设计,层次模型,层次模型示意图,数据库应用与设计,层次模型的特点,记录只能按其路径查看,只能表示一对多联系,数据操作比较复杂,层次模型,A,B,C,D,E,F,数据库应用与设计,网状,模型,网状模型示意图,数据库应用与设计,网状模型,网状模型满足以下两个条件,允许一个以上的结点无双亲,允许一个结点有多于一个的双亲,数据库应用与设计,网状模型,网状模型的
40、特点,可直接描述多对多联系,结构复杂,难以操作,数据库应用与设计,关系模型,用,关系,(表格数据)表示实体和实体之间联系的模型称为关系数据模型。,什么是关系?,通俗地讲,关系就是二维表格(第,2,章详细解释)。,数据库应用与设计,思考题,数据模型的作用是什么?,理解实体及其相关概念,以图书管理和借阅业务为例列出尽可能多的实体,并讨论实体的特征和标识特征。,挑选你熟悉的,45,个领域讨论实体以及实体之间的联系,并画出相应的,E-R,图。除了常见的两个实体之间一对一、一对多和多对多联系,是否有多个实体之间的联系?是否在两个实体之间存在多种联系?,数据库应用与设计,思考题,多对多联系为什么要转换成一
41、对多联系?如何进行转换?,概念模型、层次模型、网状模型、关系模型是如何划分的?,讨论层次模型和网状模型的特点。,为什么说关系就是二维表?,关系模型有哪些特点?,数据库应用与设计,1.4,数据库的三层模式结构,数据库的体系结构是一种三层模式结构,即由面向全局逻辑结构的概念层、和面向全局存储结构的物理层以及面向局部应用的外部层构成。,数据库应用与设计,数据独立性,什么是数据独立性?,怎样获得数据独立性?,数据库应用与设计,两层结构,存储数据独立性,数据库应用与设计,三层结构,存储数据独立性和概念数据独立性,数据库应用与设计,模式(,Schema,)是数据库中全体数据的逻辑结构和特征的描述。,例如:
42、学生记录定义为(学号、姓名、性别、系别、年龄),称为,记录型,,,而(,001101,,张立,男,计算机,,20,)则是该记录型的一个,记录值,。,模式只是对记录型的描述,而与具体的值无关。,模式的定义,数据的逻辑结构(数据项的名字、类型、取值范围等),数据之间的联系,数据有关的安全性、完整性要求,数据库应用与设计,在数据库系统中,对于同一意义下的数据,如:学生数据,从计算机中处理的二进制表示到用户处理的诸如学生姓名、年龄等概念的数据之间,存在着许多抽象和转换。,通常,DBMS,把数据库从逻辑上分为三级,即,外模式,、,模式,和,内模式,,它们分别反映了看待数据库的三个角度。三级模式结构如图
43、所示。,数据库应用与设计,应用,1,应用,2,应用,n,子模式,1,子模式,m,子模式,/,模式映象,模式,模式,/,内模式映象,内模式,数据库,数据库应用与设计,1.,模式,模式(,Schema,)是数据库中全体数据的逻辑结构和特征的描述,又称,概念模式,或,概念视图,。,视图,可理解为一组记录的值,用户或程序员看到和使用的数据库的内容。,模式处于三级结构的中间层,它是整个数据库实际存储的抽象表示,也是对现实世界的一个抽象,是现实世界某应用环境(企业或单位)的所有信息内容集合的表示,也是所有个别用户视图综合起来的结果,所以又称,用户共同视图,。,它表示了数据库的整体数据。,由多个“概念记录”
44、组成,包含数据库的所有信息,也称“,概念数据库,”、“,DBA,视图,”。,DBMS,提供模式描述语言(模式,DDL,)来定义模式。,数据库应用与设计,2.,外模式,又称,子模式,或,用户模式,或,外视图,,是三级结构的最外层,个别用户只对整个数据库的一部分感兴趣,所以外视图是个别用户看到和使用的数据库内容,因此也常把外视图称为用户数据库。,它由多种外记录值构成,这些记录值是概念视图的某一部分的抽象表示。即个别用户看到和使用的数据库内容,也称“用户,DB”,。,由多个“外记录值”组成,是概念视图的某一部分的抽象表示。,从逻辑关系上看,外模式包含于概念模式。,DBMS,提供子模式描述语言(子模式
45、DDL,)来定义子模式。,数据库应用与设计,外模式的地位:介于模式与应用之间,模式与外模式的关系:一对多,外模式通常是模式的子集,一个数据库可以有多个外模式。反映了不同的用户的应用需求、看待数据的方式、对数据保密的要求,对模式中同一数据,在外模式中的结构、类型、长度、保密级别等都可以不同,外模式与应用的关系:一对多,同一外模式也可以为某一用户的多个应用系统所使用,,但一个应用程序只能使用一个外模式。,数据库应用与设计,3.,内模式,又称,存储模式,或,内视图,,是三级结构中的最内层,也是靠近物理存储的一层,即与实际存储数据方式有关的一层,由多个存储记录组成,但并非物理层,不必关心具体的存储位
46、置。,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,记录的存储方式(顺序存储,按照,B,树结构存储,按,hash,方法存储),索引的组织方式,数据是否压缩存储,数据是否加密,数据存储记录结构的规定,DBMS,提供内模式描述语言(内模式,DDL,)来定义内模式。,数据库应用与设计,在数据库系统中,外模式可有多个,而概念模式、内模式只能各有一个。,内模式是整个数据库实际存储的表示,而概念模式是整个数据库实际存储的抽象表示,外模式是概念模式的某一部分的抽象表示。,数据库应用与设计,数据库系统的二级映象,数据库系统的三级模式是对数据的三个抽象级别,它使用户能逻辑地抽象地处理数据,而不必
47、关心数据在计算机内部的存储方式,把数据的具体组织交给,DBMS,管理。,为了能够在内部实现这三个抽象层次的联系和转换,,DBMS,在三级模式之间提供了,二级映象,功能。,数据库应用与设计,三层模式和两级映射,什么是模式?,数据库应用与设计,1.,模式,/,内模式映象,数据库中的模式和内模式都只有一个,所以模式,/,内模式映象是唯一的。,它确定了数据的全局逻辑结构与存储结构之间的对应关系。,例如,存储结构变化时,模式,/,内模式映象也应有相应的变化,使其概念模式仍保持不变,即把存储结构的变化的影响限制在概念模式之下,这使数据的存储结构和存储方法较高的独立于应用程序,通过映象功能保证数据存储结构的
48、变化不影响数据的全局逻辑结构的改变,从而不必修改应用程序,即确保了数据的物理独立性。,数据库应用与设计,2.,外模式,/,模式映象,数据库中的同一模式可以有任意多个外模式,对于每一个外模式,都存在一个外模式,/,模式映象。,它确定了数据的局部逻辑结构与全局逻辑结构之间的对应关系。,例如,在原有的记录类型之间增加新的联系,或在某些记录类型中增加新的数据项时,使数据的总体逻辑结构改变,外模式,/,模式映象也发生相应的变化,,这一映象功能保证了数据的局部逻辑结构不变,由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必须修改,从而保证了数据与程序间的逻辑独立性。,数据库应用与设计,三级结构的
49、优点,(,1,)保证数据的独立性。,将模式和内模式分开,保证了数据的物理独立性;,将外模式和模式分开,保证了数据的逻辑独立性。,(,2,)简化了用户接口。,按照外模式编写应用程序或敲入命令,而不需了解数据库内部的存储结构,方便用户使用系统。,(,3,)有利于数据共享。,在不同的外模式下可有多个用户共享系统中数据,减少了数据冗余。,(,4,)利于数据的安全保密。,在外模式下根据要求进行操作,不能对限定的数据操作,保证了其他数据的安全。,数据库应用与设计,数据库管理系统的基本结构,数据库应用与设计,思考题,数据库的三层模式结构是如何实现数据独立性的?,为什么将数据独立性又划分为存储数据独立性和概念数据独立性?,为什么说只有存储文件或存储数据库是物理上真正存在的?,为什么用户程序可以通过物理上并不存在的外部数据库和概念数据库访问数据?,什么是数据库模式?为什么数据库模式也划分为三层?,如何理解存储模式和概念模式之间的映射,以及概念模式和外部模式之间的映射?,讨论用户程序通过,DBMS,插入一条记录时所发生的一系列事件。,数据库应用与设计,本章总结,数据管理技术的发展和数据库技术的由来,什么是数据库,(数据库的特征),数据库管理系统,数据模型,数据独立性与三层模式结构,数据库应用与设计,
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818