1、数据库原理及应用,王飞 主编 曾俊国 陈永彬 蔡方凯 副主编 荣智涛 主审 中国水利水电出版社,主讲:,第二章 数据模型,模型(Model)是对现实世界的抽象。数据模型(Data Model)是对现实世界数据特征的抽象,是用来描述数据的一组概念和定义。数据模型是理解数据库的基础,现有的数据库都是基于某种数据模型建立的,数据模型是数据库系统的核心。要为数据库建立数据模型,首先要深入到信息的现实世界中进行系统需求分析,建立概念模型真实地、全面的描述现实世界中事物及联系,然后再将概念模型转化成数据模型。本章介绍信息的三个世界及联系、概念模型及其表示方法以及几种常见的数据模型,第二章 数据模型,2.1 信息的三种世界及描述 2.2 概念模型及表示 2.3 数据模型 2.4 疑难问题解答 2.5 本章小 结,2.1 信息的三种世界及描述,(1)现实世界 指客观事物及其联系之实际存在。现实世界是独立于人们意识之外的客观世界,事物及其联系就处在这个世界中。,2.1 信息的三种世界及描述,2)信息世界 指现实世界在人脑中形成的概念。信息世界又称为观念世界,客观事物在观念世界中称为实体 信息模型又称“实
2、体联系模型”,是客观事物及其自然联系在人脑中形成的概念。数据模型本质上是“信息模型”的数据化表示,信息世界的基本概念,实体(Entity): 客观存在并可相互区分的事物。 实体集(Entity Set): 同类型实体的集合。每个实体集必须命名。 属性(Attribute): 实体所具有的特征和性质。 属性值(Attribute Value): 为实体的属性取值。 域(Domain): 属性值的取值范围。 码(Key): 唯一标识实体集中一个实体的属性或属性集。 实体型(Entity Type): 表示实体信息结构,由实体名及其属性名集合表示。如:实体名(属性1,属性2,) 学生(学号,姓名,性别,年龄),2.1 信息的三种世界及描述,(3)数据世界 是指人脑观念的数据化,进入计算机领域。数据世界是观念世界中信息的数据化。现实世界中的事物及联系在数据世界中用数据模型来描述 机器世界中的四个概念: (1)字段-标记实体属性的命名单位称为字段或数据项 (2)记录-字段的有序集合 (3)文件-同一类记录的汇集 (4)键(关键码)-能唯一标识文件中每个记录的字段或字段集。这个概念与实体标识符的概
3、念相对应。,2.1 信息的三种世界及描述,3.名词术语 (1)实体与属性 实体是现实世界任何可相互区别的事物,不论是实际存在的东西,还是概念性的东西,或是事物与事物之间的联系,一律统称为实体。 属性是实体所具有的性质,统称为属性。如同现实世界中不同事物是由其特征决定的一样,在信息世界中不同实体是由其属性的不同而被区分的。 实体与属性分别是客观世界中对象与性质的抽象描述。一个对象具有某些属性,反过来,若干属性可以描述某一个对象。对象与属性之间具有相对性,即一个对象具有某一个属性,又可能是其他属性描述的对象 例如,对象“职工”具有以下属性:姓名、性别、籍贯、出生日期、毕业学校等等,而“毕业学校”又是校名、校址、学校人数等属性描述的对象。 注意 实体靠属性来描述,实体与属性构成了信息世界表达概念的两个不同单位。,2.1 信息的三种世界及描述,(2)实体与属性的“型”与“值” 实体和属性都有“型”与“值”之分。“型”是概念的内涵,而“值”是概念的实例。“型”表达的是个体的共性,表示一个总体,是一个框架;而“值”是个体,是个体的具体内容。 例如:姓名、年龄、性别组成一个记录型,它的取值为为张英、
4、20岁、女、是一个记录值。数据项“姓名”的“型”就是名称为“姓名”,数据特征最长为四位的字符串,而它的值可以是张英、李桂芳、欧阳青等等。记录型与记录值通常称为记录,同一术语在“型”与“值”不同的两级平行使用,这时应根据上下文的含义,判断该术语指的是“型”还是“值” 注意 通常,属性型是个变量,而属性值是该变量的取值,2.1 信息的三种世界及描述,(3)实体集 同一类型实体的集合称为实体集。 (4)域 实体中的每个属性,都有一个取值范围,这叫做属性的域。域可以是整数、实数、字符串、日期、逻辑值等。 注意 各实体集相应的属性有着相同的域。 (5)键 键也称关键字。所谓键,是指实体属性中,可用于区别实体集中不同个体的那个属性或属性的组合,称为该实体的键。,2.1 信息的三种世界及描述,例如:在“居民”这个实体中,“身份证号码”可以作为键,因为一旦身份证号码有了一个值,便惟一地标识了“居民”这个实体集中的某一个个体;当然,“姓名”也可以作为键,但是如果出现重名现象,“姓名”这个属性就不能作为键了。 注意 但有多个属性可作为键而选定其中一个时,则称它为该实体的“主键”。若在实体诸属性中,某属性虽
5、非该实体主键,却是另一实体的主键,称此属性为“外部键”。,现实世界中客观对象的抽象过程,第二章 数据模型,2.1 信息的三种世界及描述 2.2 概念模型及表示 2.3 数据模型 2.4 疑难问题解答 2.5 本章小 结,2.2 概念模型及表示,概念模型是现实世界到机器世界的一个中间层次。现实世界的事物反映到人的头脑中来,人们把这些事物抽象为一种既不依赖于计算机系统又不为某一DBMS支持的概念模型,然后把概念模型转换为某一DBMS支持的数据模型。概念模型是对信息世界的管理对象、属性、及联系等信息的描述形式,概念模型针对于抽象的信息世界。,2.2 概念模型及表示,概念模型是从现实世界到机器世界的一个中间层次。 建立概念模型的目的 是将用户关于企业的描述及业务的需求等信息准确的纪录下来,按用户的观点对数据和信息建模。 这类模型强调其语义表达能力,它要能较方便地、直观地表达应用中各种语义知识,如被描述对象的意义和相互关系等。 是用户和数据库设计人员之间进行交流与沟通的工具。,2.2 概念模型及表示,概念模型实际上是现实世界到机器世界的一个中间层次。 把现实世界中的客观对象抽象为某种信息结构,这
6、种信息结构不依赖于具体的计算机系统,完全不涉及信息在计算机系统中的结构。 强调语义表达能力,概念简单清晰,易于理解,是用户和DB设计人员交流的工具。 表示方法 E-R模型 实体联系模型(Entity Relationship Model) ER图,2.2 概念模型及表示,联系(Relationship): 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体型内部的联系和实体型之间的联系。 两个实体型之间存在的联系有三类 两个以上的实体型之间存在的联系有三类 同一个实体集内的各实体之间存在的联系有三类 (1)一对一联系 1 : 1 (2)一对多联系 1 : n (3)多对多联系 m : n,实体联系类型,两个实体型间的联系,两个实体型间的联系,一对一联系 如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系。记为1:1。 实例 班级与班长之间的联系: 一个班级只有一个正班长 一个班长只在一个班中任职,两个实体型间的联系 (续),一对多联系 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之
7、联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系 记为1:n 实例 班级与学生之间的联系: 一个班级中有若干名学生, 每个学生只在一个班级中学习,两个实体型间的联系 (续),多对多联系(m:n) 如果对于实体集A中的每一个实体,实体集B中有n个实体(n0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体(m0)与之联系,则称实体集A与实体B具有多对多联系。记为m:n 实例 课程与学生之间的联系: 一门课程同时有若干个学生选修 一个学生可以同时选修多门课程,多个实体型间的联系(续),多个实体型间的一对多联系 若实体集E1,E2,.,En存在联系,对于实体集Ej(j=1,2,.,i-1,i+1,.,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,.,Ei-1,Ei+1,.,En之间的联系是一对多的。,多个实体型间的联系(续),实例 课程、教师与参考书三个实体型 如果一门课程可以有若干个教师讲授,使用若干 本参考书,每一个教师只讲授一门课程,每一本 参考书只供一门课程使用 课程与教师、
8、参考书之间的联系是一对多的 多个实体型间的一对一联系 多个实体型间的多对多联系,同一实体集内各实体间的联系,一对多联系 实例 职工实体集内部具有领导与被领导的联系 某一职工(干部)“领导”若干名职工 一个职工仅被另外一个职工直接领导 这是一对多的联系 一对一联系 多对多联系,2. 概念模型的表示方法,概念模型的表示方法很多 实体联系方法(E-R方法) 用E-R图来描述现实世界的概念模型 E-R方法也称为E-R模型,E-R图,实体型 用矩形表示,矩形框内写明实体名。,学生,教师,E-R图(续),属性 用椭圆形表示,并用无向边将其与相应的实体连接起来,E-R图(续),联系 联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n) 联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,联系的表示方法,联系的表示方法(续),联系的表示方法示例,联系的表示方法示例(续),联系属性的表示方法,某工厂的物资管理,物资管理涉及的实体: 仓库 属性有仓库号、面积、电话号码
9、零件 属性有零件号、名称、规格、单价 供应商 属性有供应商号、姓名、地址、电话号码 项目 属性有项目号、预算、开工日期 职工 属性有职工号、姓名、年龄、职称 实体之间的联系 (1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。用库存量来表示某种零件在某个仓库中的数量。 (2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。 (3)职工之间有领导-被领导关系。 (4)一个供应商可以供给若干项目多种零件,每个项目可以使用不同供应商供应的零件,每种零件可由不同供应商供给。用供应量来表示某供应商供应了多少数量的零件给某个项目。,第二章 数据模型,2.1 信息的三种世界及描述 2.2 概念模型及表示 2.3 数据模型 2.4 疑难问题解答 2.5 本章小 结,2.3 数据模型,1.数据模型 数据模型是客观事物及其联系的数据描述,数据模型不仅要表示存储了哪些数据,更重要的是以一定的结构形式表示出各种不同的数据之间的联系。利用这种联系可以很快地找到相关联的一串数据,从而可以利用这种联系做各种运算处理。数据模型应具有描述数据和数据联系两方面功。 注意 数据模型是实体模型的数据化。 数据模型表示的只是数据库的框架,在框架的约束下填上具体数据才能成为真正的数据库。,2.3 数据模型,2.数据的描述 对数据的描述应指出:模型中包含哪些记录类型,并对记录类型进行命名;指明各个记录类型由哪些数据项构成,并队数据项进行命名,每个数据项均需指明其数据类型和取值范围。 3.数据间联系的描述 对数据间联系的描述要指明:各个不同记录类型间所存在的联系和联系方式。数据模型中的“联系”是一种特殊类型的记录,通常还要对这种“联系”进行命名。,2.3 数据模型,注意 数据库系统与文件系统本质的不同就表现在文件系统中的记录之间没有联系,而在数据库中各个记录好似互相联系的,正是通过这种联系,数据库才能支持访问不同类型记录的数据。,数据模型的三要素,(1)数据结构 数据结构是所研究的对象类型(Object Type)的集合。这些对象是数据库的组成成分,它们包括两类,一类是与数据类型、内容、性质有关的对象,例如网状模型中的数据项、记录,关系模型中的域、属性、关系等;一类是与数据之间联系有关的对象,例如
《《数据模型》ppt课件》由会员tia****nde分享,可在线阅读,更多相关《《数据模型》ppt课件》请在金锄头文库上搜索。