数据库设计三范式 1.什么是设计范式? 设计表的依据。按照整个范式设计的表不会出现冗余 第一范式: 任何一张表都应该有主键,且每一个字段原子性不可再分 第二范式: 所有非主键字段,完全依赖主键,不能产生部分依赖 多对多?三张表,关系两个外键 第三范式: 所有非主键字段直接依赖主键,不能产生传递依赖 ...
分类:
数据库 时间:
2021-06-05 18:21:28
阅读次数:
0
反三范式其实是基于三范式所调整的,没有冗余的数据库未必是最好的数据库,完全按照第三范式做表的设计可能会降低查询效率(涉及多表查询,多表连接JOIN,临时表创建GROUP BY),有时候为了提高运行效率,就必须降低范式的标准,适量保留冗余数据。 ...
分类:
数据库 时间:
2021-04-19 15:18:02
阅读次数:
0
数据库:放数据的“仓库” 萌芽阶段 放在内存里——瞬时:程序结束,上次的数据就没啦 放在文件里——持久:进步了!能一直保存了(比如放在.txt文件里),但还是存在问题 不安全 不方便在中间插入、删除数据 但也不是一无是处,可以应用于配置文件:.xml文件、.ini文件等等 数据库的产生 核心:CRU ...
分类:
数据库 时间:
2021-04-01 13:06:58
阅读次数:
0
四、解决属性名和字段名不一致 1.问题 新建一个项目,使数据库与实体类字段名称不一致 public class User { private int id; private String name; private String password;//数据库中为pwd 查询出来初选问题: User{ ...
分类:
其他好文 时间:
2021-03-02 12:37:44
阅读次数:
0
1.第一范式(确保每列保持原子性) 必须不包含重复组的关系,即每一列都是不可拆分的原子项。 2.第二范式(确保表中的每列都和主键相关) 关系模式必须满足第一范式,并且所有非主属性都完全依赖于主码。注意,符合第二范式的关系模型可能还存在数据冗余、更新异常等问题。 3.第三范式(确保每列都和主键列直接相 ...
分类:
数据库 时间:
2021-01-11 10:57:51
阅读次数:
0
第一范式(1NF): 无重复列.第二范式(2NF): 非主属性完全依赖于主关键字. (表内依赖的唯一性)第三范式(3NF): 属性不依赖于其它非主属性. (消除表间的传递依赖) BCNF范式(3.5NF): 属性不依赖于其它任何属性. (消除所有属性的传递依赖) 注: a. 2NF提到的主关键字 与 ...
分类:
数据库 时间:
2020-12-14 13:16:18
阅读次数:
4
正文开始:时光荏苒,本课已经出了近半年,到今天(2016-6-26)为止,一共有1413名观众,非常感谢大家能有耐心听我的课。课程地址:http://www.hellobi.com/course/54此外,希望大家听完课以后去https://www.surveymonkey.com/r/CYQLCTD填写一下调查问卷,我也好有的放矢,对于我教的不好的地方做调整和改善。这节课我们来讲数据库的规范化(
分类:
数据库 时间:
2020-11-24 12:49:47
阅读次数:
11
第一范式(1NF): 要求数据达到原子性,使数据不可再分; 例如: 进行修改: 第二范式(2NF): 使每一行数据具有唯一性,并消除数据之间的“部分依赖”,使一个表中的非主键字段,完全依赖于主键字段; 经验上:常常是每个表都要设计主键,并通常多数情况下,使用一个自增长的int类型的字段当做主键 有2 ...
分类:
数据库 时间:
2020-10-21 20:56:27
阅读次数:
25
1冗余字段的定义 冗余字段是指反复出现的,重复的字段。也就是说在数据库中如果表a出现过字段b,表c再出现字段b,那么字段b就可以被看作是冗余字段了。 2冗余字段的弊端 如果参照三范式,那我们在设计数据库的时候就必须致力于消灭冗余字段,毕竟如果我们需要更新某条记录,而这条记录又恰好包含了冗余字段,那么 ...
分类:
数据库 时间:
2020-07-18 00:52:33
阅读次数:
101
业务数仓的DWD层一般有两个典型操作: ①因为是DWD层,所以要进行数据清洗。 ②因为数据来源于web项目的数据库,标的设计遵循三范式,因此在数仓里需要进行降维,以减少join次数。 在示例的8张表中,订单表,订单详情表,用户表,支付流水表字段与ODS层一致。对商品表的分类进行降维。增加二级分类,一 ...
分类:
其他好文 时间:
2020-07-02 00:05:06
阅读次数:
145