信息数学

信息是制造IT的重要元素,每个全面发展的控制工程师都应该具备的一项技能是信息的数学知识——特别是关系数据库的数学知识。大多数控制工程师最终将不得不建立或指定一个数据库来保存仪器数据、分析数据或生产报告数据。

文/丹尼斯·布兰德 二零零八年一月一日

信息是制造IT的重要元素,每个全面发展的控制工程师都应该具备的一项技能是信息的数学知识——特别是关系数据库的数学知识。大多数控制工程师最终将不得不建立或指定一个数据库来保存仪器数据、分析数据或生产报告数据。这就是理解数据库的底层结构和数学变得重要的原因。

今天的大多数数据库都是“关系型”的,这意味着它们由多个表组成,表之间的关系基于其中的公共值,例如名称或ID号。与结构糟糕的数据库相比,结构良好的数据库更快、更小,并且非常容易维护。许多IT顾问发现,他们花在修复错误数据库上的时间比花在创建新数据库上的时间多得多,这表明错误数据库设计的问题非常普遍,而且代价高昂。

结构良好的数据库是“规范化的”,但是规范化的规则通常不为人所知,也不被一致地应用。规范化的目的是消除冗余信息,使创建、读取、更新和删除数据库信息变得更加容易。数据库规范化得越好,需要的特殊应用程序代码或特殊使用规则就越少。

非规范化数据库通常具有特殊的使用规则,例如“确保删除表' A '中具有指定键值的所有行”。规范化数据库也是确保数据库准确满足其需求的关键过程。当需求模糊或不确定时,无法执行规范化。

注意你的元组

关系数据库表由行和列组成。列的名称称为属性。数据库中的单个行称为元组,这是一个数学术语,用于表示有序的对象列表。一行中的一个或多个属性构成元组的“键”。关系数据库的主要规则是,不能有两行具有相同的键属性值。这有时需要创建一个额外的属性来保存唯一的ID。

规范化规则

规范化的第一条规则是删除重复属性组,并创建一个新表来保存重复的数据。重复组是可以有多个值的元素,例如一本书可以有多个作者。在本例中,将为重复组创建一个新表,其中每个图书/作者对都有一行。这被称为“第一范式”。

第二种范式是通过查找仅依赖于多字段键的一部分的属性并将其移动到单独的表中来获得的。例如,在书/作者表中,可以有一个属性用于书的摘要;对于同一本书的所有行,这些都是相同的。

第三种范式是通过消除不依赖于键属性的列来获得的。例如,在book/author表中,可以有一个包含作者公司名称的属性。在第三范式中,将创建一个作者/公司表。

大多数设计良好的数据库至少是第三范式。还有一些额外的规则和规范化表单,但是对于小型数据库通常不需要这些。当您帮助设计或检查制造数据库时,请检查数据库是否至少是第三范式。

数据库结构和规范化规则通常只在大学水平的软件工程或计算机科学课程中教授,大多数工程师从未接受过正式的培训。如果您想扩展您在信息数学方面的技能,请在当地大学或社区大学参加数据库理论和结构的课程。它将为你提供宝贵的It技能。

作者信息
丹尼斯·布兰德(Dennis Brandl)是北卡罗来纳州卡里市BR&L咨询公司的总裁,该公司专注于制造业IT。打电话给他。dnbrandl@brlconsulting.com