《第1章 概念模型与逻辑模型.ppt》由会员分享,可在线阅读,更多相关《第1章 概念模型与逻辑模型.ppt(29页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、13.3 数据模型n由由于于计计算算机机不不可可能能直直接接处处理理现现实实世世界界中中的的具具体体事事物物,所所以以人人们们必必须须事事先先把把具具体体事事物物转转换换成成计计算算机机能够处理的数据。能够处理的数据。n在在数数据据库库技技术术中中使使用用数数据据模模型型来来抽抽象象、表表示示现现实实世界中的数据和信息。世界中的数据和信息。n模型模型:对现实世界特征的模拟和抽象。:对现实世界特征的模拟和抽象。n数据模型数据模型:对现实世界数据特征的模拟和抽象。:对现实世界数据特征的模拟和抽象。12n n现现现现实实实实世世世世界界界界中中中中的的的的数数数数据据据据要要要要进进进进入入入入到到
2、到到数数数数据据据据库库库库中中中中,需需需需要要要要经经经经过过过过人人人人们们们们的的的的认认认认识识识识、理理理理解解解解、整整整整理理理理、规规规规范范范范和和和和加加加加工工工工。可可可可以以以以把把把把这这这这一一一一过过过过程程程程划划划划分分分分成成成成三三三三个个个个主主主主要要要要阶阶阶阶段段段段,即即即即现现现现实实实实世世世世界界界界阶阶阶阶段段段段、信息世界阶段信息世界阶段信息世界阶段信息世界阶段和和和和机器世界阶段机器世界阶段机器世界阶段机器世界阶段。不依赖于具体机器不依赖于具体机器和和DBMS依赖于具体机依赖于具体机器和器和DBMS现实世界现实世界信息世界:概念模
3、型信息世界:概念模型机机 器器 世世 界:界:某某DBMS支持的数据模型支持的数据模型抽象抽象转换转换233.3.1 现实世界n实实体体:现现实实世世界界中中客客观观存存在在并并可可以以相相互互区区分分的的事事物。物。n实实体体的的特特征征:每每一一个个实实体体具具有有的的特特征征。如如“学学生生”实体具有学号、姓名、性别等特征。实体具有学号、姓名、性别等特征。n实实体体集集:具具有有相相同同特特征征的的一一类类实实体体的的集集合合构构成成了了实实体体集集。例例如如,所所有有的的学学生生构构成成了了“学学生生”实实体体集。集。n标标识识特特征征:在在一一个个实实体体集集中中,用用于于区区分分实
4、实体体的的特特征征。例例如如,对对于于学学生生实实体体,学学号号可可以以作作为为其其标标识识特征,而特征,而性别性别则不能作为其标识特征。则不能作为其标识特征。343.3.2 信息世界n人人们们对对现现实实世世界界的的对对象象进进行行抽抽象象,并并对对其其进进行行命命名、分类,在信息世界用名、分类,在信息世界用概念模型概念模型对其进行描述。对其进行描述。n信息世界涉及的主要概念:信息世界涉及的主要概念:n1.实体实体:对应于现实对应于现实世界的实体。如一个学生、一门课。世界的实体。如一个学生、一门课。n2.属属性性:对对应应于于实实体体的的特特征征。一一个个实实体体可可以以由由若若干干个个属属
5、性性来来刻刻画画。例例如如,学学生生实实体体可可以以有有学学号号、姓姓名名、性性别别、班级、年龄等属性。班级、年龄等属性。n3.码码:对对应应于于实实体体的的标标识识特特征征。例例如如,学学生生实实体体可可以以用用学号来唯一标识,因此学号可以作为学生实体的码。学号来唯一标识,因此学号可以作为学生实体的码。45n4.域域:属属性性的的取取值值范范围围称称为为该该属属性性的的域域。例例如如,年龄的域为不小于零的整数。年龄的域为不小于零的整数。n5.实实体体型型:用用实实体体名名及及其其属属性性名名集集合合来来描描述述实实体体,例如,例如,学生实体型学生实体型描述为:描述为:学生学生(学号,姓名,性
6、别,年龄学号,姓名,性别,年龄)课程实体型课程实体型可以描述为:可以描述为:课程课程(课程号,课程名,学分课程号,课程名,学分)n6.实实体体集集:同同型型实实体体的的集集合合构构成成了了实实体体集集。例例如如,全体学生实体型构成了学生实体集。全体学生实体型构成了学生实体集。56n7.联联系系:现现实实世世界界中中的的事事物物之之间间通通常常都都是是有有联联系系的的,这这些些联联系系在在信信息息世世界界中中反反映映为为实实体体内内部部(属属性性)的的联联系系和和实实体体之之间间的的联联系系。这这些些联联系系总总的的来来说可以划分为三种:说可以划分为三种:n一对一联系一对一联系n一对多一对多(或
7、多对一或多对一)联系联系n 多对多联系多对多联系67(1)一对一联系一对一联系n如如果果实实体体集集A与与实实体体集集B之之间间存存在在联联系系,并并且且对对于于实实体体集集A中中的的任任意意一一个个实实体体,在在实实体体集集B中中至至多多只只有有一一个个实实体体与与之之对对应应;而而对对于于实实体体集集B中中的的任任意意一一个个实实体体,在在实实体体集集A中中也也至至多多只只有有一一个个实实体体与与之之对对应应,则则称称实实体体集集A和和实实体体集集B之之间间存存在在着着一一对对一一的的联系联系(表示为表示为1:1)。公司公司管理管理总经理总经理1178(2)一对多联系一对多联系n如如果果实
8、实体体集集A与与实实体体集集B之之间间存存在在联联系系,并并且且对对于于实实体体集集A中中的的任任意意一一个个实实体体,在在实实体体集集B中中可可以以有有多多个个实实体体与与之之对对应应;而而对对于于实实体体集集B中中的的任任意意一一个个实实体体,在在实实体体集集A中中至至多多只只有有一一个个实实体体与与之之对对应应,则则称称实实体体集集A到到实实体体集集B的的联联系系是是一一对对多多的的联联系系(表示为表示为1:n)。部门部门属于属于职工职工1n89(3)多对多联系多对多联系n如如果果实实体体集集A与与实实体体集集B之之间间存存在在联联系系,并并且且对对于于实实体体集集A中中的的任任意意一一
9、个个实实体体,在在实实体体集集B中中可可以以有有多多个个实实体体与与之之对对应应;而而对对于于实实体体集集B中中的的任任意意一一个个实实体体,在在实实体体集集A中中也也可可以以有有多多个个实实体体与与之之对对应应,则则称称实实体体集集A到到实实体体集集B的的联联系系是是多多对对多多的的联联系系(表示为表示为m:n)。课程号课程号课程名课程名m学生学生选修选修课程课程n学分学分学号学号姓名姓名性别性别年龄年龄成绩成绩9108.8.概念模型概念模型n概概念念模模型型是是对对信信息息世世界界的的建建模模,因因此此,概概念念模模型型应应该该能能够够方方便便、准准确确地地表表示示出出信信息息世世界界中中
10、的的常常用用概念。概念。n概概念念模模型型有有多多种种表表示示方方法法,其其中中最最常常用用的的是是“实实体体联联系系法法”,简简称称E-R方方法法,该该方方法法用用E-R图图来来描描述现实世界的概念模型述现实世界的概念模型。nE-R图提供了表示图提供了表示实体、属性和联系实体、属性和联系的方法。的方法。1011(1)实实体体:用用矩矩形形表表示示,在在矩矩形形内内写写明明实实体体名名。如如:学生实体学生实体(2)属属性性:用用椭椭圆圆形形表表示示,并并用用无无向向边边将将其其与与实实体体连接起来。例如,学生实体及其属性连接起来。例如,学生实体及其属性学生学生学生学生学生学生学生学生学号学号学
11、号学号姓名姓名姓名姓名性别性别性别性别年龄年龄年龄年龄11(3)联联系系:用用菱菱形形表表示示,在在菱菱形形框框内内写写明明联联系系的的名名称称,并并用用无无向向边边将将其其与与有有关关的的实实体体连连接接起起来来,同时在无向边旁标上联系的类型。同时在无向边旁标上联系的类型。n注注意意:联联系系本本身身也也是是一一种种实实体体型型,也也可可以以有有属属性性。如如果果一一个个联联系系具具有有属属性性,则则这这些些属属性性也也要要用无向边与该联系连接起来。用无向边与该联系连接起来。课程号课程号课程名课程名m学生学生选修选修课程课程n学分学分学号学号姓名姓名性别性别年龄年龄成绩成绩1213n关关系系
12、模模型型:以以二二维维表表格格(关关系系表表)的的形形式式组组织织数数据库中的数据。据库中的数据。n层次模型层次模型:以树型层次结构组织数据。:以树型层次结构组织数据。n网网状状模模型型:每每一一个个数数据据用用一一个个节节点点表表示示,每每个个节节点点与与其其它它节节点点都都有有联联系系,这这样样数数据据库库中中的的所所有有数数据节点就构成了一个复杂的网络。据节点就构成了一个复杂的网络。n面面向向对对象象的的模模型型:采采用用面面向向对对象象思思想想建建模模,具具有有面向对象的特性,如继承、封装等面向对象的特性,如继承、封装等n目前使用最多的仍然是目前使用最多的仍然是关系模型关系模型关系模型
13、关系模型。3.3.3 机器世界机器世界13143.4 关系模型一、关系模型的组成一、关系模型的组成二、关系模式的设计二、关系模式的设计1415一、关系模型的组成一、关系模型的组成n关系数据结构关系数据结构n关系操作集合关系操作集合n关系完整性约束关系完整性约束(1)关系操作)关系操作n主要包括:数据的查询、插入、修改、删除主要包括:数据的查询、插入、修改、删除n特特点点:集集合合操操作作,操操作作对对象象和和操操作作结结果果都都是是关关系系,即即元组的集合。元组的集合。1516(2)关系的完整性)关系的完整性n关关系系完完整整性性或或数数据据完完整整性性,指指的的是是数数据据的的精精确确性性和
14、和可可靠靠性性。强强制制完完整整性性可可以以保保证证数数据据库库中中数数据据的的质量。质量。n数据完整性分类数据完整性分类n实体完整性实体完整性n参照完整性参照完整性n用户自定义完整性用户自定义完整性关系模型必须满足的完整性约束条件关系模型必须满足的完整性约束条件关系模型必须满足的完整性约束条件关系模型必须满足的完整性约束条件1617实体完整性实体完整性n实实体体是是可可区区分分的的,即即它它们们具具有有某某种种唯唯一一性性标标识识,在在关关系系模模型型中中以以主主码码作作为为唯唯一一性性标标识识。主主码码中中的的属性即主属性不能取空值。属性即主属性不能取空值。n实实体体完完整整性性定定义义:
15、若若属属性性A是是基基本本关关系系R的的主主属属性性,则则属属性性A不不能能取取空空值值。如如果果主主属属性性取取空空值值,就就说说明存在某个不可明存在某个不可标识标识的的实实体。体。n实实体体完完整整性性要要求求表表中中每每一一条条记记录录都都表表示示一一个个确确定定的实体,并且不会有重复的实体出现。的实体,并且不会有重复的实体出现。n实实 体体 完完 整整 性性 通通 过过 索索 引引、UNIQUE约约 束束、PRIMARY KEY约束或约束或IDENTITY属性实现。属性实现。1718参照完整性参照完整性n现现实实世世界界中中的的实实体体之之间间往往往往存存在在某某种种联联系系,在在关关
16、系系模模型型中中实实体体及及实实体体间间的的联联系系都都是是用用关关系系来来描描述述的的。这这样样就就自自然然存存在着关系与关系间的引用。在着关系与关系间的引用。n设设F是是基基本本关关系系R的的一一个个或或一一组组属属性性,但但不不是是关关系系R的的码码,如如果果F与与基基本本关关系系S的的主主码码Ks相相对对应应,则则称称F是是基基本本关关系系R的的外外码码,并并称称基基本本关关系系R为为参参照照关关系系,基基本本关关系系S为为被被参参照关系。关系照关系。关系R和和S不一定是不同的关系。不一定是不同的关系。n参参照照完完整整性性规规则则就就是是定定义义外外码码与与主主码码之之间间的的引引用
17、用规规则则,它它要求关系要求关系R的外码的外码F:n或者或者取空值取空值(F的每个属性值均为空值);的每个属性值均为空值);n或者等于或者等于S中某个元组的中某个元组的主码值主码值。1819用户定义的完整性用户定义的完整性n针对某某一一具具体体应用用所所涉涉及及的的数数据据必必须满足足的的语义要求,要求,对关系数据关系数据库中的数据定中的数据定义的的约束条件。束条件。n关关系系模模型型应应提提供供定定义义和和检检验验这这类类完完整整性性的的机机制制,以以便便用用统统一一的的系系统统的的方方法法处处理理它它们们,而而不不要要由由应应用程序承担这一功能用程序承担这一功能。1920完整性的实现完整性
18、的实现nCHECK约束(列级、表级)的建立约束(列级、表级)的建立nDEFAULT约束的建立约束的建立nIDENTITY列的建立列的建立n主键主键PRIMARY KEY的建立的建立n外键外键FOREIGN KEY的建立的建立2021二、关系模式的设计二、关系模式的设计n概念模型(概念模型(E-R模型)模型)n概念设计概念设计n逻辑设计逻辑设计n为为什什么么“学学生生选选课课”数数据据库库创创建建了了Student、Course、SC三三张张表表,而而不不用用一一张张表表来来存存放放学学生选课的信息呢?生选课的信息呢?n数据冗余数据冗余n不一致性不一致性n插入异常插入异常n删除异常删除异常从现实
19、世界到从现实世界到信息世界信息世界E-R图图从从信信息息世世界界(E-R图图)到到机机器器世世界界(关关系系模模式)式)二维表结构二维表结构2122概念结构设计概念结构设计基本步骤:基本步骤:首先确定实体类型。首先确定实体类型。确定联系类型。确定联系类型。把实体类型和联系类型组合成把实体类型和联系类型组合成E-R图。图。确定实体类型和联系类型的属性。确定实体类型和联系类型的属性。确确定定实实体体类类型型的的键键,在在E-R图图属属于于键键的的属属性性名名下画一条横线。下画一条横线。22n为为图图书书管管理理设设计计一一个个E-R模模型型。读读者者从从图图书书馆馆借借书书,图书馆从出版社购书。图
20、书馆从出版社购书。n确定实体类型:读者、书、出版社确定实体类型:读者、书、出版社n确定联系类型:确定联系类型:n读者读者-书:借阅书:借阅(n:m)n书书-出版社:购买出版社:购买(n:1)n把实体类型和联系类型组合成把实体类型和联系类型组合成E-R图。图。n确定实体类型和联系类型的属性。确定实体类型和联系类型的属性。n确确定定实实体体类类型型的的键键,在在E-R图图属属于于键键的的属属性性名名下下画画一条横线。一条横线。23读者读者书书出版社出版社借借阅阅订订购购MNN1读读 者者 编编号号姓名姓名年龄年龄性别性别系别系别借阅日期借阅日期归还日期归还日期书号书号书名书名作者作者价格价格出版社
21、编号出版社编号出版社名出版社名地址地址2425逻辑结构设计(逻辑结构设计(E-R图到关系模式的转换)图到关系模式的转换)1)1:1联系的联系的E-R图到关系模式的转换图到关系模式的转换法一:法一:n联系单独对应一关系模式(表)联系单独对应一关系模式(表)n由由联联系系属属性性、参参与与联联系系的的各各实实体体集集的的主主码码属属性性构构成关系模式成关系模式n主码可选参与联系的实体集的任一方的主码主码可选参与联系的实体集的任一方的主码nBJ(班级编号班级编号,院系,专业名,人数),院系,专业名,人数)nBZ(学号学号,姓名),姓名)nSY(学号学号,班级编号),班级编号)2526法二:法二:n联
22、系不单独对应一关系模式联系不单独对应一关系模式n联联系系的的属属性性及及一一方方的的主主码码加加入入另另一一方方实实体体集集对对应应的关系模式中。的关系模式中。nBJ(班级编号班级编号,院系,专业名,人数),院系,专业名,人数)nBZ(学号学号,姓名,班级编号),姓名,班级编号)或者或者nBJ(班级编号班级编号,院系,专业名,人数,学号),院系,专业名,人数,学号)nBZ(学号学号,姓名),姓名)26272)1:n联系的联系的E-R图到关系模式的转换图到关系模式的转换法一:法一:n联系单独对应一关系模式联系单独对应一关系模式n由由联联系系的的属属性性、参参与与联联系系的的各各实实体体集集的的主
23、主码码属属性构成关系模式性构成关系模式nn端的主码端的主码作为该关系模式的主码。作为该关系模式的主码。nBJ(班级编号班级编号,院系,专业名,人数),院系,专业名,人数)nXS(学号学号,姓名,院系,性别,出生时间,姓名,院系,性别,出生时间)nSY(学号学号,班级编号),班级编号)班级班级学生学生属于属于出生时间出生时间性别性别院系院系学号学号姓名姓名人数人数专业名专业名院系院系班级编号班级编号2728法(二)法(二)n 联系不单独对应一个关系模式联系不单独对应一个关系模式n将将联联系系的的属属性性及及1端端的的主主码码加加入入n端端实实体体集集对对应应的关系模式中,的关系模式中,主码仍为主
24、码仍为n端的主码端的主码。nBJ(班级编号班级编号,院系,专业名,人数),院系,专业名,人数)nXS(学学号号,姓姓名名,院院系系,性性别别,出出生生时时间间,班班级级编编号号)28293)m:n联系的联系的E-R图到关系模式的转换图到关系模式的转换nm:n的联系单独对应一关系模式的联系单独对应一关系模式n该该关关系系模模式式包包括括联联系系的的属属性性、参参与与联联系系的的各各实实体体集的主码属性集的主码属性n关系模式的主码由各实体集的关系模式的主码由各实体集的主码属性共同组成主码属性共同组成。课程号课程号课程名课程名m学生学生选修选修课程课程n学分学分学号学号姓名姓名性别性别年龄年龄成绩成绩29