达永编程网

程序员技术分享与交流平台

不严谨的EXCEL入门教程 第一节 数据表的设计规则

第一节 数据表的设计规则

没有教程在教学EXCEL的时候,涉及到数据表的设计规则。但建立良好的数据表设计规范,有助于在今后的EXCEL操作中减少错误、提升效率,并容易学习更专业的数据处理工具,如ACCESS数据库、SQL数据库、POWER BI等。

在数据库(为什么在这里要提到数据库,请在网络中搜索“数据库思维”,以利于后续的学习)设计中,三范式(第一范式、第二范式、第三范式)是用于确保数据表结构合理、减少冗余和提高数据完整性的设计原则。虽然Excel本身并不是一个关系型数据库,但遵守上述的三范式,可以为EXCEL的使用带来严谨的好习惯。

1.1第一范式(1NF):原子性

第一范式要求数据表中的每个字段都是不可再分的最小数据单元,即表中的每个属性(列)必须是原子的,不能包含多个值。

实例1:未满足1NF的情况

假设我们有一个学生选课表,记录学生选修的课程信息,如下所示:

学号

姓名

选修课程

1001

张三

数学、物理

1002

李四

英语、化学、生物

1003

王五

数学、英语

在这个表中,“选修课程”字段包含了多个值(多门课程),这违反了第一范式的要求。

满足1NF的设计

为了满足第一范式,我们需要将“选修课程”字段拆分成多个独立的字段,或者将表拆分成多行,确保每个字段只包含单一值:

学号

姓名

选修课程

1001

张三

数学

1001

张三

物理

1002

李四

英语

1002

李四

化学

1002

李四

生物

1003

王五

数学

1003

王五

英语

这样,每个字段都只包含单一值,满足了第一范式的要求。

1.2第二范式(2NF):消除部分依赖

第二范式要求在满足第一范式的基础上,表中的非主属性必须完全依赖于主键。如果主键是组合主键,则非主属性不能只依赖于主键的一部分。

实例2:未满足2NF的情况

假设我们有一个订单表,记录订单信息,如下所示:

订单号

客户号

客户姓名

产品号

产品名称

数量

001

101

张三

201

笔记本

2

002

102

李四

202

手机

1

003

101

张三

203

平板

3

在这个表中,主键是“订单号”,但“客户姓名”只依赖于“客户号”,而不是“订单号”。这违反了第二范式的要求。

满足2NF的设计

为了满足第二范式,我们需要将表拆分成两个表:一个客户表和一个订单表,确保非主属性完全依赖于主键:

客户表:

客户号

客户姓名

101

张三

102

李四

订单表:

订单号

客户号

产品号

产品名称

数量

001

101

201

笔记本

2

002

102

202

手机

1

003

101

203

平板

3

这样,客户表中的“客户姓名”完全依赖于“客户号”,订单表中的所有非主属性也完全依赖于“订单号”,满足了第二范式的要求。

1.3第三范式(3NF):消除传递依赖

第三范式要求在满足第二范式的基础上,表中的非主属性之间不能存在传递依赖关系。即非主属性之间不能相互依赖。

实例3:未满足3NF的情况

假设我们有一个课程表,记录课程信息,如下所示:

课程号

课程名称

教师姓名

教师职称

001

数学

王老师

教授

002

英语

李老师

副教授

003

物理

张老师

讲师

在这个表中,“教师职称”依赖于“教师姓名”,而“教师姓名”又依赖于“课程号”,这形成了传递依赖(课程号 → 教师姓名 → 教师职称),违反了第三范式的要求。

满足3NF的设计

为了满足第三范式,我们需要将表拆分成两个表:一个课程表和一个教师表,消除传递依赖:

教师表:

教师姓名

教师职称

王老师

教授

李老师

副教授

张老师

讲师

课程表:

课程号

课程名称

教师姓名

001

数学

王老师

002

英语

李老师

003

物理

张老师

这样,课程表中的“教师姓名”只依赖于“课程号”,教师表中的“教师职称”只依赖于“教师姓名”,消除了传递依赖,满足了第三范式的要求。

总结

通过上述Excel表的设计实例,我们可以看到:

第一范式(1NF):确保每个字段都是不可再分的最小数据单元。

第二范式(2NF):在满足1NF的基础上,非主属性必须完全依赖于主键。

第三范式(3NF):在满足2NF的基础上,非主属性之间不能存在传递依赖。

这些范式有助于减少数据冗余、提高数据完整性和一致性,是数据库设计中的重要原则。

上面的内容,包括下面的第二节,我没看到哪一本教EXCEL的书讲过这些,但请相信,建立严格的表设计思路,会为你今后的工作带来莫大的收益!这也是我的血泪教训,现在写出来,请大家不要重复踩?。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言