数据建模和设计for CDGP第五章——如何绘制鸭掌图

302e2eed50e29874f79111cba0e04dc6.jpeg

CDGP中第五章必考一个数据模型设计题,分值10分。


主要考点

1、围绕一个场景如(外卖送餐、图书馆管理系统等)进行关系型逻辑数据模型设计2、要求满足范式化(通常为3NF)3、突出重点的实体并描述实体间的关系


加gzh“大数据食铁兽”,了解更多CDGA/CDGP考试知识点


重点概念

  • 逻辑模型:

逻辑数据模型(Logical Data Model, LDM) 是对数据需求的详细描述,通常用于支持特定用法的语境中(如应用需求)。逻辑数据模型不受任何技术或特定实施条件的约束。逻辑数据模型通常是从概念数据模型扩展而来。

  • 范式:

重点遵循3范式即可。l) 第一范式 (INF) 。确保每个实体都有一个有效的主键,每个属性都依赖于主键,而且消除冗余的分组,以确保每个属性的原子性(不能有多个值存在)。第一范式包括了与通常称为关联实体的附加实体的多对多关系解析。
2) 第二范式 (2NF) 。确保每个实体都有最小的主键,每个属性都依赖于完整的主键。
3) 第三范式 (3NF) 。确保每一个实体都没有隐藏的主键,每个属性都不依赖于键值之外的任何属性(仅依赖于完整的主键)。

3NF是对字段的冗余性,要求任何字段不能由其他字段派生出来,它要求字段没有冗余,即不存在传递依赖;

表: 学号, 姓名, 年龄, 学院名称, 学院电话

因为存在依赖传递: (学号) → (学生)→(所在学院) → (学院电话) 。

可能会存在问题:

●数据冗余:有重复值;

●更新异常:有重复的冗余信息,修改时需要同时修改多条记录,否则会出现数据不一致的情况 。

正确做法:

学生:(学号, 姓名, 年龄, 所在学院);

学院:(学院, 电话)。

  • 信息工程法IE-鸭掌图

在关系建模中有几类不同的表示法可以用来表达实体间的关系,包括信息工程法 IE 、信息建模的集成定义 IDEFlX 、巴克表示法 (Barker) 和陈氏表示法 (Chen) 。最常见的是信息工程法,该方法采用三叉线(俗称"鸭掌模型”)来表示基数(重点掌握)。

下图为书中原图:

178374cf6c0631fcc950ddb1b48b2c14.jpeg


这种方式将每个实体用一个上下分割的方框来表示,上半部分写实体名称,下半部分写实体属性,类似于UML类图的表示方法。同时用鸦爪符号表示“……对多”或“多对……”关系,这也是Crow’s foot(乌鸦脚)这个名字的由来。这种方法使得实体和关系的表示更加清晰明了。它的详细画法如下图所示:

c60b57ad917f0112165549f64ee34c1e.jpeg

解题思路

1、实体抽象2、添加实体关系及基数(外键体现在关系中“多”的一边的实体),3、扩展属性4、标记键值属性(主键及外键)5、检查是否符合3NF以图书分享系统为示例:

0e761666c77441f320d2a9bccfd556cc.jpeg


猜你喜欢

转载自blog.csdn.net/kuankuanerfei/article/details/132344850
今日推荐