数据库系统及应用第2章数据模型2019年12月20日9时41分-1-第2章数据模型利用模型对事物进行描述是人们在认识、改造世界过程中广泛采用的一种方法,如建筑设计沙盘、飞机模型等。模型是对现实世界中某个对象特征的模拟和抽象。模型可以形象直观揭示事物的本质特征,使人们对事物有一个更全面深入的认识,从而帮助人们更好地解决问题。是否在进行数据库系统设计时也可以利用模型来帮助我们完成工作呢?如果可以,我们利用何种模型呢?数据库系统及应用第2章数据模型2019年12月20日9时41分-2-本章主要内容2.1数据模型概述2.2概念模型2.3层次模型2.4网状模型2.5关系模型数据库系统及应用第2章数据模型2019年12月20日9时41分-3-2.1数据模型概述数据模型(DataModel)也是一种模型,它是对现实世界数据特征的抽象。即,数据模型是用来描述数据、组织数据和对数据进行操作的。数据模型应满足三方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上实现。数据模型是数据库管理系统(DBMS)的核心和基础。数据库系统及应用第2章数据模型2019年12月20日9时41分-4-2.1.1两大类数据模型数据模型分为两类(分属两个不同的层次)(1)概念模型也称信息模型,它是按用户的观点来对数据和信息建模,用于数据库设计。(2)逻辑模型和物理模型逻辑模型主要包括网状模型、层次模型、关系模型、面向对象模型和对象关系模型等,按计算机系统的观点对数据建模,用于DBMS实现。物理模型是对数据最底层的抽象,描述数据在系统内部的表示方式和存取方法(在磁盘或磁带上的存储方式和存取方法),是面向计算机系统的。数据库系统及应用第2章数据模型2019年12月20日9时41分-5-2.1.1两大类数据模型客观对象的抽象过程---两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。现实世界认识抽象概念模型信息世界DBMS支持的数据模型机器世界现实世界概念模型数据库设计人员概念模型逻辑模型数据库设计人员逻辑模型物理模型由DBMS完成数据库系统及应用第2章数据模型2019年12月20日9时41分-6-2.1.2数据模型的组成要素数据模型是一组严格定义的概念集合。这些概念必须能准确地描述系统的静态特性、动态特性和完整性约束条件。数据模型由数据结构、数据操作和完整性约束条件三个要素组成。数据库系统及应用第2章数据模型2019年12月20日9时41分-7-数据结构什么是数据结构描述数据库的组成对象,以及对象之间的联系描述的内容与数据的类型、内容和性质有关的对象(如关系模型的域、属性、关系等)与数据之间联系有关的对象(如外键)数据结构是刻画一个数据模型最重要的方面,通常可以按数据结构的类型来命名数据模型数据结构是所描述的对象类型的集合,是对系统静态特性的描述数据库系统及应用第2章数据模型2019年12月20日9时41分-8-数据操作数据操作是指对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则的集合数据操作的类型查询更新(包括插入、删除、修改)数据模型对操作的定义操作的确切含义操作符号操作规则(优先级)实现操作的语言数据操作是对系统动态特性的描述数据库系统及应用第2章数据模型2019年12月20日9时41分-9-数据的完整性约束条件数据的完整性约束条件一组完整性规则的集合完整性规则给定的数据模型中数据及其联系所具有的制约和储存规则用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。如:年龄小于38,学生不及格课程少于3门数据模型对完整性约束条件的定义反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。如关系模型提供了特殊的完整性约束条件,即用户定义的完整性。数据库系统及应用第2章数据模型2019年12月20日9时41分-10-2.2概念模型概念模型是现实世界到机器世界的中间层次概念模型用于信息世界的建模,是现实世界到信息世界的第一层抽象,是数据库设计的有力工具概念模型用E-R图来描述数据库系统及应用第2章数据模型2019年12月20日9时41分-11-信息世界是现实世界在人们头脑中反映并用文字或符号记载下来,是人对现实世界的认识抽象过程。用概念模型表示实体集及其联系。1)实体(entity):客观存在,可以相互区别的事物称为实体。•实体可以是可触及的对象,如一个学生,一本书,一辆汽车;也可以是抽象的事件,如一堂课,一次比赛等。2)实体集(entityset):性质相同的同类实体的集合。3)属性(attribute):实体的某一方面的特征。•如学生实体有学号、姓名、年龄、性别、系等方面的属性。•属性有“型”和“值”之分,“型”即为属性名,“值”即为属性的具体内容。4)域(domain):属性的取值范围;含值的类型。5)码(key):唯一标识每个实体的属性或属性集。2.1.1信息世界中的基本概念数据库系统及应用第2章数据模型2019年12月20日9时41分-12-用数据模型描述现实世界中的事物及其联系。机器世界1)字段(field)或数据项(dataitem):标记实体属性的命名单位,是数据库中的最小信息单位。2)记录(record):字段值的有序集合。3)记录型(recordtype):字段名的有序集合。4)文件(file):同类记录的集合。对应于实体集。5)码(key):能唯一标识文件中每个记录的字段或字段集。现实世界事物总体事物个体特征事物间联系信息世界实体集实体属性实体间联系概念模型机器世界文件记录字段数据间联系数据模型数据库系统及应用第2章数据模型2019年12月20日9时41分-13-2.1.2概念模型及其表示概念模型:反映实体型及其联系的结构形式称为概念模型,也称作信息模型。概念模型并不依赖于具体的计算机系统,不是某一个DBMS所支持的数据模型。概念模型直接从现实世界中抽象出实体型及实体间联系,然后用E-R图表示。实体间联系同一实体集的实体之间的联系不同实体集的实体之间的联系1:1联系,例如,班级和班长;1:n联系,例如,班级和学生;m:n联系,例如,课程和学生。两实体集之间联系(1:1,1:n,m:n)数据库系统及应用第2章数据模型2019年12月20日9时41分-14-实体集E1中每个实体至多和实体集E2中一个实体有联系,反之亦然。记为1﹕1。1:1联系实体集E1实体集E2E1E2班级班长数据库系统及应用第2章数据模型2019年12月20日9时41分-15-实体集E1中的每个实体与实体集E2中任意个实体有联系,而E2中每个实体至多和E1中的一个实体有联系,记为1﹕n。1:n联系实体集E1实体集E2E1E2班级学生数据库系统及应用第2章数据模型2019年12月20日9时41分-16-实体集E1中的每个实体与实体集E2中任意个实体有联系,反之亦然,记为m﹕n。m:n联系实体集E1实体集E2E1E2课程学生数据库系统及应用第2章数据模型2019年12月20日9时41分-17-多实体集之间联系(1:1,1:n,m:n)同一实体集实体间联系(1:n,m:n)教师领导1n课程教师参考书教学nm1教师课程教师参考书数据库系统及应用第2章数据模型2019年12月20日9时41分-18-2.1.2概念模型及其表示E-R图P.P.S.Chen于1976年提出实体-联系方法(Entity-RelationshipApproach),简称E-R图。该方法用E-R图来描述信息世界的概念模型,提供了表示实体集、属性和联系的方法。亦称E-R模型。E-R图的四个基本成分:实体名属性名矩形框表示实体集椭圆形表示属性菱形表示联系联系名连接实体集与联系类型,也可用于表示实体与属性的联系并注明种类;对构成码的属性,在属性名下画一横线表示。数据库系统及应用第2章数据模型2019年12月20日9时41分-19-2.1.2概念模型及其表示E-R图设计E-R图过程首先确定实体集:几个实体集及相应的实体名称。确定联系类型:各实体集之间是否有联系,是何种联系类型及相应的联系名。连接实体集和联系类型,组合成E-R图。确定实体集和联系类型的属性。确定实体型的码。数据库系统及应用第2章数据模型2019年12月20日9时41分-20-示例:学生选修课程用矩形表示实体用椭圆表示实体的属性用无向边把实体与其属性连接起来用菱形表示实体间的联系实体与联系用线段连接并注明类型学生课程选修姓名学号系别课程号课程名学分成绩mn数据库系统及应用第2章数据模型2019年12月20日9时41分-21-2.1.3E-R图设计实例1.学校有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授各带若干研究生.每个班级有若干学生,每个学生选修若干课程,每门课程可由若干学生选修.用E-R图画出该校的概念模型.(参考答案)2.在物资管理中,一个供应商为多个项目供应多种零件,一种零件只能保存在一个仓库中,一个仓库中可保存多种零件,一个仓库有多名员工值班,由一个员工负责管理.画出该物资管理系统的E-R图.(参考答案)3.在课程管理系统中,涉及到班级,学生,课程,教师,参考书等实体,假设,一个教师只可上一门课程,一门课程可由多个教师讲授,可使用多本参考书,用E-R图画出该系统的概念模型。(参考答案)数据库系统及应用第2章数据模型2019年12月20日9时41分-22-1.学校E-R图系部学生教研室教员班级课程选修组成组成组成组成讲授1m1111mmmmmn指导mn成绩数据库系统及应用第2章数据模型2019年12月20日9时41分-23-2.物资管理E-R图数据库系统及应用第2章数据模型2019年12月20日9时41分-24-3.课程管理E-R图(1)实体属性图(画二个,其余略)(2)实体及联系图如下:组成班级选修课程班级学生mn11nmn学生出生日期性别姓名学号所属系班级号讲授参考书教师成绩数据库系统及应用第2章数据模型2019年12月20日9时41分-25-2.3层次模型现实中很多实体呈现层次关系,如行政机构。因此,层次模型是数据库系统最早采用的数据模型。层次模型用树状结构表示实体及实体间的联系。层次模型最具代表性的系统是IBM的IMS。本节主要内容:2.3.1基本层次联系2.3.2层次模型的概念和结构2.3.3层次数据模型例2.3.4层次模型的完整性约束2.3.5层次模型的优缺点数据库系统及应用第2章数据模型2019年12月20日9时41分-26-2.3.1基本层次关系非关系模型中,实体(型)用记录表示,实体之间的联系转换为记录间的两两联系,非关系型数据结构的基本单位是基本层次联系。基本层次联系是指两记录以及它们之间的一对多(包括一对一)的联系。RjRiLij双亲结点一对多联系名子女结点数据库系统及应用第2章数据模型2019年12月20日9时41分-27-2.3.2层次模型的概念根结点为R0。R0的子结点有:R1,R2。R1,R2为兄弟结点。R21、R22的父结点是:R2。R1,R21,R22为叶结点。特征:(1)有且只有一个结点无双亲结点,该结点称为根结点;(2)除根节点之外的其他结点有且只有一个双亲节点。具备以上两个特征的基本层次联系的集合称为层次模型。R22R0R1R21R2数据库系统及应用第2章数据模型2019年12月20日9时41分-28-TS数据库模型2.3.3层次数据模型例STS数据库的一个具体值数据库系统及应用第2章数据模型2019年12月20日9时41分-29-2.3.4层次模型的完整性约束1.在插入时,不能插入无双亲的子结点。如新来的教师未分配教研室则无法插入