第一章 概述
第二节 为什么要使用数据库
老田:我们来打个比方,如图1-1所示,你看看是不是类似这样的管理呢?
图1-1 Excel表
小天:对啊,我觉得一目了然。
老田:那么当遇到频繁地做下面几种操作的时候你烦不烦:
(1)添加新员工;
(2)部门主管换电话了;
(3)部门换主管了;
(4)换公司领导了;
(5)多个员工换分公司;
(6)某个员工换部门;
(7)当员工数量超过500人。
接下来我们模拟做一下下面这几件事。
添加新员工:总体来说这个只要员工的归属资料齐全的话还是比较轻松的。万一不齐全就只好慢慢地一行行地查了。
部门主管换电话:如果你还不知道Excel可以全文搜索和替换的话呢,就只能一行行地改了,如果恰恰你之前录入某人资料的时候打错字了的话……
小天:擦汗ing……
老田:部门换主管,如果这个主管是直接走人了倒也干脆,否则的话先把新换上来的主管资料逐行改了还要继续为他安排新的工作。
当然,这些如果是数据量少其实都不是大问题了,但这个公司如果是中石油、中移动,那么数据量应该是不上万也是千吧?
还有个最严重的问题,你无法保证不会重复添加数据。
小天:别说啦,你说的这些情况我其实早烦透了,但是这些问题是否在你所谓的数据库中就解决了?如果真解决了,那快教我怎么用吧。
老田:当然解决了,因为我接下来要给你说的是关系型数据库,所以这些让人凌乱的关系问题都可以迎刃而解。比如上面这个难题,我们用数据库创建如下三张数据表,一次就解决了,以后再也不用担心那些麻烦事。
(1)分公司表
(2)部门表
(3)员工表
老田:发现上面三张表之间的关系没有?有什么好处?
小天:发现了,公司表中全部是各分公司的信息。部门表中全部是部门的信息,同时有一个项是说明这个部门属于哪一个分公司。员工表中全部是员工个人信息,同时也有一个项目来说明其属于具体哪一个部门。这样可以顺着关系一层层地理清楚某个员工具体属于某个公司的某个部门。同时,要调动一个员工,只需要更改员工所属部门就可以了。要改变某个主管的信息也非常简单,直接改变就是了,因为一个主管实际上在数据库中只存在一条记录。但是这个要做成数据库应该很困难吧,一张表就可以搞定的,要写这么多内容。
老田:其实非常简单,当你学完本书第4章之后,你就会发现,原来一切如此简单。我现在就不用给你数据库的全部代码了,因为我就是想调下你的胃口,哈哈。我们说要学好一门技术,就必须一步步来,而不是一步登天。毕竟我们学的是科学,不是修真,即使修真也是一步步来的,否则让你直接去渡劫,一次玩完。