小木谈数
数据记录人生,数据转动生活,数据影响一切!
展开
-
《数据建模-经典教程》读书笔记十二:数据模型记分卡
此项用来验证模型 是否使用了正确的、一致的标准化命名,考察命名是否符合标准化结构、命名表达及命名风格是否统一等。命名表达意味着应该给予属性、实体适当的名字,包含适当的拼写、缩写。需求完整性意味着每个需求都出现在模型中,同时还意味着数据模型仅仅包含着被需求的内容,而没有多余的、额外的东西。该项用来验证数据模型结构是否用宽泛,前台一致的上下文进行表述,即要求模型中使用的术语,规则同样可以在整个企业或组织范围内使用。应该确保模型类型(概念、逻辑、物理、还包括关系型、维度型、NOSQL型)与模型的定义匹配。原创 2024-07-26 15:33:29 · 594 阅读 · 0 评论 -
《数据建模-经典教程》读书笔记十:物理数据模型
1)Rolldown 是种最常见的反规范化技术,关系中的父实体将消失,父实体中所有的列和关系都被下移至子实体。子实体出现在一个关系线标示有“多”的一侧,其中还含有返回到父实体的外键,父实体出现在关系线标识有“1”的一侧。例如,可以将反规范化的公司信息添加进含有员工信息的实体,因为通常在检索员工信息时,其公司信息也可能需要一并检索。1)当保留父实体而替代子实体显得更有意义时,即当父实体的使用频率要明显高于子实体时,或者父实体中保存有某些规则或特殊列时,此时保留父实体显得更有意义。2、ROLLUP反规范化。原创 2024-07-26 15:24:43 · 400 阅读 · 0 评论 -
《数据建模-经典教程》读书笔记九:逻辑数据模型
3)增大开发难度:抽象后,需要富有经验的程序开发人员实现,当加载一个抽象结构时,需要将属性转化为值,或者在用抽象源填充抽象结构时,又需要将值转化为属性。属性重复违背第一范式的原因是:当给定一个主键时,可以在一个属性上得到一个以上的值。例如,想确保一个Employee(员工)必须有相应的 Start Date(入职日期),但是经抽象之后的数据模型,则不能保证此规则。正如1NF和2NF一样,我们仍可以提出很多疑问来发现隐藏依赖,这里所使用的问题模板为“[属性名]值的检索依赖于该实体内的其他属性吗?原创 2024-07-25 16:58:43 · 933 阅读 · 0 评论 -
《数据建模-经典教程》读书笔记八:概念模型
仅一张纸就可以帮助我们理解非常复杂的事务,包括业务流程、应用需求,甚至在整个行业中,使具有不同背景和角色的人就某些概念,相互交流、理解,就存在的问题进行讨论并达成一致。是否需要对一个新的业务提案进行考察,是否需要为新的业务提案建立模型,即“将要”视角。关系数据模型需要描述所有的业务规则,所以我们在关系概念层的目标就是明确实体间的相互关系,清晰掌握所有的规则。通过为项目开发建立易于理解的概念模型,将极大地增加我们认知概念的不同定义、在项目范围内的不同解释等各类问题的机会,节约大量的时间和经费。原创 2024-07-25 15:56:42 · 572 阅读 · 0 评论 -
《数据建模-经典教程》读书笔记七:键
代理键是数据表的唯一标识符,它通常由一个固定大小的、无人工干预的、系统自动产生的计数器生成,代理键不具备任何业务含义(换言之你不能将月份标识“1”当作“月份”实体实例中的一月)。2)强制性:候选键不能为空,每个实体实例要求必须能被一个特定的候选键值标识,候选键取不同值的数目,始终与不同的实体实例数目一致。4)最小化:候选键中仅仅包含那些用于唯一标识实体实例的属性,假设列出由4个属性组合成的一个候选键,但其中仅仅只有3个是标识实体实例所必需的,那么只能用这3个属性构成候选键。一、理解候选键、主键及备用键。原创 2024-07-23 17:12:35 · 449 阅读 · 0 评论 -
《数据建模-经典教程》读书笔记六:关系
物理关系是具体的,依赖于实现技术的规则或作为被关联的物理结构间的导航路径,这些物理关系将最终变为RDBMS中的数据库约束,或变为 MongoDB 这种基于文档的数据库中的参照。对于两个实体间的关系,基数表示一个实体的多少实例与另一个实体的实例发生关联,基数由出现在关系域两端的符号表示,基数指定了一种可以被实施的数据规则。在读关系时,对于开始的父实例一侧,我通常还会使用“每个”,因为词语“每个”更便于指定一个实体实例与另一实体的多少个实例相关联,对我而言“每个”是比“一个”更喜欢使用的词语。原创 2024-07-03 17:10:44 · 325 阅读 · 0 评论 -
《数据建模-经典教程》读书笔记五:属性
例如,每一个表示金额的属性被设置为“数量域”,该域要求数字的长度上限为15且包括小数点后的两位,显然这是表示货币数额很好的一种方法,“销售总额”若被设置为“数量域”,则不允许如R2D2这样的值被添加。② 数据模型的交流性更强。②列表域类似于一个下拉列表,它由一个可选的有限值的集合组成,列表域是格式域的精简,如“订单状态代码”的格式域可以被置为Character(10),在此基础上该域可以由一个(Open、Shipped、Closed、Retured)列表域进一步精简。与列表域类似,范围域也是格式域的精简。原创 2024-07-03 16:58:18 · 309 阅读 · 0 评论 -
《数据建模-经典教程》读书笔记二 :为什么需要数据模型
逆向工程”(reverse engineering)这一专业术语,即表示根据现有的应用构建出数据模型的过程,不久前,一家制造业机构需要将一个已使用了25年的应用系统迁移到一个新的数据库平台,对于这个庞大的应用系统,为了掌握理解它的结构,我们将数据库逆向工程为一个数据模型。而诸如“联系”“有”等模糊的动词,或者缺少动词,将降低整个数据模型的精确性,正如我们不能准确理解一个句子的含义一样。数据建模的精确性指的是阅读模型时,其中的每一个符号和条目都是清晰、无二义性的。建模过程中,必须分析数据及数据间的关系。原创 2024-07-03 16:22:10 · 435 阅读 · 0 评论 -
《数据建模-经典教程》读书笔记一 数据模型
对于冰淇淋这个实例,为了有效描述各个类型以及它们之间的相互作用,显然数据模型是种更为精练的工具,而仅使用数据表单往往达不到这样的效果。比如,冰淇淋口味与大小之间的相互作用是什么?1)只包含类型:数据模型中通常无需显示,如巧克力或3匙,这样具体的数据,需要显示的是数据对应的概念或类型。比如,上述数据模型中显示的类型为冰淇淋口味,而非巧克力或香草这样具体的值,还显示了冰淇淋大小,而不是具体的值,1匙或2匙。数据模型是一组由符号、文本组成的集合,用以准确表达信息景观,达到有效交流,沟通的目的。原创 2024-07-03 15:34:07 · 300 阅读 · 0 评论