版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章数据库系统结构冯万利概念、逻辑和物理设计等各阶段中的数据描述;数据联系的描述;数据模型的定义;实体间二元联系,ER模型;数据库的体系结构 三级结构,两级映象,两级数据独立性。本章的重要概念
本章主要内容数据库设计中的数据描述。数据模型的描述。数据库的体系结构。2.1数据描述2.1.1概念设计中的数据描述2.1.2逻辑设计中的数据描述2.1.3物理存储中的数据描述2.1.4数据联系的描述主要内容概念设计中的数据描述(1)数据库的概念设计是根据用户的需求设计数据库的概念结构。实体(Entity):客观存在、可以相互区别的事物称为实体。 实体可以是具体的对象,例如一名男学生,一辆汽车等。也可以是抽象的对象,例如一次借书,一场足球比赛等。实体集(EntitySet)性质相同的同类实体的集合,称为实体集。概念设计中的数据描述(2)属性(Attribute):实体有很多特性,每一个特性称为一个属性。 每一个属性有一个值域,其类型可以是整数型、实数型、字符串型等。例如实体学生有属性学号、姓名、年龄、性别等。实体标识符(Identifier):能惟一标识实体的属性或属性集,称为实体标识符。 有时也称为关键码(Key),或简称为键。例如学生的学号可以作为学生实体的标识符。逻辑设计中的数据描述(1)数据库的逻辑设计是根据概念设计得到的,逻辑设计中的术语如下:字段(Field):标记实体属性的命名单位称为字段或数据项。 它是可以命名的最小信息单位,所以又称为数据元素或数据项。字段的命名往往和属性名相同。例如学生有学号、姓名、年龄、性别等字段。逻辑设计中的数据描述(2)记录(Record):字段的有序集合称为记录。 一般用一个记录描述一个实体,所以记录又可以定义为能完整地描述一个实体的字段集。例如一个学生记录,由有序的字段集组成:学号,姓名,年龄,性别。文件(File):同一类记录的集合称为文件。 文件是用来描述实体集的。例如所有的学生记录组成了一个学生文件。关键码(Key)能惟一标识文件中每个记录的字段或字段集,称为记录的关键码(简称为键)。概念设计和逻辑设计中两套术语的对应关系概念设计逻辑设计实体属性实体集实体标识符记录字段(或数据项)文件关键码物理存储中的数据描述数据描述有两种形式:物理描述和逻辑描述。物理数据描述指数据在存储设备上的存储方式的描述,物理数据是实际存放在存储设备上的数据。在数据库系统中,逻辑数据与物理数据之间可以是差别很大的。数据库系统的一个目标是使用户能简单、方便、容易地存取数据,不必关心数据库的存储结构和具体实现方式。在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体集内部的联系和实体集之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系。数据联系的描述(1)两个实体集之间的联系一对一联系(1:1):如果对于实体集A中的每一个实体,实体集B中至多有1个实体(也可以没有)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:N。实体集A联系名实体集B11一对多联系(1:N)1N实体集A联系名实体集B如果对于实体集A中的每一个实体,实体集B中有N个实体(N≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:N。多对多联系(M:N)实体集A联系名实体集BMN如果对于实体集A中的每一个实体,实体集B中有N个实体(N≥0)与之联系,反之,对于实体集B中的每一个实体,实体集A中也有M个实体(M≥0)与之联系,则称实体集A与实体集B具有多对多联系,记为M:N。
一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。
多元联系若实体E1,E2,…,En之间存在联系,对于实体Ej与(j=1,2,…,i-1,i+1,…,n)中给定实体,最多只和Ei中的一个实体相联系,则说Ei与E1,E2,…,Ej-1,Ej+1,…,En联系是一对多的。多元联系例1对于课程、教师与参考书3个实体,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的。1课程讲授教师参考书MN有3个实体:供应商、项目、零件,一个供应商可以供给多个项目多种零件,而每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给,由此看出供应商、项目、零件三者之间是多对多的联系。多元联系例2M供应商供应项目零件NP
3个实体之间多对多的联系和3个实体两两之间的(共3个)多对多联系的语义是不同的。单元联系单个实体集之间一对多联系示例N1职工领导同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。例如,职工实体集内部具有领导与被领导的联系,即某一职工(干部)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系。2.2数据模型主要内容2.2.1数据模型的定义2.2.2实体联系模型2.2.3层次模型2.2.4网状模型2.2.5关系模型2.2.6面向对象模型数据模型的定义一种数据模型是独立于计算机系统的数据模型,完全不涉及信息在计算机中的表示,只是用来描述某个特定组织所关心的信息结构,这类模型称为“概念数据模型”。另一种数据模型是直接面向数据库的逻辑结构,它是对现实世界的第二层抽象。这类模型直接与DBMS有关,称为“逻辑数据模型”,简称“逻辑模型”或“结构数据模型”。数据模型现实世界认识抽象概念模型逻辑模型信息世界机器世界
现实世界中客观对象的抽象过程ER(实体─联系方法)图提供了表示实体型、属性和联系的方法:实体型:用矩形表示,矩形框内写明实体名。属性:用椭圆形表示,并用无向边将其与相应的实体型连接起来。例如,学生实体具有学号、姓名、性别、出生年份、系、入学时间等属性,用ER图表示如图所示。实体联系模型(1)学生学号姓名性别系出生年份入学时间实体联系模型(2)联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1:1,1:N或M:N)。需要注意的是,如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来,如右图。M供应商供应项目零件NP供应量
联系的属性表示实体联系模型(3)举例:教学情况可由学生、课程、教师、学习、任课等组成。学生对课程是多对多联系:一个学生可以学多门课程,而一门课程又有多个学生学习;教师对课程是一对多联系:一个教师可以讲授多门课程,但一门课程至多只能由一个教师任教(当一门课程分别在不同的班开课时,可看做几门课程,它们的课程名可以相同,但课程号不能相同,用以区别,这样就可以满足一对多的假设)。实体联系模型(4)学号姓名性别年龄学生课程教师学习任课成绩课程号课程名课时数姓名性别年龄MNN1层次模型(1)层次数据模型的数据结构在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型。有且只有一个结点没有双亲结点,这个结点称为根结点;根以外的其他结点有且只有一个双亲结点。每个记录类型可包含若干个字段。这里,记录类型描述的是实体,字段描述实体的属性。各个记录类型及其字段都必须命名。各个记录类型、同一记录类型中各个字段不能同名。每个记录类型可以定义一个排序字段,也称为码字段,如果定义该排序字段的值是唯一的,则它能唯一地标识一个记录值。R1R2R3R4R5根节点叶节点叶节点叶节点兄弟节点兄弟节点层次模型(2)层次模型的优点主要有:⑴层次模型的数据结构比较简单清晰。⑵层次数据库的查询效率高。⑶层次数据模型提供了良好的完整性支持。层次模型的缺点主要有:⑴现实世界中很多联系是非层次型的。⑵一个结点具有多个双亲等。⑶查询子女结点必须通过双亲结点。⑷由于结构严密,层次命令趋于程序化。网状模型(1)网状数据模型的数据结构 在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:允许一个以上的结点无双亲;一个结点可以有多于一个的双亲。网状数据模型的优点:⑴能够更为直接地描述现实世界,如一个结点可以有多个双亲。结点之间可以有多种联系。⑵具有良好的性能,存取效率较高。网状模型(2)网状数据模型的缺点主要有:⑴结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。⑵网状模型的DDL、DML复杂,并且要嵌入某一种高级语言(如COBOL、C)中。因此用户不易掌握和使用。⑶由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节。这样就加重了编写应用程序的负担。关系模型(1)关系数据模型的数据结构 从用户观点看,关系模型由一组关系组成。每个关系的数据结构是一张规范化的二维表。学号姓名年龄性别系名年级200912004王小明19女计算机系2009200912006黄大鹏20男数学系2009200912008张文斌18女经管系2009………………关系模型(2)关系(Relation):一个关系对应通常说的一张表,如表2.2中的这张学生登记表。元组(Tuple)表中的一行即为一个元组。属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名称即属性名。如这张表有6列,对应6个属性:学号,姓名,年龄,性别,系名和年级。码(Key):也称为码键。表中的某个属性组,它可以惟一确定一个元组,如表2.2中的学号,可以惟一确定一个学生,也就成为本关系的码。
域(Domain):属性的取值范围,如人的年龄一般在1~150岁之间,大学生年龄属性的域是(14~38),性别的域是(男,女),系名的域是一个学校所有系名的集合。分量元组中的一个属性值。关系模式:对关系的描述,一般表示为 关系名(属性l,属性2,…,属性n)关系模型(3)关系和现实生活中的表格所使用的术语做一个粗略的对比如下:关系术语一般表格术语关系名关系模式关系元组属性属性名属性值分量非规范关系表名表头(表格的描述)(一张)二维表记录或行列列名列值一条记录中的一个列值表中有表(大表中嵌有小表)关系模型(4)关系数据模型具有下列优点:⑴关系模型与非关系模型不同,它是建立在严格的数学概念的基础上的。⑵关系模型的概念单一。无论实体还是实体之间的联系都用关系来表示。对数据的检索和更新结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。⑶关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。关系数据模型最主要的缺点是:由于存取路径对用户透明,查询效率往往不如非关系数据模型。面向对象模型(1)面向对象的基本概念对象(Object):对象是现实世界中实体的模型化,与记录概念相仿,但远比记录复杂。每个对象有一个惟一的标识符,把状态(State)和行为(Behavior)封装(Encapsulate)在一起。其中,对象的状态是该对象属性值的集合,对象的行为是在对象状态上操作的方法集。类(Class):将属性集和方法集相同的所有对象组合在一起,构成了一个类。类的属性值域可以是基本数据类型(整型、实型、字符串型),也可以是记录类型和集合类型。也就是类可以有嵌套结构。系统中所有的类组成了一个有根的有向无环图,叫类层次。面向对象模型(2)面向对象数据库系统的优点:⑴能有效地表达客观世界和有效地查询信息:面向对象方法综合了在关系数据库中发展的全部工程原理、系统分析、软件工程和专家系统领域的内容。⑵可维护性好:在耦合性和内聚性方面,面向对象数据模型的性能尤为突出。⑶能很好地解决“阻抗不匹配”(impedancemismatch)问题:应用程序语言与数据库管理系统对数据类型支持的不一致问题,这一问题通常称之为阻抗不匹配问题。面向对象模型(3)面向对象数据库系统的缺点:⑴技术还不成熟:面向对象模型还存在着标准化问题,是否修改SQL以适应面向对象的程序,还是用新的对象查询语言来代替它,目前还没有解决。⑵面向对象系统开发的有关原理才刚开始,只是具有雏形,还需要一段时间的研究。但在可靠性、成本等方面还是令人可以接受的。⑶理论还需完善:到现在为止没有关于面向对象分析的一套清晰的概念模型,怎样设计独立于物理存储的信息还不明确。2.3数据库的体系结构主要内容三级模式结构三级结构和两级映像两级数据独立性从数据库管理系统的抽象层次看,数据库系统通常采用三级模式结构三级模式结构(1)数据库的体系结构分成三级:外部级(External)、概念级(Conceptual)和内部级(Internal)。这个结构称为“数据库的体系结构”,有时亦称为“三级模式结构”,或“数据抽象的三个级别”。从某个角度看到的数据特性,称为“数据视图”(DataView)。外部级最接近用户,是单个用户能看到的数据特性。单个用户使用的数据视图的描述称为“外模式”。概念级涉及到所有用户的数据定义,也就是全局性的数据视图。全局数据视图的描述称为“概念模式”,也称为“模式”。内部级最接近于物理存储设备,涉及到物理数据存储的结构。物理存储数据视图的描述称为“内模式”。数据库的三个模式结构是对数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械原理计算自由度习题及答案
- 血液净化中心质量管理标准
- 校园安保人员准则
- 2026年安全知识竞赛题库及答案(共50题)
- 除尘净化设备清洗消毒和维修保养制度
- 软文推广平台TOP10权威测评:2026年十大平台综合评测报告
- 商超食品安全应急处置
- 核硬化性白内障护理查房
- 虹膜肿物护理查房
- 氢能重卡物流基地项目可行性研究报告模板-立项拿地
- 为什么要上个好大学课件-高三上学期励志教育主题班会
- 《基于供应链的电商企业营运资金管理分析-以苏宁易购为例》15000字【论文】
- 高等职业学校办学条件重点监测指标
- 审计工作管理制度(3篇)
- DB32T 4656-2024 未成年人保护工作站管理和服务规范
- 金蝶云星空应用开发初级认证
- 电影音乐欣赏智慧树知到期末考试答案章节答案2024年华南农业大学
- TD/T 1067-2021 不动产登记数据整合建库技术规范(正式版)
- GB/T 45007-2024职业健康安全管理体系小型组织实施GB/T 45001-2020指南
- 《钢材表面缺陷》课件
- 【小班幼儿园入园分离焦虑调研探析报告(附问卷)10000字(论文)】
评论
0/150
提交评论