代码大全第18章

表驱动法

表,应该是比一些逻辑语法更高阶的东西吧,除了理论研究那些东西之外,使用代码操作数据库就是整个互联网工业的一个最大的核心内容。但是我没参与过这种商业项目的开发,更多的是实验室内的仿真模拟,所以一开始对于操作数据库的东西还是很陌生的,个人而言,先入为主的东西是根深蒂固的,很难从一些零零碎碎的知识点中打破常规的概念,所以要想成为一个合格的程序员,转变这种学生阶段的编程思维到现在项目级的编程思维是一个非常重点的环节。

各种语法各种结构都有一些特定的使用场景,没有那种通用的方法。所以找到适合使用表的场景,然后合理的构建表是非常重要的,总结下来:如何构建表结构?表里该存什么样的数据?两大问题。

直接访问表。

这部分内容最大的意义在于说明了“键值Key”的重要性,在很多可以直接访问数组的问题中,假如数组的维度不统一,无法构建统一的表,我们就需要键值来区分是哪一组数据。如果不使用表驱动的方法,仅靠逻辑语法来实现,我们就会需要把每种情况都罗列起来,这简直是一种非常愚蠢的做法。

键值,我们在一般问题中都可以找到这么一个关键的数据来做为键值,比如姓名,学号,messageID等等,但在找不到这种固定数据的情况下,我们需要自己来创建表键值。

确认键值或者创建自己的键值都是可以行得通的,但是最好的办法还是自己创建键值,这样可以增强我们系统的灵活性,方便我们修改。

索引访问表。

索引表就是键值的进阶,当我们的数据量够大的时候,我们可以把键值取出来做一个索引表,这样的话我们操作起来就更加的方便了,而不需要去操作整个主查询表。节省空间,操作方便,容易维护,是书中提到的三大优点。这种方法应该是目前最主流的用法了。

阶梯访问表。

当针对一些范围数据的时候,可以考虑阶梯访问表。这里要注意把阶梯表的查询操作提取成单独的子程序。


本章的一些内容实际上在我之前写算法的时候都用到过,但是能够把这些基础内容给总结出来是很厉害的。

 

你可能感兴趣的:(代码大全)