学好数据库,走到哪儿都不怵!
 
林林在大学期间有过一段实习经历,在实习的过程中她不经意间发现自己工作的地方居然和一个著名软件公司相距咫尺。很快她就知道该公司采用的是国际化的管理模式,效益非常好,是盛产“IT精英”的好地方,于是她便产生了×××该软件公司的念头。不过打听之后林林却抽了一口冷气:公司用人非常苟刻,尽管前来应聘的都是大学生中的佼佼者,但淘汰率仍高达90%,更可气的是该公司基本不会给女性晋升管理层的机会,所以直接应聘几乎没有可能。然而她没有放弃,她选择了另外一种方式——“曲线救国”。
在工作之余,林林走遍了全市的大街小巷,搜集了所有同类产品的相关资料,对接触过该公司软件产品的人群进行咨询。
上至政府高官、公司老板,下至学生、公司职员,她都悉心请教不厌其烦。两个月下来,林林瘦了一圈,但她却整理了近百页的调查分析报告。在这些报告中,她提供了各种准确数据,分析了软件公司的业务模式和不同人群的用户需求,以及同类软件产品市场的发展动态等,更重要的是,林林发现了该公司市场覆盖的盲点和潜在的危机,而且附上了自己的建议,当然还有求职申请。
当这饱含林林心血的调查报告通过有效渠道送达公司总裁的案头后,该公司领导层当天即召开公司会议,就林林提供的材料一一进行讨论。一周后,该公司总裁亲自驾车邀林林×××。
后来林林的同事告诉她,当时公司就要不要她直接进入管理层进行了非常激烈的争论,因为软件行业的特点该公司管理层不接纳女性似乎成了惯例。但最后总裁发话:“用事实说话,我看林×××所做的诸位不一定都能做到,那么你们能呆在这里开会她为什么不能?再说,这样的人才我们如果不加以重用,我们的竞争对手可不会不要,那样将使我们面临更大的威胁!”
对于公司而言,也许一个普通的应届生并不是他们所需要的,他们需要的是能直接为公司创造价值的“人才”。所以,在做任何事情之前,如果我们能做到“知己知彼”,充分了解对方的各种信息,明白企业到底需要什么,从而作出相应的反应和对策,无疑是最好的。其实,做技术开发亦是如此!
数据库的应用在我们的生活和工作中已经无处不在,无论是一个小企业的OA系统,还是中国移动的运营系统,似乎都离不开数据库的应用。对于大多数应用程序来说,不管它们是Windows桌面应用程序,还是Web应用程序,存储和检索数据都是其核心功能。所以针对数据库的开发已经成为软件开发的一种必备技能。如果说过去是“学好数理化,走遍天下都不怕”,那么,对于今天的软件开发者而言就是“学好数据库,走到哪儿都不怵!”。
 
趣味理解ADO.NET对象模型
为了更好地理解ADO.NET的架构模型的各个组成部分,我们可以对ADO.NET中的相关对象进行图示理解,如图5-3所示的是ADO.NET中数据库对象的关系图。
ADO.NET对象模型
图5-3  ADO.NET对象模型
我们可以用趣味形象化的方式理解ADO.NET对象模型的各个部分,如图5-4所示,可以看出这些对象所处的地位和对象间的逻辑关系。
ADO.NET趣味理解图
 ADO.NET趣味理解图
趣味理解
对比ADO.NET的数据库对象的关系图,我们可以用对比的方法来形象地理解每个对象的作用,如图5-4所示。
l         数据库好比水源,存储了大量的数据。
l         Connection好比伸入水中的进水笼头,保持与水的接触,只有它与水进行了“连接”,其他对象才可以抽到水。
l         Command则像抽水机,为抽水提供动力和执行方法,通过“水龙头”,然后把水返给上面的“水管”。
l         DataAdapter、DataReader就像输水管,担任着水的传输任务,并起着桥梁的作用。二者是有不同的,后面章节中将详细介绍。
l         DataSet则是一个大水库,把抽上来的水按一定关系的池子进行存放。即使撤掉“抽水装置”(断开连接,离线状态),也可以保持“水”的存在。这也正是ADO.NET的核心。
l         DataTable则像水库中的每个独立的水池子,分别存放不同种类的水。一个大水库由一个或多个这样的水池子组成。