版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章 概念模型概念模型-本本章内容章内容数据模型概念模型(ER模型)-基本概念扩展的ER模型实体与联系实例分析数据模型数据模型l作用:作用:对现实世界进行抽象。找到所关心的 数据,并将其组织起来,使之可以存放到数据库中。l模型:模型:是描述数据的概念集合。按应用的 不同目的分为两类:概念模型、数据模型。l概念模型:概念模型:也称信息模型,它按用户的观点对数据和信息进行建模,用于信息世界,它强调语义表达能力,是现实世界到信息世界的第一次抽象,是用户和数据库设计人员之间进行交流的语言。数据模型数据模型l数据模型:用于机器世界,是按计算机系统的观点对数据建模,它需要有严格的形式化定义,且常常
2、要加上一些限制和规定,以便机器实现l数据模型的三要素数据模型的三要素数据结构数据结构-对静态数据的描述确定所研究的对象类型的集合。对象包括:数据本身、数据之间的联系现实世界信息世界机器 世界图表、文件等文字形式表示概念模型数据模型在关系中:关系、域、属性数据模型数据模型在数据库系统中是按数据结构的类型来命名数据模型。按数据库系统所支持的数据模型来命名数据库系统,例如:关系数据库系统、层次数据库系统、网状数据库系统等。数据操作数据操作-对数据动态特性的描述是指对数据库中各种对象(型)的实例(值)允许执行的操作的集合,包括操作、操作规则。操作:检索、更新定义操作的确切含义、操作符号、操作规则和实现
3、语言数据模型数据模型数据的约束条件数据的约束条件-对数据静态特性的描述是完整性规则的集合。完整性规则是给定数据模型中的数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效、相容。例如:学生年龄的限定,奖金必须低于基本工资等数据模型应规定该模型必须遵守的完整性约束条件,例如:关系模型中的实体完整性、参照完整性。数据模型应提供定义完整性约束条件的机制。概念模型概念模型- ER模型基本概念模型基本概念l是现实世界到机器世界的一个中间层次,概念模型中最常用的是ER模型,介绍ER模型(实体联系)中的主要概念。l实体实体(Entity):客观存在并可以
4、相互区分的事物叫实体。(例如:一个个学生、一辆辆轿车)l属性(Attribute):实体一般具有若干特征,称之为实体的属性。例如:学生具有学号、姓名等属性属性。l域(域(Domain):一个属性可能取值的范围称为这个属性的域。例如:性别的域值只能为“男”或“女”ER模型基本概念模型基本概念l候选码:能够唯一标识实体的属性或最小属性组称为候选码,可能存在多个候选码,设计者必须指明一个候选码做主码(关键字)。例如:见图l实体型(Entity type):具有相同属性的实体具有共同的特征和性质,用实体名及其属性集合来抽象、刻画同类实体,称为实体型。学生学号姓名性别专业ER模型基本概念模型基本概念l实
5、体集(Entity set):同型实体的集合l联系:现实世界的事物之间是有联系的,这种联系在信息世界中反映为:实体(型)内部的联系和实体(型)之间的联系。l两个实体型之间的联系一对一联系(1:1)例如:部门、经理一对多联系(1:n)例如:部门、雇员多对多联系(m:n)例如:学生、课程ER模型基本概念模型基本概念举例ER模型基本概念模型基本概念部门经理设有部门雇员拥有学生课程选修111nmnER模型基本概念模型基本概念l两个以上实体型之间的联系两个以上实体型之间的联系也存在一对一、一对多和多对多的联系一对多:若实体集E1,E2,En存在联系,对于实体集Ej(j=1,2,i-1,i+1,n)中的给
6、定实体,最多只和Ei中的一个实体相联系,则我们说Ei与E1,E2,Ei-1,Ei+1,En之间的联系是一对多的。例子:三个实体型之间的联系ER模型基本概念模型基本概念l同一实体集内的各个实体之间的联系例如:职工实体集内的实体有领导和被领导的关系;高数、离散数学是数据结构的先导课,数据结构是操作系统、数据库原理的先导课。课程教师设有1n参考书m一对多供应商项目供应mp零件n对对多ER模型基本概念模型基本概念经理也是职工,经理要领导多个职工,而一个职工仅被一个经理领导。职工领导1n课程先导课mn联系的属性联系的属性学生课程选修mn学号姓名专业课程号课程名学时成绩?学生课程选修mn学号姓名专业课程号
7、课程名学时成绩?联系的属性联系的属性学生课程选修mn学号姓名专业课程号课程名学时成绩 实例分析实例分析例子1:假定开发某工厂物资管理系统,业务调查后得到如下的问题描述。在该工厂中,一个仓库仓库可以存放多种零件,一种零件零件可以存放在多个仓库仓库中,一个仓库有多名职工职工当保管员,一个职工只能在一个仓库工作,每个仓库有一名主任。仓库存放由许多供应商供应商为一些项目项目提供的多种零件零件,一个项目可以有多个供应提供多种零件,一个供应商可供给多个项目多种零件,每种零件由不同的供应商提供给多个项目。实例分析(实例分析(E-R图)图)供应商项目供应nm仓库零件存放nmp1职工工作n领导n1实例分析(实例
8、分析(E-R图)图)仓库零件职工供应商项目供应存放工作领导nmnmp1nn1姓名地址账号供应商号电话号面积仓库号电话号职工号姓名年龄职称项目号供应量零件号库存量预算规格名称描述单价开工日期职工电话号?实例分析实例分析l例子2:开发学校信息管理系统。学校中有若干系系,每个系有若干班级班级和教研室教研室,每个教研室有若干教师教师,其中有教授和副教授每人各带若干名研究生研究生,每个班班有若干学生学生,每个学生选若干课程课程,每门可由若干学生选修。实例分析(实例分析(E-R图)图)系班级教研室有设有1nn1学生属于1n教师工作1n课程选修nm指导1n实例分析(实例分析(E-R图)图)系系名电话号班名地
9、址学号人数班级学生课程教研室教师有设有属于工作选修指导姓名住处课程号课程名学时教研室名地址电话号职工号姓名职称研究方向1nn11n1nnm研究方向是否四级1n指导人数实例分析(实例分析(E-R图)图)学号学生姓名住处研究生本科生教师教授(副)研究方向是否四级研究方向培养类型软件开发中,实际使用的ER模型有更丰富的语义,介绍扩展ER的一些内容,扩展ER表示有所不同如何表示?指导人数ER模型的其它特征模型的其它特征 -参加约束参加约束l实体的参与度(有些ER模型)实体参与联系的最小和最大次数,例如:规定每位学生最少选三门课,最多六门课,则学生在选修联系中的参与度表示为 (3,6)。规定有些课程可以
10、无人选,但任一门课程最多允许100人选,则课程的参与度为 (0,100)。表示为(min,max),0=min=1学生课程选修mn(3,6)(0,100)ER模型的其它特征模型的其它特征 -弱实体弱实体l弱实体现实世界有一种特殊的联系,这种联系代表实体间的所有关系。例如:职工和家属的关系弱实体是依赖于其它实体存在而存在的实体部分参与:min=0,不是实体集中的每个实体都参与联系全参与:min0,实体集中的每个实体都参与联系学生课程选修mnER模型的其它特征模型的其它特征 -弱实体弱实体两个特点:弱实体不能独立存在,它总是依附于某一所有者实体。 owner实体集与弱实体集之间必须是一对多联系,弱
11、实体必须是全部参与弱实体不一定有自己的码,例如:家属实体集可能有姓名、性别、出生年月等信息,但这些信息不足以标识一个家属(不同职工的家属有可能会重名)。所有者实体的码+弱实体的某一属性=标识一个弱实体职工职工家属1n家属ER模型的其它特征模型的其它特征 - 类层次类层次l 例子:学校中学生, 研究生, 本科生l 实体集研究生和本科生称为实体集学生的子类l 从语义上来讲,子类中的每一个实体同时也是超类中的一个实体,子类中实体属性必须包含所有的超类实体集的属性,也就是说,子类将继承超类的属性l 超类/子类联系称之为ISA联系l 表示ER模型的其它特征模型的其它特征 - 类层次类层次学号学生姓名住处
12、研究生本科生研究方向是否四级培养类型ISA教师教授(副)研究方向ISA指导指导人数职工号姓名职称研究方向n1ER模型的其它特征模型的其它特征 - 类层次类层次l ISA联系可以从两个方面来看可以看作是一个特化,即子类是经过超类特化而得到的也可以看作是一个概括,即超类是对子类进行概括而得到的l 定义在ISA联系上的两种约束关系Overlap约束:Overlap约束用来指定两个子类之间是否允许包含同一实体Covering约束:Covering约束用来指定子类中所有的实体是否包含超类中的所有实体ER模型的其它特征模型的其它特征 -聚合聚合l 联系描述的是多个实体集间的关联,只有实体才能参与联系,不允
13、许联系参与联系,但实际应用中往往有时需要联系参与联系l 把联系看成由参与联系的实体组合而成的新实体,这种新实体称为参与联系的实体的聚合l 新实体的属性为参与联系的实体的属性和联系的属性的并l 新实体参与联系ER模型的其它特征模型的其它特征 -聚合聚合l 存在四个实体集(大学、研究所、公司、科研项目)和两个联系(合作、承担),其中合作是建立在大学、研究所和公司之间的联系l 为了定义承担这样的联系,可以对联系合作、实体集大学、研究所和公司进行聚合, 将他们当作一个实体集来看待l 表示表示ER模型的其它特征模型的其它特征 -聚合聚合大学校名电话号地址科研项目合作承担nnm研究所所名电话号地址p公司公
14、司名电话号地址m用用ER模型进行概念数据库设计模型进行概念数据库设计p用ER模型来进行概念数据库设计时通常需要注意以下几个问题一个概念应该被建模为一个实体还是一个属性?一个概念应该被建模为一个实体还是一个联系?应该使用多个二元联系还是一个n元联系?实体与属性实体与属性p在进行数据建模时,一个特征究竟应该建模为一个属性、一个实体集,还是一个联系集,有时并不是十分清楚的p例子:向实体集Employees中增加Address信息,可能有多种方式将Address作为一个属性:如果我们仅仅是想记载雇员的一个地址,这时这种方式就比较合适也可以将地址信息建模为一个实体集Addresses,并在Employe
15、es和Addresses之间建立一个联系Has_Address,这种设计在以下两种情况是必须的必须为雇员记载多个地址我们希望结构化雇员的地址信息实体与属性实体与属性雇员雇员号雇员名职称地址如果多个?雇员雇员号雇员名职称有地址1n省市街道结构化的好处?实体与联系实体与联系例子例子1:雇员和部门的联系在这个例子中,如果不允许一个雇员在同一部门工作过两次的话,则该ER图的设计没有任何问题,但如果允许同一雇员在一个部门多次任职的话,则上述ER图设计存在问题。Why?解决策略:解决策略:引入一个实体Duration,也就是将原来的二元联系建模为一个实体,并用一个三元联系取代原来的二元联系。雇员部门工作1
16、n实体与联系实体与联系 - 例例1mnmnp实体与联系实体与联系 - 例例1mnlEmployee1 9596 department1lEmployee1 9697 department2lEmployee1 9899 department1 mnplEmployee1 9596 department1lEmployee1 9697 department2lEmployee1 9899 department1 实体与联系实体与联系- 例例2例子2:一个部门至多只能有一个管理者,但一个经理可以管理多个部门,经理管理部门有一个起始时间和所自由支配的财务情况,如果对于每个部门都有一个财务情况,则这种
17、表示方式是非常自然的。1ndid dname since dbudget ssn 1aa 90-95 100 012bb 95-98 50 01正常正常did dname since dbudget ssn1aa 90-95 100 012bb 90-95 100 01存在冗余存在冗余实体与联系实体与联系- 例例2如果属性dbudget表示对其所管理的所有部门而言所能自由支配的财务情况的话,则上述表示会引起dbudget信息的冗余。解决策略:引入一个实体Mgr_ppts来表示一组部门的经理的委派,也就是将原来的二元联系建模为一个实体,并用一个三元联系取代原来的二元联系实体与联系实体与联系 -
18、例例21n1did dname since apptnum1 aa 90-95 12 bb 95-98 1无冗余无冗余apptnum since dbudget1 90-95 1002 95-98 50实体与联系实体与联系 - 例例3学生课程选修mn学号姓名专业课程号课程名学时成绩是否也做一个实体?是否存在:王立 数据库 98王立 数据库 78特点:不是多值!结论:只能做属性二元与三元联系二元与三元联系p例1:每个雇员可以购买几份保险,每份保险可以被多个雇员所拥有且每个家属可以被多个保险单所涵盖,三元多对多联系。mnpmnp二元与三元联系二元与三元联系- 例例1p 考虑下列需求多个雇员不能同时
19、购买同一份保险每份保险必须由雇员购买Dependents是一个弱实体集一份保险可以涉及到多位家属每位家属只对应一份保险mnpmnp二元与三元联系二元与三元联系根据上述需求,给出如下方案:p对应1,将m改成1不能解决一位家属只对应一份保险p在Policies上施加一个Total参加约束产生一个副作用: 每份险单至少涉及到一位家属p将p改为1(不满足:每个家属可以被多个保险单所涵盖)p引入一个弱实体集二元与三元联系二元与三元联系 - 例例11npDependents二元与三元联系二元与三元联系 - 例例1n1BeneficiaryDependents1nBelong to1n实例分析q一个公司数据库需要存储雇员、部门和雇员小孩的信息。雇员工作在部门(一个雇员只能工作在一个部门),每个部门由一个雇员管理,每个雇员小孩的名字是唯一的,假定
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届安徽省合肥市科大附中中考物理最后冲刺模拟试卷含解析
- 2026年中考道德与法治考前冲刺:时事背景主观题抢分练习题汇编(含答案)
- 建筑防水施工方案
- 2026届湖北省孝感市孝南区肖港初级中学中考物理押题试卷含解析
- 护理研究中的定量研究方法
- 支气管异物高风险人群
- 实验室管理规定
- 巴彦淖尔市2025届数学三年级第二学期期中统考模拟试题(含答案解析)
- 2025年徐州市泉山区金山街道招聘考试真题
- 崇左市2025年数学三下期末教学质量检测试题含答案解析
- 2025年北京朝阳社区工作者招聘考试笔试试题(含答案)
- 山东省青岛市即墨区2024-2025学年八年级下学期期末考试数学试卷(含部分答案)
- 超声评估胃残余量
- X片检查健康宣教
- 【TCP云运维】腾讯云运维高级工程师认证题库(附答案)
- 工伤预防知识培训课件
- 远程审方系统管理制度
- T履带吊拆卸、安装方案
- 球磨机试车方案
- 水泥皮带廊道封闭施工方案
- 宁夏水利建筑工程预算定额
评论
0/150
提交评论