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) 。最常见的是信息工程法,该方法采用三叉线(俗称"鸭掌模型”)来表示基数(重点掌握)。
下图为书中原图:
这种方式将每个实体用一个上下分割的方框来表示,上半部分写实体名称,下半部分写实体属性,类似于UML类图的表示方法。同时用鸦爪符号表示“……对多”或“多对……”关系,这也是Crow’s foot(乌鸦脚)这个名字的由来。这种方法使得实体和关系的表示更加清晰明了。它的详细画法如下图所示:
解题思路
1、实体抽象2、添加实体关系及基数(外键体现在关系中“多”的一边的实体),3、扩展属性4、标记键值属性(主键及外键)5、检查是否符合3NF以图书分享系统为示例: