IT 数据库设计:足迹第十四步了解数据库3范式(如何使用Navicat)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yuanyuhuib/article/details/79447028

我入门大数据的办法是:根据Excel建数据库表;

1)3范式核心:同类合并,异类分开;建表时才能字段总数最少,才能效率变高,节省资源;即使SQL会变复杂;

第一范式(1NF):

  数据表中的每一列(字段),必须是不可拆分的最小单元;

第二范式(2NF):

  数据库最好只有一个主键;

第三范式(3NF):
  要求表中的每一列必须与表名直接相关;

如Excel中不同的表格只有年份不同,年份抽离出来当字段使用;就叫同类合并,表面上因为合并增加了一个年份字段,实际上节约消失了多张表;

如下图违反异类分开;违反了第1范式,字段不符合原子性;也违反了第3范式,数量和价格应该另建一张表;异类合并令数量字段借助了物品字段,物品越多,导至数量字段倍数增加;

2)根据需求:将一堆Excel表,导入同一个库;

3)目标:导入的前提下,数据库和库中的字段越少越好,节省资源;

4)工具:excel(数据采集)+pgsql()+navicat(可视化工具);

5)PostGreSql数据库id类型叫BIGSERIAL(64);MySql数据库id类型叫INT;Oracal数据库id类型叫VARCHAR2;

#5.1)"id" bigserial:postgreSql中只能使用序列赋值id(64位id适应UUID),

必须空表时加序列,有旧数据时,id会出现双序列后果

#5.2)postgreSql建表时,不支持直接复制表:因为复制后会多表共用一个序列;
 

核心:总字段数要少;

猜你喜欢

转载自blog.csdn.net/yuanyuhuib/article/details/79447028