机器人学三大法则vs数据库三范式

美国著名小说家艾萨克·阿西莫夫(Issac Asimov)的机器人经典系列。阿西莫夫发明了机器人学这个术语,并提出了机器人学三大法则,然后在这三个简单的设计原理基础上创作了一系列经典作品——大约有50本书。无论作品的情节如何变化,实际上都是从不同的角度来阐释这三大设计原理。我想,在座各位对机器人三大法则都不应该陌生。

机器人不得伤害人类,或袖手旁观人类受伤害。

机器人必须服从人类命令,除非命令违反第一法则。

机器人必须自卫,只要不违背第一和第二法则。

这些恐怕是第一次出现在小说中的针对软件的设计原理了。虽然基于这三个设计原理的软件运行在虚构的机器人的“正电子脑”中,但我想这应该是软件设计原理的事实开端。从此以后,我们才看到大量优秀软件背后的设计原理。

 

而数据库三范式是:


1N:关系R中的属性都是不可分割的项.
2N:在1N的基础上,每个非主属性完全函数依赖于码.
3N:在2N的基础上,每一个非主属性既不部分依赖于码也不传递依赖于码.
 1N
  |   消除非主属性对码的部分函数依赖
 2N
  |   消除非主属性对码的传递函数依赖
 3N
  |   消除主属性对码的部分和传递函数依赖
 BCNF
  |   消除非平凡且非函数依赖的多值依赖
 4N

简单描述:
第三范式的要求如下:
1,每一列只有一个值
2,每一行都能区分。
3,每一个表都不包含其他表已经包含的非主关键字信息。
你说的两个表,如果每个都满足三范式,那么两个表也满足三范式。

虽然都是规则,我发现惊人的相似,或许万事万物都有这样的默契吧,规律存在。

posted @ 2011-04-22 07:21  王海龙(Heaven)  阅读(699)  评论(0编辑  收藏  举报