东华大学数据库与软件工程02_第1页
东华大学数据库与软件工程02_第2页
东华大学数据库与软件工程02_第3页
东华大学数据库与软件工程02_第4页
东华大学数据库与软件工程02_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章重点内容数据、数据库、数据库管理系统、数据库系统数据库管理系统的功能数据库系统的特点数据库系统的三级模式结构和二级映像

2.1信息的三种世界及描述客观对象的抽象过程-两步抽象现实世界中的客观对象抽象为概念模型;把概念模型转换为某一DBMS支持的数据模型。

第2章数据模型与概念模型第2章数据模型与概念模型DBMS支持的数据模型概念模型认识抽象信息世界机器世界现实世界中客观对象的抽象过程现实世界现实世界概念模型数据库设计人员完成逻辑模型物理模型由DBMS完成概念模型逻辑模型数据库设计人员完成2.2概念模型及表示概念模型的用途概念模型用于信息世界的建模是现实世界到机器世界的一个中间层次是数据库设计的有力工具数据库设计人员和用户之间进行交流的语言第2章数据模型与概念模型第2章数据模型与概念模型对概念模型的基本要求较强的语义表达能力能够方便、直接地表达应用中的各种语义知识简单、清晰、易于用户理解第2章数据模型与概念模型2.2.1概念模型的基本概念(1)实体(Entity)客观存在并可相互区别的事物称为实体。可以是具体的人、事、物或抽象的概念。例如:一个学生、一个部门、一门课、学生的一次选课、老师与院系的工作关系等都是实体。第2章数据模型与概念模型(2)属性(Attribute)实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如:学生实体可以由学号、姓名、性别、出生年月、籍贯、所在院系、入学时间等属性组成。(0001,李明,男,199005,江苏南京市,信息学院,2008)第2章数据模型与概念模型(3)码(Key)唯一标识实体的属性集称为码。例如:学号是学生实体的码。(4)域(Domain)属性的取值范围称为该属性的域。

例如:姓名的域为字符串集合,性别域为(男,女)。第2章数据模型与概念模型(5)实体型(EntityType)用实体名及其属性名集合来抽象和刻画同类实体称为实体型。例如:学生(学号、姓名、性别、出生年月、籍贯、所在院系、入学时间)(6)实体集(EntitySet)同一类型实体的集合称为实体集。例如:全体学生就是一个实体集。第2章数据模型与概念模型(7)联系(Relationship)现实世界中事物内部以及事物之间的联系在信息世界中反映为实体内部的联系和实体之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。第2章数据模型与概念模型用图形来表示两个实体型之间的这三类联系实体型A联系名实体型B111:1联系实体型A联系名1n1:n联系实体型A实体型B联系名mnm:n联系实体型B第2章数据模型与概念模型一对一联系(1:1)实例:一个班级只有一个正班长。一个班长只在一个班中任职。定义:如果对于实体集A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1:1。班级班级-班长班长111:1联系第2章数据模型与概念模型一对多联系(1:n)实例一个班级中有若干名学生,每个学生只在一个班级中学习。定义:如果对于实体集A中的每一个实体,实体集B中有n个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B有一对多联系,记为1:n。班级组成学生1n1:n联系第2章数据模型与概念模型多对多联系(m:n)实例课程与学生之间的联系:一门课程同时有若干个学生选修,一个学生可以同时选修多门课程。定义:如果对于实体集A中的每一个实体,实体集B中有n个实体与之联系,反之,对于实体集B中的每一个实体,实体集A中也有m个实体与之联系,则称实体集A与实体B具有多对多联系,记为m:n。课程选修学生mnm:n联系第2章数据模型与概念模型两个以上实体型之间一对多联系若实体集E1,E2,...,En存在联系,对于实体集Ej(j=1,2,...,i-1,i+1,...,n)中的给定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,...,Ei-1,Ei+1,...,En之间的联系是一对多的。第2章数据模型与概念模型实例

课程、教师与参考书三个实体型一门课程可以有若干个教师讲授,使用若干本参考书,每一个教师只讲授一门课程,每一本参考书只供一门课程使用。课程讲授教师1m两个以上实体型间1:n联系参考书n第1章数据库基础知识多个实体型间的一对一联系两个以上实体型间的多对多联系实例

供应商、项目、零件三个实体型一个供应商可以供给多个项目多种零件,每个项目可以使用多个供应商供应的零件,每种零件可由不同供应商供给。供应商供应项目mp两个以上实体型间m:n联系零件n第2章数据模型与概念模型单个实体型内的联系一对多联系实例

职工实体型内部具有领导与被领导的联系。某一职工(干部)“领导”若干名职工,一个职工仅被另外一个职工直接领导,这是一对多的联系。一对一联系

职工领导1n单个实体型内部1:n联系第2章数据模型与概念模型2.2.2概念模型的表示方法P.P.Chen1976年提出的实体-联系方法(E-R方法,Entity-RelationshipApproach)用E-R图来描述现实世界的概念模型E-R方法也称为E-R模型第2章数据模型与概念模型实体型用矩形表示,矩形框内写明实体名。学生教师第2章数据模型与概念模型属性用椭圆形表示,并用无向边将其与相应的实体连接起来。学生学号年龄性别姓名第2章数据模型与概念模型联系联系本身:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n或m:n)。第2章数据模型与概念模型实体型A联系名实体型B111:1联系实体型A联系名1n1:n联系实体型A实体型B联系名mnm:n联系实体型B第2章数据模型与概念模型班级班级-班长班长111:1联系课程选修学生mnm:n联系班级组成学生1n1:n联系第2章数据模型与概念模型联系的属性:联系本身也是一种实体型,也可以有属性。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。课程选修学生mn成绩第2章数据模型与概念模型举例:用E-R图表示某个工厂物资管理的概念模型实体仓库:仓库号、面积、电话号码零件:零件号、名称、规格、单价、描述供应商:供应商号、姓名、地址、电话号码、帐号项目:项目号、预算、开工日期职工:职工号、姓名、年龄、职称第2章数据模型与概念模型实体之间的联系如下:

(1)一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。仓库和零件具有多对多的联系。用库存量来表示某种零件在某个仓库中的数量。(2)一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作,仓库和职工之间是一对多的联系。职工实体型中具有一对多的联系。(3)职工之间具有领导-被领导关系。即仓库主任领导若干保管员。(4)供应商、项目和零件三者之间具有多对多的联系。第2章数据模型与概念模型第2章数据模型与概念模型2.3常见的数据模型2.3.1数据模型概述一、数据模型三要素数据结构数据操作数据约束条件第2章数据模型与概念模型1.数据结构什么是数据结构描述数据库的组成对象,以及对象之间的联系。描述的内容与数据类型、内容、性质有关的对象。与数据之间联系有关的对象。数据结构是对系统静态特性的描述。第2章数据模型与概念模型2.数据操作数据操作对数据库中各种对象(型)的实例(值)允许执行的操作及有关的操作规则。数据操作的类型查询更新(包括插入、删除、修改)第2章数据模型与概念模型数据模型对操作的定义操作的确切含义操作符号操作规则(如优先级)实现操作的语言数据操作是对系统动态特性的描述。第2章数据模型与概念模型3.数据约束条件一组完整性规则的集合。完整性规则:给定的数据模型中数据及其联系所具有的制约和储存规则。用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。第2章数据模型与概念模型数据模型对完整性约束条件的定义反映和规定本数据模型必须遵守的基本的通用的完整性约束条件。例如在关系模型中,任何关系必须满足实体完整性和参照完整性两个条件。提供定义完整性约束条件的机制,以反映具体应用所涉及的数据必须遵守的特定的语义约束条件。第2章数据模型与概念模型二、常见的数据模型非关系模型层次模型(HierarchicalModel)网状模型(NetworkModel)关系模型(RelationalModel)面向对象模型(ObjectOrientedModel)对象关系模型(ObjectRelationalModel)第2章数据模型与概念模型2.3.2层次数据模型层次模型是数据库系统中最早出现的数据模型。层次数据库系统的典型代表是IBM公司的IMS

(InformationManagementSystem)数据库管理系统。层次模型用树形结构来表示各类实体以及实体间的联系。第2章数据模型与概念模型一、层次模型的数据结构层次模型满足下面两个条件的基本层次联系的集合为层次模型:1.有且只有一个结点没有双亲结点,这个结点称为根结点。2.根以外的其它结点有且只有一个双亲结点。层次模型中的几个术语根结点,双亲结点,兄弟结点,叶结点第2章数据模型与概念模型

R1

根结点

R2

兄弟结点

R3

叶结点

R4

兄弟结点

R5

叶结点

叶结点层次模型的一个示例第2章数据模型与概念模型层次模型的特点:结点的双亲是唯一的;只能直接处理一对多的实体联系;每个记录类型可以定义一个排序字段,也称为码字段;任何记录值只有按其路径查看时,才能显出它的全部意义;没有一个子女记录值能够脱离双亲记录值而独立存在。根结点记录型系的子女结点记录型教员的双亲结点叶结点叶结点字段教学院系的数据模型教学院系数据库的一个实例第2章数据模型与概念模型二、层次模型中多对多联系的表示用层次模型间接表示多对多联系。方法将多对多联系分解成一对多联系。分解方法冗余结点法图2-12虚拟结点法图2-13第2章数据模型与概念模型三、层次模型的数据操作和完整性约束条件层次模型的数据操纵查询插入删除更新第2章数据模型与概念模型层次模型的完整性约束条件无相应的双亲结点值就不能插入子女结点值;如果删除双亲结点值,则相应的子女结点值也被同时删除;更新操作时,应更新所有相应记录,以保证数据的一致性(冗余结点法)。第2章数据模型与概念模型四、层次模型的存储结构邻接法按照层次树前序遍历的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来实现层次顺序,实现存储。第2章数据模型与概念模型A1B1C3C5C7C14B4C2C9B6C4C6C8A2…第2章数据模型与概念模型链接法用指引元来反映数据之间的层次联系子女-兄弟链接法层次序列链接法第2章数据模型与概念模型子女-兄弟链接法每个记录设两个指引元,分别指向最左边的子女(每个记录型对应一个)和最近的兄弟。第2章数据模型与概念模型层次序列链接法按树的前序穿越顺序链接各记录值第2章数据模型与概念模型2.3.3网状数据模型网状数据库系统采用网状模型作为数据的组织方式典型代表是DBTG系统:亦称CODASYL系统70年代由DBTG提出的一个系统方案奠定了数据库系统的基本概念、方法和技术实际系统CullinetSoftwareInc.公司的IDMSUnivac公司的DMS1100Honeywell公司的IDS/2HP公司的IMAGE第2章数据模型与概念模型一、网状模型的数据结构网状模型满足下面两个条件的基本层次联系的集合:1.允许一个以上的结点无双亲;2.一个结点可以有多于一个的双亲。第2章数据模型与概念模型表示方法(与层次数据模型相同)实体型:用记录类型描述,每个结点表示一个记录类型(实体)。属性:用字段描述,每个记录类型可包含若干个字段。联系:用结点之间的连线表示记录类型(实体)之间的一对多的父子联系。第2章数据模型与概念模型网状模型与层次模型的区别网状模型允许多个结点没有双亲结点网状模型允许结点有多个双亲结点网状模型允许两个结点之间有多种联系(复合联系)网状模型可以更直接地去描述现实世界层次模型实际上是网状模型的一个特例第2章数据模型与概念模型网状模型的例子

第2章数据模型与概念模型二、网状模型的完整性约束条件网状数据库系统(如DBTG)对数据操纵加了一些限制,提供了一定的完整性约束。码:唯一标识记录的数据项的集合;一个联系中双亲记录与子女记录之间是一对多联系;支持双亲记录和子女记录之间某些约束条件。第2章数据模型与概念模型三、网状模型的存储结构关键实现记录之间的联系常用方法单向链接双向链接环状链接向首链接第2章数据模型与概念模型四、网状数据模型的优缺点优点能够更为直接地描述现实世界,如一个结点可以有多个双亲有良好的性能,存取效率较高缺点结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握DDL、DML语言复杂,用户不容易使用第2章数据模型与概念模型2.3.4关系数据模型关系数据库系统采用关系模型作为数据的组织方式1970年美国IBM公司SanJose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型计算机厂商新推出的数据库管理系统几乎都支持关系模型第2章数据模型与概念模型一、关系模型的数据结构在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。学号姓名年龄性别系名年级2005004王小明19女社会学20052005006黄大鹏20男商品学20052005008张文斌18女法律2005………………第2章数据模型与概念模型关系(Relation)一个关系对应通常说的一张表。元组(Tuple)表中的一行即为一个元组。属性(Attribute)表中的一列即为一个属性,给每一个属性起一个名称即属性名。第2章数据模型与概念模型主码(Key)表中的某个属性组,它可以唯一确定一个元组。域(Domain)属性的取值范围。分量元组中的一个属性值。关系模式对关系的描述关系名(属性1,属性2,…,属性n)学生(学号,姓名,年龄,性别,系,年级)第2章数据模型与概念模型例1学生、系、系与学生之间的一对多联系:学生(学号,姓名,年龄,性别,系号,年级)系(系号,系名,办公地点)第2章数据模型与概念模型例2系、系主任、系与系主任间的一对一联系:系(系号,系名,办公地点,电话,系主任)系主任(工号,姓名,性别,职称)第2章数据模型与概念模型例3学生、课程、学生与课程之间的多对多联系:

学生(学号,姓名,年龄,性别,系号,年级)课程(课程号,课程名,学分)选修(学号,课程号,成绩)第2章数据模型与概念模型关系必须是规范化的,满足一定的规范条件。最基本的规范条件:关系的每一个分量必须是一个不可分的数据项,不允许表中还有表。图1.27中工资和扣除是可分的数据项,不符合关系模型要求。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论