当前位置:   article > 正文

大数据面试常见问题(六)——建模部分_数据模型面试常见问题

数据模型面试常见问题

目录

1、建模的理解

2、知道表结构吗?有设计过表吗?

3、数据建模的思路

4、三范式

5、维度表vs事实表

6、你们怎么考虑建模

7、星型模型和星座模型的区别

8、什么是代理主键和业务主键?

9、事实表的三种类型

10、维度建模的一般过程


1、建模的理解

会使用图形化的界面来表示表格和表格之间的关系,以及表格本身的内容。这个表示数据之间的表达关系的图,就叫做ER图。

怎么去设计某个功能需要的表格,以及中间的小表,每个表格有哪些不同的关系等等,这个就是数据建模的过程

2、知道表结构吗?有设计过表吗?

(1)确定表名。表名要确保其唯一性,表的名称要与用途相符,简略、直观、见名知意。

(2)确定字段名称。字段名长度小于64个字符;字段名可以包括字母、汉字、数字、空格和其他字符;字段名不可以包括句号(。)、感叹号(!)、方括号([])和重音符号(、);字段名不可以以先导空格开头。

(3)确定字段类型。设计数据类型,满足字段的不同需要。

(4)确定字段属性。如字段大小、格式、默认值、必填字段、有效性规则、有效性文本和索引等。

(5)确定表中唯一能识别记录的主关键字段(主键)

3、数据建模的思路

1. 先要分析当前的功能模块的核心功能,以及这个核心功能和其他模块之间的业务关系,分析他们的业务是哪种业务模型(1-1 1- -1 -多)

2. 将他们的关系,编辑到业务模型中

3. 将业务模型转换成逻辑模型,查看在转换的过程中,中间还需要哪些不同的业务表格进行数据的存储和中转

4. 给中间表格进行其他的必要字段的添加

5. 给添加完字段信息的逻辑模型,转换成物理模型,最后再查看下有没有需要修改的字段和名字等等

6. 直接在工具中,生成对应的sql语句,在数据库中运行就可以了

4、三范式

第一范式:原子性,列不可在分

第二范式:在第一范式的基础上,每个非主键必须完全依赖于主键,而不能依赖于其他列

第三范式:在第二范式的基础上,每个非主键必学直接依赖主键,不能产生传递依赖

5、维度表vs事实表

事实表就是你要关注的内容,它是用来存储主题的主干内容的,事实表一般是没有主键的。数据的质量完全由业务系统来把握。

维度表就是观察事物的角度,维度表一般是有主键的。

6、你们怎么考虑建模

先添加一个CDM,进行表格核心字段的编写,在每个表格上面,去表达他们的业务关系和逻辑,连接完成后,将当前的业务模型,转换成逻辑模型,给自动出现的中间的业务小表,添加其他必要字段信息,最后转换成物理模型。

7、星型模型和星座模型的区别

星型模型:核心是一个事实表及多个非正规化描述的维度表组成。

雪花模型:它是星型模型的扩展,不同的是维度表被规范化,进一步分解到附加表中。

星座模型:由多个事实表组合,维表是公共的,可以被多个事实表共享。星座模型是数据仓库最常使用的模型。

各自优缺点

雪花模型的优点:雪花模型的优点是减少了数据冗余

雪花模型缺点:在雪花模型需要事实表和维度表之间的连接较多,因此查询性能会相对较低

星型模型的优点:很多的统计情况下,不需要和外表关联进行查询和数据分析,因此效率相对较高。

星型模型的缺点:数据冗余

8、什么是代理主键和业务主键?

代理主键是纯数字为了记录数据的变量情况,而业务主键是基于业务系统,可能是数字也有可能是字符,主要是为了确保唯一的记录。

比如订单编号对应不同的状态,那么订单编号就是业务主键无论订单状态如何变化,订单编号都是不变的。

在数仓中为了记录订单每次变化的情况,我们可以通过代理主键(可以是自从生产的一个序列的序号纯数字)来记录每次状态的变化情况。

这一点跟业务系统的业务主键不一样,通过代理主键作为事实表的外键,对事实表的字段分类(维度,度量)可以做到比较清晰

9、事实表的三种类型

事务事实表周期快照事实表和累积快照事实表。

10、维度建模的一般过程

选择业务过程声明粒度确定维度确定事实。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/496757
推荐阅读
相关标签
  

闽ICP备14008679号