
简介这份资源是西南交通大学《数据库原理》课程第2章「高级数据模型」的作业文档面向正在学习数据库设计基础的高校学生尤其适合需要巩固ER模型、关系模型与约束概念的学习者。文档围绕ERM所属层次、数据操纵缺失原因、实体与联系的描述方式、主键与候选键区别、键约束的适用场景、1:1/1:n/m:n联系主键确定方法以及弱实体识别等核心知识点展开并配有改错题与两道综合建模题要求根据商店、商品、职工及超市公司业务规则绘制ER图并标注约束类型。资源包共1个docx文件约99KB内容为可直接参考的作业解析与答题思路涵盖简答、改错、综合与学习体会四类题型。目前已有857人学习下载适合作为章节复习、作业对照与考前查漏补缺的辅助材料。1. 从一份被标“拷贝记零分”的作业说起高级数据模型到底在考什么西南交通大学《数据库原理》第二章这份作业卷头就写着“拷贝者与被拷贝者本次作业记零分”说明它不是随便水过去的课后练习而是概念设计阶段的一次硬核自测。整份作业围绕高级数据模型展开核心是 ERM实体联系模型——它属于高级数据模型用于概念设计阶段描述现实世界的数据模式而关系模型属于逻辑数据模型负责后续的表结构落地。作业分四块简答题 40 分、改错题 6 分、综合题 44 分、体会 10 分其中综合题明确要求用 Word 或 Visio 画 ER 图禁止纸质手绘拍照。这份资源适合正在学数据库原理、被 ER 图约束类型和弱实体绕晕的本科生也适合想回头补概念设计基本功的从业者。它解决的不是“怎么建表”而是“建表之前怎么把业务规则翻译成实体、联系和约束”。2. 简答题里的十个概念ERM 的骨架与主键判定规则2.1 为什么 ERM 没有数据操纵关系模型却有作业第一题问 ERM 属于哪个层次答案是高级数据模型关系模型属于逻辑数据模型。第二题紧接着问 ERM 为何没有数据操纵内容答案很干脆ERM 是高级设计模型在概念设计阶段用于描述数据模式。这里有个容易翻车的点——很多人把“高级”理解成“更厉害”其实在数据库三层模型里高级指的是抽象层次高、离物理实现远。ERM 只回答“有哪些实体、它们怎么联系”不回答“怎么查、怎么插、怎么删”。数据操纵是关系模型及之后的事。所以做概念设计时不要提前操心索引、事务和 SQL那是逻辑设计和物理设计的活。把 ERM 当黑匣子用输入业务规则输出实体联系图别越界。2.2 实体、联系、属性、键四个基础件的分工第三题问现实系统中的数据本身和数据联系分别用什么描述。数据用实体和实体型描述数据联系用联系和联系型描述。实体是具体对象实体型是同类对象的集合定义比如“商店”这个实体型下可以有“一号店”“二号店”。联系同理“销售”是联系型某商店销售某商品是联系实例。第四题问实体用什么唯一标识答案是主键 primary key。第五题问 ERM 可描述的约束类型答案包括一般性约束1:1、1:n、m:n、键约束1:1、1:n和参与约束。这三类约束是后面综合题画图的评分重点漏一个就丢分。第六题把属性按结构和取值各分了几类按结构分简单属性、复合属性、子属性按取值分单值属性、多值属性、导出属性、空值属性。复合属性和子属性的区别常被混淆——复合属性是多个简单属性组合成一个有意义的整体比如“地址”由省、市、街道组成子属性是复合属性拆出来的那一部分。多值属性比如“电话号码”一个人可以有多个导出属性比如“年龄”可由出生日期算出。2.3 键与候选键的区别以及三种联系的主键怎么定第七题是简答题里最容易答偏的键与候选键的区别。键并不要求一定是最小属性集而候选键要求的是最小属性集不允许有冗余属性。换句话说候选键一定是键但键不一定是候选键。第八题问键约束的用处和存在条件键约束用于唯一确定联系一对一和一对多的情况下才存在键约束。多对多没有键约束因为任何一方的主键都无法单独唯一确定一条联系实例。第九题把三种联系的主键判定规则串起来1:1 联系主键可取关联的任意实体的主键独立担当1:n 联系主键只需由 n 方实体的主键担当m:n 联系主键必须由关联的所有实体的主键共同组成。这条规则在综合题画 ER 图时直接决定联系菱形框里标什么。我一般会让学生先判断联系类型再套这三句话基本不会错。2.4 弱实体产生、避免与识别第十题问弱实体如何产生、如何避免、如何识别并要求举例。弱实体由于系统内某些实体没有键属性而形成。避免的办法是在命名或编号弱实体时加上其隶属关系上层实体的表示。识别时使用识别实体型和识别联系。作业给的例子很典型本地电话号码未加区号无法唯一标识某人在某个队列中的排序序号离开队列就没有意义。弱实体在 ER 图里用双边矩形表示识别联系用双边菱形表示。很多同学画图时把弱实体画成普通实体导致主键缺失这是综合题失分的高频点。记住一句话弱实体不能独立存在它的主键必须包含所属强实体的主键。3. 改错题与综合题把业务规则翻译成 ER 图的完整推演3.1 改错题三句话每句都是一个易混点改错题只有三小题但每句都踩在概念边界上。第一句“主键是候选键之一部分组成”划线部分应改为“的其中一个”。主键是从候选键中选定的一个不是候选键的一部分。第二句“同一实体型不可能存在联系”应改为“可能”。同一实体型内部可以有联系比如“职工”实体型内部的“领导”联系一个职工领导另一个职工。第三句“ER 模型中联系的主键由所参与实体的一般属性决定”应改为“所参与实体的唯一标识”。联系的主键来自参与实体的主键不是随便什么属性。这三处改错对应三个高频误解主键与候选键关系、自联系、联系主键来源。把这三点吃透简答题和综合题都会顺很多。3.2 综合题第一题商店、商品、职工的三元 ER 图第一题给三个实体集商店商店编号、商店名、地址、商品商品号、商品名、规格、单价、职工职工编号、姓名、性别、业绩。商店与商品之间存在“销售”联系每个商店可销售多种商品每种商品也可放在多个商店销售每个商店销售每一种商品有月销售量。商店与职工之间存在“聘用”联系每个商店有许多职工每个职工只能在一个商店工作商店聘用职工有聘期和月薪。先判联系类型商店与商品是多对多因为双方都是“多个”商店与职工是一对多因为商店端是“许多”职工端是“只能在一个”。再定联系主键“销售”是 m:n主键由商店编号和商品号共同组成“聘用”是 1:n主键由 n 方即职工编号担当。最后标属性月销售量挂在“销售”联系上聘期和月薪挂在“聘用”联系上。画图时用矩形表示实体菱形表示联系椭圆表示属性联系两端标 1、n、m。注意作业要求用 Word 或 Visio禁止手绘拍照所以线要拉直标注要清晰。3.3 综合题第二题超市公司业务规则的 ER 建模第二题给的是超市公司业务管理规则信息稍粗要求按规则设计 ER 模型实体属性可不必画出但须根据生活中正常情况确定联系的约束类型。规则有五条公司有若干仓库、若干连锁商店、供应若干商品每个商店有一个经理和若干收银员每个收银员只在一个商店工作每个商店销售多种商品每种商品可在不同商店销售每个商品编号只有一个商品名称但不同商品编号可以有相同商品名称每种商品可以有多种销售价格业务员负责商品的进货业务。逐条翻译仓库与商品是供应联系多对多商店与经理是一对一因为“一个经理”商店与收银员是一对多因为“若干收银员”且“只在一个商店工作”商店与商品是销售联系多对多商品编号与商品名称是函数依赖商品与销售价格是一对多因为“多种销售价格”业务员与商品是进货联系多对多。这里有个坑规则说“每个商品编号只有一个商品名称”但“不同商品编号可以有相同商品名称”说明商品编号是主键商品名称不是候选键。画图时把商品编号作为商品实体的主键销售价格作为多值属性或单独实体取决于是否要保留价格历史。常见做法是把销售价格建成弱实体依赖商品编号和商店编号。3.4 从规则到图的检查清单画完 ER 图后按这份清单过一遍每个实体是否有主键每个联系是否标了约束类型m:n 联系的主键是否由所有参与实体主键组成1:n 联系的主键是否由 n 方主键担当1:1 联系的主键是否取了任意一方弱实体是否用双边矩形且主键包含强实体主键多值属性是否用双椭圆导出属性是否用虚线椭圆。这份清单能挡住综合题 80% 的失分点。作业里综合题占 44 分第一题 27 分、第二题 17 分画图工具用错或约束漏标扣分很狠。4. 避坑与排查这份作业里最容易翻车的五个地方4.1 把 ERM 当关系模型提前画表现象一上来就画表格把实体直接写成列联系用外键表示。原因混淆了概念设计和逻辑设计。ERM 属于高级数据模型输出的是实体联系图不是表结构。解决先画矩形、菱形、椭圆确认实体、联系、属性、约束都对了再考虑转关系模式。作业简答题第一题就考这个层次区分画错方向直接丢分。4.2 联系主键判定套错规则现象m:n 联系只取一方主键或者 1:n 联系把双方主键都塞进去。原因没记牢第九题的规则。解决背三句话——1:1 取任意一方1:n 取 n 方m:n 取所有参与方。套之前先判联系类型判错类型规则全错。综合题第一题的“销售”是 m:n主键必须是商店编号加商品号少一个都不唯一。4.3 弱实体画成普通实体现象弱实体用单边矩形主键只写自己的属性。原因没理解弱实体的识别依赖。解决弱实体用双边矩形识别联系用双边菱形主键必须包含所属强实体的主键。作业第十题举的本地电话号码例子没有区号就无法唯一标识画图时区号必须进主键。4.4 属性分类混淆复合属性与子属性分不清现象把“地址”拆成省、市、街道后把省标成子属性把地址标成复合属性但关系画反。原因复合属性是整体子属性是部分。解决复合属性用椭圆连到实体子属性用椭圆连到复合属性。多值属性用双椭圆导出属性用虚线椭圆。第六题考的就是这个分类画图时标错符号会扣分。4.5 画图工具不合规手绘拍照现象用纸画完拍照贴进 Word。原因没注意作业注明的“禁止纸质手绘拍照须用 Word/Visio 或其它软件工具画出”。解决用 Word 的绘图工具、Visio、Draw.io 或 ProcessOn 都行导出图片插入文档。线要直标注要清楚别让老师猜。这一条是硬性要求违反直接扣分。5. 进阶技巧用函数依赖反推候选键再用 ER 图验证5.1 从业务规则里抽函数依赖综合题第二题规则第四条说“每个商品编号只有一个商品名称但不同的商品编号可以有相同的商品名称”。这句话翻译成函数依赖是商品编号 → 商品名称。反过来商品名称 → 商品编号不成立因为不同编号可以有相同名称。所以商品编号是候选键商品名称不是。规则还说“每种商品可以有多种销售价格”说明商品编号不能唯一确定销售价格销售价格依赖商品编号加商店编号或者依赖商品编号加某个价格类型。把每条规则里的“只有一个”“可以有多个”“只在一个”抽出来写成 X → Y 或 X ↛ Y候选键自然浮现。我一般会让学生先列函数依赖集再找最小属性集能推出所有属性的就是候选键。5.2 用 ER 图反向验证函数依赖画完 ER 图后拿函数依赖集对一遍每个实体主键是否能唯一确定该实体的所有属性每个联系的主键是否能唯一确定联系上的属性。比如“销售”联系的主键是商店编号加商品号月销售量依赖这个组合不能只依赖商店编号或只依赖商品号。如果发现某个属性只依赖部分主键说明联系类型判错了或者属性挂错了地方。这种反向验证能抓出综合题里隐藏的建模错误。5.3 弱实体与多值属性的取舍销售价格到底建成弱实体还是多值属性如果只需要知道当前价格多值属性够用如果要保留价格历史、不同商店不同价建成弱实体更合适主键为商品编号加商店编号加生效日期。作业说“实体属性可不必画出”所以第二题重点在联系约束不必纠结属性细节。但第一题要求注明联系约束类型月销售量挂在“销售”联系上聘期和月薪挂在“聘用”联系上这些不能省。常见做法是联系上的属性用椭圆连到菱形不要连到实体。5.4 一份可复用的检查流程每次画完 ER 图按这个顺序走一遍先查实体主键是否唯一再查联系类型是否标对再查联系主键是否按 1:1、1:n、m:n 规则确定再查弱实体是否双边矩形且主键含强实体主键再查多值属性、导出属性符号是否用对最后查画图工具是否合规、是否手绘拍照。这套流程走下来综合题 44 分基本能拿满。从那以后我每次带学生做 ER 建模都强制走一遍这个检查流程翻车次数明显下降。希望帮到你。本文还有配套的精品资源点击获取