标题很怪,确实很怪,这三者之间似乎没有什么联系。
在论坛看到了一个复姓的问题,有一个版友列出了一堆复姓,问怎么能依据这一堆复姓来判断一条记录上的姓名是复姓。版友蟹仔同志对此想法做了一个批判,并建设性的提出加一个姓的字段这个问题就解决了。我觉得还可以更简单一些,加一个姓的类别字段来处理,这个字段有三个值:单姓,复姓,特殊,进而还可以只设两个值:复姓和特殊。但凡是单姓的都无需处理,保持Null就行了。
这几天有版友问Null是什么意思,在群中卡里克同志说是空值,我以为理解为不确定搞不清可能更准确一些。不过这两种理解与想说的问题无关,与问题有关系的是想说Null本身是一种状态。所以在处理复姓问题时,我们可以将姓的类型值为Null看成为单姓。
但是Null在数据表中依存与字段和记录,如果没有记录是不是也表示一种状态呢?答案是肯定的。今日中午在群中玉树同志和开心同志讨论考核表的问题,一个企业对所有员工的考核内容一致,大体有20个考核项目。玉树同志和开心同志认为,每个员工的考核都需要20条记录。我告诉他们全然不必要!因为在我看来没有记录也是一种状态,是什么状态呢?是这个职工在这些考核指标上得到满分的状态。玉树同志和开心同志断然不同意这个说法,玉树同志坚持说,领导要求满分也要记录。呵呵。
我们不在数据表中为某个员工记录一条满分,就真的没有记录吗?答案是否定的。不记录,就是记录,用中国古典的哲学叫做无为而治,用现代管理科学叫做异常管理。一场速度很快的比赛中,裁判会采用什么方式来计分?记录每项的得分,还是每项的失分?答案是记录失分。记录得分和记录失分,在最终的统计结果上没有差异。问题只是效率上有优劣。
可能玉树和开心同志说了,你说的有道理,问题是领导的要求怎么满足呢?这个问题就是另一说了,输入和输出是两个阶段的两个事项。输入3条记录,不意味着不能输出20条记录。在数据库的处理中,这只是一个外连接查询问题。我们将一个考核的标准表,与一个考核结果表外连接查询一下,就可以加工出来每个职工都有20条记录的考核结果查询。
总结一下,用在记录上Null是这条记录某个字段的一种状态。对于存在一个标准,而不在使用时反映这个标准,也是一个状态。有了这些状态,我们就能得到我们需要的结果。而知道和能合理利用这些状态,就能极大的提高我们管理的效率。实际上这些观点与计算机程序设计无关,属于管理思路的问题,是列示负面清单,还是列示正面清单,还是列示所有清单的问题。
Access软件网交流QQ群(群号:198465573) |