1、VALUE?WHAT?什么是数据库?MUST?数据库重要吗?数据库有用吗?HOW?如何学好数据库?问题我们的生活离得开数据库吗?数据库技术是所有信息技术和信息产业的基础 数据库已经成为我们日常生活的基础设施 我们是什么专业?什么是数据?什么是数据管理?什么是数据库?什么是数据仓库?问题思考什么是数据库?存放数据的仓库?数据库与数据仓库DataBase&DataWarehouse为什么要学习数据库?数据库技术始于20世纪60年代,经历了最初的基于文件的初级系统、20世纪6070年代流行的层次系统和网状系统,而现在广泛使用的是关系数据库系统。数据库应用也从简单的事务管理扩展到各个应用领域,如用于工
2、程设计的工程数据库、用于因特网的Web数据库、用于决策支持的数据仓库技术、用于多媒体技术的多媒体数据库等,但应用最广泛的还是在基于事务管理的各类信息系统领域。数据库的体系结构也从最初的集中式数据库变化为基于客户/服务器机制的分布式数据库。随着面向对象技术的发展,关系对象数据库系统正在逐步完善和投入使用。而随着时代的进步和发展,数据库的应用领域会越来越广泛,数据库技术也将是所有信息技术和信息产业的基础。信息产业基础生活设施基础我们所学专业数据库课程的基本教学目标掌握数据库的基本概念和基本理论;掌握数据模型和数据库设计方法;熟练使用关系数据库标准语言SQL;基本掌握DBMS的管理和使用方法;了解数
3、据库最新的研究领域和发展方向。如何学习数据库课程数据库是一门理论性和实践性都很强的课程,又是专业的核心骨干课程,所以必须下功夫才能学好。学好本课程没有绝对的窍门和捷径,还是建议大家踏踏实实地下真功夫学习。数据库课程从一开始就概念多、知识点多,所以要课前预习,带着问题认真听讲,积极思考,提高上课效率。教师上课讲述的都是课程的重点和难点,听好课程可以达到事半功倍的目的。概念多知识点多练能力练能力多上机多上机多动手多动手多实践多实践 数据库数据库课程不仅理论性强,实践性也课程不仅理论性强,实践性也很强,应该实践的内容决不能偷懒,要主很强,应该实践的内容决不能偷懒,要主动多上机、多实践,提高动手能力。
4、通过动多上机、多实践,提高动手能力。通过上机实践来验证所学的理论、来巩固相关上机实践来验证所学的理论、来巩固相关的概念、来促进理论的学习,从而提高分的概念、来促进理论的学习,从而提高分析问题和解决问题的能力。通过实践还可析问题和解决问题的能力。通过实践还可以锻炼心理素质,提高心理承受能力。以锻炼心理素质,提高心理承受能力。理论性和实践性都很强 数据库课程一开始会感觉要记的、背的东西太多,我们不提倡死记硬背,要理解,理解了也就记住了。所以要精读课程指定的教材,特别是教师强调的课程中的重点、难点,一定要完全理解,这样才能建立起准确的、完整的知识结构。要理解所学的知识多看几本参考书 任何一本教材都有
5、自己的特色,不可能每个知识点都讲解的很详细,所以还要开阔眼界,打开思路,多看几本参考书,从而补充和完善课堂内所学的知识。多通过网络学习及时答疑解惑 加强交流,及时答疑解惑。可以采用多种形式进行交流,可以是传统的面对面进行答疑,也可以是利用网络通过邮件、QQ进行网上交流,我们在课程网站上有专门的答疑区和讨论区,同学们要随时提问和开展讨论,不要将疑问积累到考试的时候。主动学习 主动学习、自主学习、通过网络学习是对每个新时代的大学生提出的基本要求,所以一定要学会学习。在日益竞争激烈的社会中,只有比别人学的更快才不会被淘汰。uhttp:/ 学时安排第1部分:数据库基础和数据库设计(18学时)第2部分:
6、SQL及其数据库编程(12学时)第3部分:数据库系统和管理(12学时)第4部分:数据库新技术及应用(6学时)如何教好、学好?如何变被动学习为主动学习?如何变被动学习为主动学习?希望大家不仅仅学到知识,更希望大家素质和能力得到提高!第1章 数据库概论 数据管理及其发展过程 数据库的特征 数据模型基础 数据库的三层体系结构 数据库管理系统的功能 数据库系统的组成数据管理及其发展过程 计算机用于数据管理经历了哪几个阶段?现阶段是什么阶段?有什么特点?人工管理阶段(50年代中期以前)应用程序1应用程序2应用程序n数据集n数据集2数据集1背景:背景:从硬件看,外存只有磁带、卡片、纸带,没有磁盘。从硬件看
7、,外存只有磁带、卡片、纸带,没有磁盘。从软件看,没有操作系统,没有管理数据的软件。从软件看,没有操作系统,没有管理数据的软件。有什么特点?有什么特点?数据不保存数据不保存 没有软件系统对数据进行管理没有软件系统对数据进行管理 只有程序的概念,没有文件的概念只有程序的概念,没有文件的概念 一组数据对应一个程序,数据是面向程序的一组数据对应一个程序,数据是面向程序的 存在大量的重复数据,及数据冗余大存在大量的重复数据,及数据冗余大文件系统阶段(50年代后期60年代中期)应用程序1文件1应用程序2文件2应用程序n文件n文件系统背景:背景:不仅用于科学计算,而且大量用于管理。不仅用于科学计算,而且大量
8、用于管理。有了像磁盘这样的直接存取存储设备。有了像磁盘这样的直接存取存储设备。操作系统中已经有了专门的管理数据软件操作系统中已经有了专门的管理数据软件文件系统。文件系统。文件系统阶段数据管理的特点?数据可长期保留在磁盘上,可经常对文件进行查询、修改、插入、删除等操作;有软件(文件系统文件系统)对数据进行管理,程序和数据有了一定的独立性(数据不再属于某个特定的程序,可以重复使用);文件的形式多样化;数据的存取基本上以记录为单位。文件系统的缺陷?数据冗余大;数据不一致性;程序和数据之间的独立性差;数据联系弱。数据库系统阶段(60年代后期开始)应用程序1应用程序2应用程序nDBMS数据库标志着数据库
9、技术诞生的三个事件1968年研制成功、1969年形成产品的美国IBM公司的数据库管理系统IMS(Information Management System)的问世,该系统支持的是层次数据模型层次数据模型。什么是层次模型?什么是层次模型?n美国数据系统语言协会CODASYL(Conference On DAta SYstem Language)下属的数据库任务组DBTG(DataBase Task Group)对数据库方法进行了系统的研究,在20世纪60年代末和70年代初发表了若干个报告(称为DBTG报告),该报告建立了数据库技术的很多概念、方法和技术。DBTG所提议的方法是基于网状数据模型网状
10、数据模型的。什么是网状模型?什么是网状模型?n从1970年起,IBM的研究员E.F.Codd发表了一系列的论文,提出了数据库的关系模型关系模型,开创了数据库关系方法和关系数据理论的研究,为关系数据库的发展和理论研究奠定了基础。什么是关系模型?什么是关系模型?高级数据库阶段 又经过40多年的发展,数据库不仅仅可以管理一般数据,还可以管理对象数据,可以进行知识管理等。把基于新技术的数据库应用(如分布式数据库、面向对象数据库、数据仓库等)称作高级数据库系统阶段。大数据时代?设置数据不长期保存计算机中是数据管理哪个阶段的特征人工管理阶段文件系统阶段数据库阶段高级数据库阶段ABCD提交单选题设置数据可以
11、共享、数据独立性高是数据管理哪个阶段的特征?人工管理阶段文件系统阶段数据库阶段数据仓库阶段ABCD提交单选题数据库系统阶段的特点?存储联系;高效;共享;程序维护代价;保证数据正确;数据安全;避免干扰的同时使用。数据管理关数据管理关心哪些问题?心哪些问题?大数据时代?海量数据之下隐藏了哪些信息?如何快速获取?海量数据之下隐藏了哪些信息?如何快速获取?数据库系统的特点什么是数据库?数据库是相互关联的数据的集合 数据库用综合的方法组织数据,保证尽可能高的访问效率 数据库具有较小的数据冗余,可供多个用户共享 数据库具有较高的数据独立性 数据库可以最大限度地保证数据完整性 数据库具有安全控制机制,能够保
12、证数据的安全、可靠 数据库允许并发地使用,能有效、及时地处理数据,并能保证数据的一致性 数据库中的数据不是孤立的,数据与数据之间是相互关联的。也就是说,在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的联系。数据库能够根据不同的需要按不同的方法组织数据 数据库中的数据可以共享 但是是可控制、受约束的教务文件后勤文件学生基本情况冗余!冗余带来什么问题?学生基本情况冗余!冗余带来什么问题?数据库中的数据可以共享 但是是可控制、受约束的物理存储物理存储逻辑存储逻辑存储 数据独立性数据独立性是指数据的组织和存储方法与应用程序互不依赖、彼此独立的特性。保证数据正确的特性在数据库中称之为数据数
13、据完整性完整性。899 数据库技术要能够保证数据库中的数据是安全、可靠的。有效地防止数据库中的数据被非法使用或非法修改 数据遭到破坏时能立刻将数据完全恢复 在多个用户同时使用数据库时,能够保证不产生冲突和矛盾,保证数据的一致性和正确性。200元200+1000=1200200-200=00元1200元200元200元数据库的特点?记住了哪些?设置数据独立性是指数据库中的数据之间没有联系数据的存储结构修改应用程序不用修改数据库中的数据是独立的数据正确的特性ABCD提交单选题设置数据共享除了可以节省存储空间,更重要的是可以保证数据的一致性数据的独立性数据的无冗余性数据的安全性ABCD提交单选题设置
14、以下不属于数据库阶段和文件阶段本质区别的是数据共享性高数据独立性高数据可以长期保存数据面向全局应用ABCD提交单选题设置在数据库中保证数据正确的特性是数据独立性数据一致性数据可靠性数据完整性ABCD提交单选题设置多个用户操作共享数据不产生冲突和矛盾,是由安全控制机制保障的并发控制机制保障的恢复机制保障的共享机制保障的ABCD提交单选题思考题 什么是数据管理?数据管理经历了怎样的发展过程?标志着数据库技术诞生的是哪些事件?什么是数据库?数据库有哪些主要特征?在了解了数据库的特征之后反观文件系统用于数据管理存在哪些明显的缺陷?试述数据独立性、数据完整性、数据安全性、数据的并发一致性等概念的基本含义
15、。接下来学习数据模型初步 数据库中不仅存储数据本身,还要存储数据与数据之间的联系,这种数据和联系是需要描述和定义的,数据模型正是完成此项任务的。n首先如何认识和描述现实世界中的数据及其联系?n然后是如何实现数据及其联系的存储?认知和存储认知和存储曾经提到的传统三大数据模型 层次数据模型 网状数据模型 关系数据模型 我们需要首先认识世界,理解现实世界中数据之间的联系是怎样的?概念数据模型 描述现实世界的数据模型称为概念模型或概念数据模型。支持概念模型的最常用方法E-R方法 E-R方法主要有3个要素:实体实体 联系联系 属性属性传统方法用矩形框表示实体,用菱形框表示联系,用椭圆框表示属性或直接将属
16、性名写在实体旁边。层次模型 网状模型 关系模型层次模型 用树形结构来表示实体之间联系的模型称为层次模型。支持层次模型的典型系统是诞生于1970年左右的IBM公司的IMS(Information Management System)。层次模型的限制 有且仅有一个结点无父结点,这个结点即为树的根;其他结点有且仅有一个父结点。层次数据库实例层次结构实例层次数据实例无论是无论是“型型”还是还是“值值”都都满足满足“树树”的定义的定义只能表达一对多的联系?只能表达一对多的联系?层次型不能表示多对多的联系 把有两个父结点的非层次结构转换成两个层次型网状模型 用网状结构来表示实体之间联系的数据模型称为网状数
17、据模型。取消了层次模型中的两点限制。网状模型的典型代表CODASYL(Conference On DAta SYstem Languages)CODASYL用系(SET)描述联系 SET:相互关联的数据的集合 系由一个父记录型和一个或多个子记录型构成,系是一个二级树。网络结构示意理解系的概念系值示意层次数据库和网状数据库存储示意用指针来实现联系效率很高、使用麻烦关系模型 用关系(表格数据)表示实体和实体之间联系的模型称为关系数据模型。什么是关系?通俗地讲,关系就是二维表格(第2章详细解释)。关系数据模型实例关系数据模型实例学号学号姓名姓名性别性别年龄年龄所属系所属系0101李勇男2001010
18、2刘晨女19010103王明女20030199张立男1802关系模式:系号系号系名系名01计算机系02材料系03英语系04信息系数据完整性预习、讨论 如何避免错误的字段值?如何避免插入一条重复或错误的记录?如何避免插入错误关联的记录?系号系号系名系名01计算机系02材料系03英语系04信息系学号学号姓名姓名性别性别年龄年龄所属系所属系0101李勇男20010102刘晨女19010103王明女20030199张立男1802数据模型预习、讨论 假设要管理假设要管理仓库仓库和和器件器件信息,同时要管理信息,同时要管理在仓库中在仓库中存放器件存放器件的信息,应该如何设计的信息,应该如何设计存储方案?存
19、储方案?设置传统的三大数据模型不包括概念数据模型层次数据模型网状数据模型关系数据模型ABCD提交单选题设置使用树结构来表示实体和实体之间联系的数据模型是概念数据模型层次数据模型网状数据模型关系数据模型ABCD提交单选题数据独立性与三层结构 数据独立性是指应用程序与数据的组织和存储结构相互独立的特性。具体说,就是当修改数据的组织方法和存储结构时,应用程序不用修改的特性。数据独立性可分为存储数据独立性和概念数据独立性。存储数据独立性 存储数据独立性:不管存储文件的存储方法和存储结构怎么改变,用户程序都能继续正确执行。概念数据独立性 概念数据独立性(逻辑数据独立性):当用户程序操作的概念文件有插入或
20、删除字段的情况发生时(当然是通过存储文件),用户程序仍能正确执行的性质。设置数据独立性是指数据库中数据彼此独立的特性应用程序和数据存储结构彼此独立的特性数据库用户之间彼此独立数据正确的特性ABCD提交单选题设置数据独立性是通过并发控制获得的三层结构获得的共享机制获得的各种约束获得的ABCD提交单选题思考题 试述数据模型的基本概念。什么是概念数据模型?试述传统的三大数据模型是如何划分的。全面解释数据独立性的含义。三层模式结构和数据库管理系统 数据库管理系统的基本功能 数据库的三层模式结构 模式说明实例 数据库管理系统的总体结构什么是数据库管理系统?简称DBMS 管理数据库的系统软件 数据库的诸多
21、特点是靠用好DBMS来保证的数据库管理系统的基本功能 数据库定义功能 数据库操纵功能 数据库查询功能 数据库控制功能 数据库通讯功能数据库的三层模式结构n什么是模式(Schema)?存储模式、概念模式与外部模式 定义存储数据库结构的模式称作存储模式,又称作内模式;定义概念数据库结构的模式称作概念模式,或简称模式;定义外部数据库结构的模式称作外部模式,又称作子模式或用户模式。子模式是概念模式的子集,它可以从概念模式推导出来。数据库的三级模式设置真正物理存储数据的是存储数据库概念数据库外部数据库以上三个数据库都物理存储数据ABCD提交单选题设置如下表述正确的是概念数据库是外部数据库的抽象外部数据库
22、是存储数据库的抽象概念数据库是存储数据库的抽象存储数据库是概念数据的抽象ABCD提交单选题设置概念数据库和存储数据库之间的映像提供了概念数据独立性存储数据独立性外部数据独立性内部数据独立性ABCD提交单选题模式说明实例 考虑一个简单的、称作的数据库,它包括和两个文件。存储数据库示例STORAGE SCHEMA FOR STORAGE-仓库职工 DATABASE.STORAGE FILE SECTION.STORAGE FILE 仓库,HASH FILE USING HASHING ROUTINE HASHXDATA FIELDS.仓库号 PIC X(4),PRIMARY KEY FIELD 城
23、市 PIC X(10)面积 PIC 4(9)POINTER FIELDS.NR-POINTER PIC X(4),FOR SINGLE LINKED LIST USING NEXT 仓库号 VALUE IN ASCENDING ORDERSTORAGE FILE 职工,INDEXED-SEQUENTIAL FILEDATA FIELDS.仓库号 PIC X(4),SECONDARY KEY,POINTER TO PARENT 仓库 RECORD.职工号 PIC X(4),PRIMARY KEY FIELD.姓名 PIC X(10).工资 PIC 8(9)V99POINTER FIELDS.NC
24、-POINTER PIC X(4),POINTER TO NEXT CHILD,FOR SECONDARY KEY 仓库号 USING 职工号VALUE AND MULTIPLE LINKED LIST INDEX CHILD-INDEX.INDEX SECTION.INDEX CHILD-INDEX,MULTIPLE LINKED LIST INDEX FOR SECONDARY KEY 仓库号 IN 职工 FILE.FIELDS.仓库号 FROM 职工 FILE,PRIMARY KEY.职工号 FROM 职工 FILE,POINTER TO FIRST CHILD.概念数据库存储数据库的抽
25、象。CONCEPTUAL SCHEMA FOR CONCEPTUAL-仓库职工 DATABASECONCEPTUAL FILE SECTION CONCEPTUAL FILE 仓库仓库号 PIC X(4),PRIMARY KEY城市 PIC X(10)面积 NUMERIC(4)CONCEPTUAL FILE 职工仓库号 PIC X(4),SECONDARY KEY职工号 PIC X(4),PRIMARY KEY姓名 PIC X(10)工资 NUMERIC(8.2)RELATIONSHIP SECTION.仓库 IS PARENT OF 职工,仓库号 IN 职工 DETERMINES 仓库 PA
26、RENT RECORD.外部数据库 概念数据库的部分抽取。一个概念数据库可以派生出多个外部数据库。外部模式则是对外部数据库的描述,它需要说明外部文件、构成外部文件的字段及这些外部文件之间的联系。EXTERNAL SCHEMA FOR EXT1-仓库职工 DATABASE.EXTERNAL FILE SECTION.EXTERNAL FILE EXT1-仓库 ABSTRACTED FROM 仓库仓库号 PIC X(4),PRIMARY KEY面积 NUMERIC(4)EXTERNAL FILE EXT1-职工 ABSTRACTED FROM 职工仓库号 PIC X(4),SECONDARY KE
27、Y职工号 PIC X(4),PRIMARY KEY姓名 PIC X(10)RELATIONSHIP SECTION.EXT1-仓库 IS PARENT OF EXT1-职工 仓库号 IN EXT1-职工 DETERMINES EXT1-仓库 PARENT RECORD.理解三层模式 模式描述了数据库的结构,对应有:存储模式 概念模式 外部模式 现在关系数据库没有这么复杂了数据库管理系统的基本框架应用程序通过应用程序通过DBMS读取一条记录的过程?读取一条记录的过程?数据库系统 数据库系统的组成 数据库管理和数据库管理员 数据库应用系统的体系结构数据库系统的组成 以数据为主体的数据库 管理数据库
28、的系统软件数据库管理系统(DBMS)支持数据库系统的计算机硬件环境和操作系统环境 管理和使用数据库系统的人,特别是负责设计、维护数据库的技术人员数据库管理员 方便使用和管理系统的各种技术说明书和使用说明书数据库、数据库管理系统、数据库系统?数据库管理和数据库管理员 从事数据库管理工作的人员称之为数据库管理员(Database Administrator,简称为DBA),数据库管理员指的是一种角色,是负责数据库管理的人员或部门。数据库管理员从事的工作既有管理方面的、也有技术方面的,数据库管理员负责数据库的规划、设计、建设、运行、维护、升级等各个方面的工作。在数据库规划阶段要参与选择和评价与数据库
29、有关的计算机软件和硬件,要与数据库用户共同确定数据库系统的目标和数据库应用需求,要确定数据库的开发计划;在数据库设计阶段要负责数据库标准的制定,要负责数据库的设计,负责数据库安全、可靠方面的设计;在数据库实施阶段要负责数据库的具体物理实现,负责系统的转换和数据的载入,负责协调数据库应用系统的开发等;在数据库运行阶段首先要负责对用户进行数据库方面的培训;负责数据库的备份和恢复;负责对数据库中的数据进行维护;负责监视数据库的性能,并调整、改善数据库的性能,提高系统的效率;继续负责数据库安全系统的管理;在运行过程中发现问题、解决问题。设置数据库系统是指数据库中的数据集合管理数据库的系统软件管理数据库
30、的人及相关支持环境包括以上所有内容ABCD提交单选题设置数据库管理员负责数据库规划阶段的相关工作数据库设计阶段的相关工作数据库运行阶段的相关工作以上各阶段的工作ABCD提交单选题数据库应用系统的体系结构 数据库应用系统的体系结构经历了集中式结构、文件/服务器结构、客户/服务器结构和浏览器/服务器结构等各个阶段。数据库应用的体系结构可分为三种:客户/服务器(Client/Server,C/S)结构 浏览器/服务器(Browser/Server,B/S)结构 基于组件的分布式计算结构三种应用的结构设置使用网页访问数据库通常是B/S结构C/S结构胖客户端结构ABC提交单选题设置现在的手机APP访问数
31、据库通常是B/S结构C/S结构AB提交单选题小结:数据库的发展经历了三代演变 第一代:层次/网状数据库系统 第二代:关系数据库系统 第三代:高级/新一代数据库系统造就了四位图灵奖得主nBachmann1973,网状数据库之父nE.F Coddn1982,关系数据库之父nJames Grayn1998年,数据库技术和事务处理专家nStoneBrakern2014,现代主流数据库系统架构奠基人小结数据库是存储在计算机中相互关联的数据集合,具有冗余度低、共享度高,能够保证数据的完整性、一致性、独立性和安全性等。数据库、数据库管理系统、数据库系统分别指以数据为主体的数据库、管理数据库的系统软件、和以数
32、据库为基础的计算机应用系统。数据库管理是数据库正常工作的保障,从事数据库管理工作的是数据库管理员,他们要参与和负责数据库的规划、设计、实施、运行和维护等所有环节。数据库不仅应用于一般的数据管理和信息管理领域,其应用范围非常广泛,可以说有数据的地方就有数据库;同时与计算机新技术的结合也在不断推动数据库技术的发展,并扩展数据库的应用范围和应用水平。思考题 数据库系统是如何实现较高的数据独立性的?什么是数据库管理系统?它有哪些基本功能?简要概述数据库、数据库管理系统和数据库系统各自的含义。什么是数据库管理员?简要叙述数据库管理的重要性及数据库管理员的职责。简要叙述数据库应用系统的各种体系结构。现在手
33、机上广泛使用的APP属于C/S结构、还是B/S结构?很多微信公众号提供后台服务,这又是C/S结构、还是B/S结构?111概念数据模型 数据之间有联系吗?如何描述数据之间的联系?数据从现实世界到计算机数据库有多远?112数据从现实进入到数据库所经历的过程113如何认识、理解、表达现实世界的数据管理?概念数据模型,所使用的方法实体-联系方法114实体-联系方法(E-R方法)E-R方法使用的工具称作E-R图,它所描述的现实世界的信息结构称为企业模式(Enterprise Schema),也把这种描述结果称为E-R模型或概念数据模型。E-R方法的三要素 实体 属性 联系 客观存在并可以相互区分的客观事
34、物或抽象事件称为实体。客观存在的抽象事件订货、演出、足球赛等也是实体可以触及的客观对象仓库、器件、职工等是实体身高年龄性别体重比赛时间、地点、参赛队 具有相同属性的一类实体的集合称之为实体集。学生实体集课程实体集教师实体集教室实体集 用于区分实体的实体特征称为标识特征。学生实体的学号课程实体的课程号119弱实体弱实体 事实上也不是所有的实体都有标识特征的,也有实体仅靠自身的特征不能区分一个个实体,它需要借助其他实体的特征才能够进行区分,这样的实体称为弱实体弱实体。n例如:(1)在学籍管理系统中,学生是一个实体,而从管理的需求出发为了方便和家长联系通常也可以建立一个家长实体,在这样一个系统中家长
35、实体是因为学生实体的存在而存在,所以家长实体是弱实体。(2)订货业务的订货单实体通常包含订货单号、供应商、经手人、订货日期等特征,而具体的订货内容则会派生出一个订货明细实体,这个订货明细实体也是弱实体。120实体之间的基本联系 一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)121一对一的联系一对一的联系如果实体集A与实体集B之间存在联系,并且对于实体集A中的每一个实体,实体集B中有至多有一个实体与之对应;反之亦然,则称实体集A到实体集B的联系是一对一的,记为1:1。有工厂和厂长两个实体,并且有语义:一个工厂只有一名厂长;反之,一名厂长只能在一个工厂工作。那么工厂和厂长之间的联系是
36、一对一的,我们把这种联系命名为领导。一对一联系的例子一对一联系的例子领导工厂厂长11123一对多的联系一对多的联系 如果实体集A与实体集B之间存在联系,并且对于实体集A中的一个实体,实体集B中有多个实体与之对应;而对实体集B中的任意一个实体,在实体集A中都只有一个实体与之对应,则称实体集A到实体集B的联系是一对多的,记为1:n。有仓库和职工两个实体,并且有语义:一个仓库可以有多名职工,但是一个职工只能在一个仓库工作。那么仓库和职工之间的联系是一对多的,我们把这种联系命名为工作。一对多联系的例子一对多联系的例子工作仓库职工1n125多对多的联系多对多的联系 如果实体集A与实体集B之间存在联系,并
37、且对于实体集A中的一个实体,实体集B中有多个实体与之对应;而对实体集B中的一个实体,在实体集A中也有多个实体与之对应,则称实体集A到实体集B的联系是多对多的,记为m:n。多对多联系的例子多对多联系的例子 有仓库和器件两个实体,并且有语义:一个仓库可以存放多种器件,一种器件可以存放在多个仓库。那么仓库和器件之间的联系就是多对多的,我们把这种联系命名为库存。仓库器件库存mn127多个实体之间的联系多个实体之间的联系 有仓库、器件、供应商三个实体,并且有语义:每个仓库可以向多个供应商发出订购,可购买多种器件;每个供应商可向多个仓库供货,可供应多种器件;每种器件可由多个供应商供应,可由多个仓库购买。仓
38、库器件供应商订购mnp128区别?区别?仓库器件供应商订购mnp仓库器件供应商R1R2R3129强制联系与非强制联系 例:部门和职工之间的联系,如果规定职工任何时候都必须属于一个部门,则这种联系是强制联系;如果规定职工在某种情况下可以不属于任何部门则这种联系就是非强制联系。一种联系是强制联系还是非强制联系取决于现实世界中的管理方法是如何规定的。130依赖联系 弱实体不能独立存在,需要借助于另一个实体集中的标识特征才能进行区分。被弱实体所依赖的实体集也称作强实体集,在弱实体集和强实体集之间必然存在着一种联系,因为它们之间存在着一种依赖关系,因此把这种联系称作依赖联系。131131依赖联系的例子
39、依赖联系都是一对多的联系,弱实体集也只有作为一对多联系的一部分才有意义。如何建立概念数据模型?建模工具软件PowerDesigner132133数据库建模工具PowerDesigner简介 PowerDesigner是一个功能强大而使用方便的工具集,为新一代数据库应用的建模提供了全面的支持。PowerDesigner 提供了如下几种模型:需求分析模型(Requirements Model RQM)企业架构模型(Enterprise Architecture ModelEAM)企业业务流程模型(Business Process ModelBPM)概念数据模型(Conceptual Data Mo
40、delCDM)逻辑数据模型(Logical Data ModelLDM)物理数据模型(Physical Data ModelPDM)面向对象模型(Object Oriented ModelOOM)信息流动模型(Information Liquidity Model ILM)XML模型(XML Model)134PowerDesigner各模型之间的转换关系 135使用PD建立概念数据模型的基本方法 概念数据模型设计界面中的工具板的命令按钮大致可以分为三类:设计E-R图的实体、联系、继承和属性等概念数据模型中的要素;点取、套取、抓取、放大、缩小、剪裁等编辑手段和工具;文本、直线、矩形、椭圆形、圆
41、角矩形、任意形状、多边形等辅助信息和符号。136建立概念数据模型的常规操作 定义实体;定义实体的属性;定义实体之间的联系。操作操作步骤和方法参考步骤和方法参考2.3.2137一个简单的概念数据模型 疑问:这些1:n联系使用的符号不完全一样。138设置描述现实世界数据及其数据之间联系的数据模型是概念数据模型关系数据模型逻辑数据模型物理数据模型ABCD提交单选题设置现实世界中的实体在计算机阶段对应的术语是文件记录字段数据项ABCD提交单选题设置专业和学生之间的联系类型应该是一对一一对多多对一多对多ABCD提交单选题设置E-R方法的三个要素是实体、联系和属性,它用于描述哪种数据模型概念数据模型关系数
42、据模型逻辑数据模型物理数据模型ABCD提交单选题什么是弱实体?142什么是强制联系?143什么是依赖联系?144思考题 数据管理由现实世界到机器世界经历了哪些阶段?什么是概念数据模型?什么是E-R方法?E-R方法有哪三个要素?什么是实体?什么是弱实体?用一些例子进行讨论。实体之间有哪些基本联系?用一些例子进行讨论。什么是实体之间的强制联系?并举例说明。什么是实体之间的依赖联系?并举例说明。PowerDesigner属于哪一类的软件工具?试述PowerDesigner的主要功能。叙述使用PowerDesigner建立概念数据模型的基本方法。145接下来深入讨论联系的几个问题 为什么需要讨论联系?
43、多对多联系复杂吗?理解和转换多对多联系 对联系的误解会掉入连接陷阱?146深入讨论联系的几个问题 为什么需要讨论联系?多对多联系复杂吗?理解和转换多对多联系 对联系的误解会掉入连接陷阱?147为什么要讨论实体之间的联系?仓库号 城 市 面 积 WH1 北京 500 WH2 上海 450 WH3 广州 200 WH4 重庆 300 器件号器件名称P1显示卡P2声卡P3解压卡P4散热风扇以仓库和器件两个实以仓库和器件两个实体之间的关联为例体之间的关联为例149仓库和器件两个实体之间的联系类型?仓库和器件两个实体之间的联系类型?如果规定一个仓库只能存放一种器件,并且一种器件如果规定一个仓库只能存放一
44、种器件,并且一种器件只能存放在一个仓库,这时仓库和器件之间的联系类只能存放在一个仓库,这时仓库和器件之间的联系类型是型是的;的;如果规定一个仓库可以存放多种器件,但是一种器件如果规定一个仓库可以存放多种器件,但是一种器件只能存放在一个仓库,这时仓库和器件之间的联系类只能存放在一个仓库,这时仓库和器件之间的联系类型是型是的;的;如果规定一个仓库可以存放多种器件,同时一种器件如果规定一个仓库可以存放多种器件,同时一种器件可以存放在多个仓库,这时仓库和器件之间的联系类可以存放在多个仓库,这时仓库和器件之间的联系类型是型是的。的。预习、讨论的结果?预习、讨论的结果?如果仓库和器件之间的联系是一对一的如
45、果仓库和器件之间的联系是一对一的 仓库号器件号数量WH1WH2WH3WH4P1P2P3P4100120180200仓库号城市面积器件号器件名称数量WH1WH2WH3WH4北京上海广州重庆500450200300P1P2P3P4显示卡声卡解压卡散热风扇100120180200仓库号城市面积WH1WH2WH3WH4北京上海广州重庆500450 200300器件号器件名称P1P2P3P4显示卡声卡解压卡散热风扇如果仓库和器件之间的联系是一对多的如果仓库和器件之间的联系是一对多的 仓库号器件号数量WH1WH1WH2WH2P1P2P3P4100120180200仓库号城市面积器件号器件名称数量WH1WH
46、1WH2WH2WH3WH4北京北京上海上海广州重庆500500 450450 200300P1P2P3P4显示卡声卡解压卡散热风扇100120180200仓库号城市面积WH1WH2WH3WH4北京上海广州重庆500450 200300器件号器件名称P1P2P3P4显示卡声卡解压卡散热风扇如果合并成一个文件:仓库号器件号器件名称数量WH1WH1WH2WH2P1P2P3P4显示卡声卡解压卡散热风扇100120180200仓库号城市面积WH1WH2WH3WH4北京上海广州重庆500450 200300仓库和器件之间的联系是一对多时仓库和器件之间的联系是一对多时如果仓库和器件之间的联系是多对多的如果仓
47、库和器件之间的联系是多对多的 仓库号器件号数量WH1WH1WH2WH2WH3WH4WH4WH4WH4P1P2P3P4P1P1P2P3P4100120180200150180200100140仓库号城市面积WH1WH2WH3WH4北京上海广州重庆500450 200300库存仓库器件号器件名称P1P2P3P4显示卡声卡解压卡散热风扇器件 同样两个实体,如果赋予不同的语义则同样两个实体,如果赋予不同的语义则有不同的设计结果。也就是说我们在概念模有不同的设计结果。也就是说我们在概念模型中讨论实体之间的联系类型直接影响着目型中讨论实体之间的联系类型直接影响着目标数据库的设计结果和设计质量。标数据库的设
48、计结果和设计质量。为什么要讨论实体之间的联系类型?155理解和转换多对多联系 多对多联系是一类比较复杂的联系,一般多对多联系是一类比较复杂的联系,一般数据库管理系统并不直接支持这类联系,数据库管理系统并不直接支持这类联系,或者由于技术上的原因我们也不直接使用或者由于技术上的原因我们也不直接使用这类联系,我们总是把多对多联系转换为这类联系,我们总是把多对多联系转换为一对多联系。一对多联系。面积500450200300城市北京上海广州重庆仓库号WH1WH2WH3WH4120200180100140150180200100器件号器件名称显示卡声卡解压卡散热风扇P4P3P2P1用矩阵表示多对多联系 一
49、个多对多的联系实际蕴涵一个多对多的联系实际蕴涵了两个一对多的联系,仓库和器了两个一对多的联系,仓库和器件之间的联系是多对多的,但是件之间的联系是多对多的,但是它们和它们和“联系联系”库存之间的联系库存之间的联系都是一对多的。都是一对多的。多对多联系转换为一对多联系仓库号城 市面 积仓 库器 件库 存W-IP-I 器件号器件名称仓库号器件号数 量11mn仓库号城 市面 积仓库号器件号数 量器 件仓 库库 存mn器件号器件名称159在PD中把多对多联系转换为一对多联系 PowerDesinger的早期版本只提供了概念数据模型(CDM)和物理数据模型(PDM,实际也担当着逻辑模型的作用),因此需要手
50、工将多对多联系转换一对多联系,方法是将多对多联系转换为实体,结果变成原来的两个实体和表示联系的实体之间的两个一对多联系。示例(参见2.4.3图2-23)nPowerDesinger 15.0增加了逻辑模型(LDM),在根据CDM生成LDM会自动将多对多联系转换成一对多联系(参见2.4.3图2-24)为什么要把多对多联系转换为一对多联系?160161连接陷阱 所谓连接陷阱就是误认为不存在联所谓连接陷阱就是误认为不存在联系的两个实体间存在联系,从而通系的两个实体间存在联系,从而通过这种过这种“联系联系”获取错误的信息。获取错误的信息。查询查询WH1WH1仓库仓库P1P1器件的订货数量是多少?器件的