数据模型与数据库结构.

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第2章数据模型与数据库结构2.1数据和数据模型2.2概念层数据模型2.3组织层数据模型2.4面向对象数据模型2.5数据库结构2019年12月25日1时14分2.1数据和数据模型现实世界的数据是散乱无章的,散乱的数据不利于人们对其进行有效的管理和处理。因此,必须把现实世界的数据按照一定的格式组织起来,以方便对其进行操作和使用。在用数据库技术管理数据时,数据被按照一定的格式组织起来,比如二维表结构,以使数据能够被更高效地管理和处理。2019年12月25日1时14分22.1.1数据与信息描述事物的符号记录称为数据。将从数据中获得的有意义的内容称为信息。数据有一定的格式,这些格式的规定是数据的语法,而数据的含义是数据的语义。数据是信息存在的一种形式,只有通过解释或处理才能成为有用的信息。2019年12月25日1时14分3示例数据:(张三,9912101,男,1981,计算机系,应用软件)解释:张三是9912101班的男生,1981年出生,计算机系应用软件专业。2019年12月25日1时14分4数据信息解释数据的静态特征数据的基本结构学生的学号、姓名、性别、出生日期数据间的联系学生选课中的学号与学生基本信息中的学号数据取值范围约束考试成绩在0~100分之间2019年12月25日1时14分5动态特征指对数据可以进行的操作以及操作规则。对数据库数据的操作主要有查询数据更改数据:插入、删除和更新一般将对数据的静态特征和动态特征的描述称为数据模型三要素2019年12月25日1时14分62.1.2数据模型对于模型,人们并不陌生。建筑模型飞机模型计算机中的模型是对事物、对象、过程等客观系统中感兴趣的内容的模拟和抽象表达,是理解系统的思维工具数据模型(datamodel)也是一种模型,它是对现实世界数据特征的抽象。2019年12月25日1时14分7数据模型(续)数据库管理系统是基于某种数据模型对数据进行组织的,因此,了解数据模型的基本概念是学习数据库知识的基础。在数据库领域中,数据模型用于表达现实世界中的对象,即将现实世界中杂乱的信息用一种规范的、形象化的方式表达出来。2019年12月25日1时14分8数据模型(续)数据模型即要面向现实世界,又要面向机器世界,因此需满足三个要求:能够真实地模拟现实世界;容易被人们理解;能够方便地在计算机上实现。2019年12月25日1时14分9数据模型(续)数据模型实际上是模型化数据和信息的工具。根据模型应用的不同目的,可以将模型分为两大类:概念层数据模型(概念模型),从数据的语义视角来抽取模型,是按用户的观点来对数据和信息进行建模。组织层数据模型(组织模型)。从数据的组织层次来描述数据。2019年12月25日1时14分10概念层数据模型从数据的应用语义视角来抽取现实世界中有价值的数据并按用户的观点对数据进行建模。主要用在数据库的设计阶段,与具体的数据库管理系统无关,与具体的实现方式无关。2019年12月25日1时14分11组织层数据模型从数据的组织方式来描述数据。主要有:层次模型网状模型关系模型对象-关系模型是从计算机系统的观点对数据进行建模,与所使用的数据库管理系统有关。2019年12月25日1时14分12从现实世界到机器世界的过程2019年12月25日1时14分13现实世界信息世界机器世界抽象转换((((((((((((((描述2.2概念层数据模型基本概念实体-联系模型2019年12月25日1时14分14基本概念概念层数据模型是指抽象现实系统中有应用价值的元素及其关联关系,反映现实系统中有应用价值的信息结构,并且不依赖于数据的组织层数据模型。用于对信息世界建模,是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的工具,也是数据库设计人员和业务领域的用户之间进行交流的工具。2019年12月25日1时14分15基本概念(续)概念层数据模型应该:具有较强的语义表达能力;能够方便、直接地表达应用中的各种语义知识简单、清晰,易于被用户理解。是面向用户、面向现实世界的数据模型,与具体的DBMS无关。常用概念模型:实体-联系模型、语义对象模型2019年12月25日1时14分16实体-联系模型由P.P.S.Chen于1976年提出,即通常所说的E-R方法。这种方法由于简单、实用,因此得到了广泛的应用,也是目前描述信息结构最常用的方法。实体-联系方法使用的工具称为E-R图也把这种描述结果称为E-R模型。2019年12月25日1时14分17实体-联系模型实体属性联系2019年12月25日1时14分18实体具有公共性质的可相互区分的现实世界对象的集合。例如:学生、课程、职工在E-R图中用矩形框表示具体的实体,把实体名写在框内。学生2019年12月25日1时14分19实体与实例实体中每个具体的记录值(一行数据),称为实体的一个实例。有些书也将实体称为实体集或实体类型,而将每行具体的记录称为实体。2019年12月25日1时14分20实体实例属性描述实体或者联系的性质或特征的数据项。学号姓名性别年龄……2019年12月25日1时14分21标识属性能够唯一标识实体的一个属性或最小的一组属性(称为属性集或属性组)称为实体的标识属性,称为实体的码。例如,“学号”就是学生实体的码。2019年12月25日1时14分22属性的表示方式用圆角矩形或椭圆框表示,框内写上属性名,并用连线连到相应实体。学生学号姓名性别2019年12月25日1时14分23联系联系是数据之间的关联集合,是客观存在的应用语义链。实体内部的联系:一个实体内属性之间的联系。职工中的职工号和此职工的部门经理号实体之间的联系:不同实体之间的联系。课程和学生实体之间存在选课联系。2019年12月25日1时14分24联系的表示方式实体之间的联系用菱形框表示,框内写上联系名,并用连线与有关的实体相连。联系名实体1实体22019年12月25日1时14分联系的种类一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)2019年12月25日1时14分如果实体A中的每个实例在实体B中至多有一个(也可以没有)实例与之关联,反之亦然,则称实体A与实体B具有一对一联系,记作:1:1一对一联系(1:1)2019年12月25日1时14分27一对一联系的例子部门和正经理(假设一个部门只有一个正经理,一个人只当一个部门的经理)、系和正系主任(假设一个系只有一个正主任,一个人只当一个系的主任)都是一对一联系。管理经理部门112019年12月25日1时14分28一对多的联系如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的任意一个实例,在实体A中都只有一个实例与之对应,则称实体A到实体B的联系是一对多的,记为1:n2019年12月25日1时14分有部门和职工两个实体,并且有语义:一个部门可以有多名职工,但是一个职工只在一个部门工作。则部门和职工之间的联系是一对多的,我们把这种联系命名为工作。一对多联系的例子工作部门职工1n2019年12月25日1时14分多对多的联系如果实体A与实体B之间存在联系,并且对于实体A中的一个实例,实体B中有多个实例与之对应;而对实体B中的一个实例,在实体A中也有多个实例与之对应,则称实体A到实体B的联系是多对多的,记为m:n。2019年12月25日1时14分多对多联系的例子有学生和课程两个实体,并有语义:一个学生可以修多门课程,一门课程可以被多个学生修。那么学生和课程之间的联系就是多对多的,我们把这种联系命名为选课。学生课程选课mn2019年12月25日1时14分联系说明一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。实体之间联系的种类与语义直接相关。例如,部门和经理:如果一个部门只有一个经理,一个人只担任一个部门的经理,则部门和经理之间是一对一联系。如果一个部门可以有多个经理,而一个人只担任一个部门的经理,则部门和经理之间就是一对多联系。如果一个部门可以有多个经理,而且一个人也可以担任多个部门的经理,则部门和经理之间就是多对多联系。2019年12月25日1时14分33关联多个实体的联系顾客购买商品:每个顾客可以从多个售货员那里购买商品,并且可以购买多种商品;每个售货员可以向多名顾客销售商品,并且可以销售多种商品;每种商品可由多个售货员销售,并且可以销售给多名顾客。mnp顾客商品售货员销售2019年12月25日1时14分34两个图不等价2019年12月25日1时14分35mnp顾客商品售货员销售×2.3组织层数据模型2.3.1层次数据模型2.3.2网状数据模型2.3.3关系数据模型2019年12月25日1时14分36概述组织层数据模型是从数据的组织形式的角度来描述信息。在数据库技术的发展过程中用到的组织层数据模型主要有:层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationalModel)面向对象模型(ObjectOrientedModel)2019年12月25日1时14分372.3.1层次数据模型是数据库管理系统中最早出现的数据模型。层次数据库管理系统采用层次模型作为数据的组织方式。层次数据库管理系统的典型代表是IBM公司的IMS,是IBM1968年推出的第一个大型商用数据库管理系统。2019年12月25日1时14分38层次数据模型用树形结构表示实体和实体之间的联系。现实世界中许多实体之间的联系本身就呈现出一种自然的层次关系,如:行政机构家族关系2019年12月25日1时14分39层次数据模型构成层次模型的树由结点和连线组成结点表示实体,结点中的项表示实体的属性连线表示相连的两个实体间的联系,这种联系是一对多的。通常把表示“一”的实体放在上方,称为父结点;把表示“多”的实体放在下方,称为子结点。将不包含任何子结点的结点称为叶结点。2019年12月25日1时14分40层次模型示意图2019年12月25日1时14分41根结点R1R11R12R21R22R22叶结点叶结点父结点子结点层次模型的限制可以方便的表示一对多的联系。但有以下两点限制:有且仅有一个结点无父结点,这个结点即为树的根;其他结点有且仅有一个父结点。2019年12月25日1时14分42层次模型基本特点任何一个给定的记录值只有从层次模型的根部开始按路径查看时,才能明确其含义,任何子结点都不能脱离父结点而存在。2019年12月25日1时14分43学生学院编号学院名称办公地点教师号教师名职称学号姓名性别年龄教研室名室主任室人数学院教研室教师层次数据模型的一个值2019年12月25日1时14分44学生教研室S01王平男21计算机李明21网络赵新12S02刘力男22S03李爽女21软件工程胡杰15J01计算机教2楼学院T101王大明教授T102刘勇副教授T103钱红教授T301陈小玲教授T302张海涛副教授……层次模型局限性只能表示一对多的联系,不能直接表示多对多联系。如果把多对多联系转换为一对多联系,会出现一个子结点有多个父结点的情况。2019年12月25日1时14分45姓名性别学号年龄课程号成绩学号课程名学分课程号1:n1:m解决办法把一个层次模型分解为两个层次模型2019年12月25日1时14分461:m课程名学分课程号课程号成绩学号姓名性别学号年龄1:n课程号成绩学号2.3.2网状数据模型如果去掉层次模型中的两点限制,即允许一个以上的结点无父结点,每个结点可以有多个父结点,便构成了网状模型。用图形结构表示实体和实体之间的联系。2019年12月25日1时14分47网状模型示例2019年12月25日1时14分48R3R1R2L1R5R4L3L2L4L5R2R1L1L2R3R1R2L1L2(a)(b)(c)网状模型限制网状数据模型

1 / 84
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功