评《数据库原理、编程与性能》

数据、关系、对象
         --评《数据库原理、编程与性能》
                       杨希炀


  数据库--一个让人感到多么熟悉的名词。似乎懂得一点计算机知识的人都知道它,不少的程序员就是在学习数据库开发语言的过程中,走上程序设计之路的。然而竟有不少计算机科学本科生在临近毕业时,仍然认为编程就是学一门数据库开发语言,而会使用该语言工作就会挣大钱。多么幼稚、肤浅的想法!情况真的是如此吗!程序设计仅仅就是数据库开发吗?数据库就是学一门开发语言那么简单吗?若一位计算机科学专业的学生也要如此认为,我只能感到绝望!
  在进入本文的正题之前,先说一些题外话。这些话在心中憋了很久了,如梗在喉,不吐不快。
  时值今日,竟然还有这样多的人认为大学计算机本科开设的课程对于编程开发一点用都没有。操作系统没用、编译原理没用、数据库原理没用、汇编语言没用、离散数学没用、数据结构没用,总之原理性课程都毫无实用价值,学来浪费时间。虽说我国大学本科计算机科学教育的情况不容乐观,教材、教学内容确有老化之态,教学深度也远无法与欧美国家相比较。但这并不意味着学校开设的课程不具备科学性。姑且不论编程之于计算机科学,只是其冰山之一角,计算机科学之美亦并不仅局限于编程。
  我们先来看看原理性课程是否真的如表面上看起来那样毫无用处。不懂得进程、线程的运行机制,不懂得文件的逻辑和物理格式,写得出精致的程序吗?没学过编译原理,你知道程序设计有多难吗?没有经过设计系统程序的磨砺,你的编程能力永远不可能进入高阶。数据结构与算法的重要性更不必多说。可悲的是,无知的人尚情有可原,学过之后还是这样无知就不知道该如何形容了。
  你难道竟然不知道理论之于人,并不仅仅在于知识的传授,而更重要地方在于其对于自身知识结构体系的变迁、意识形态的升华与在对真理的漫长探索中思维的一次次碰撞以达至理解的逐层深入吗!急功近利的学习心态终究要尝到恶果的!
  回到我们文初的话题,数据库原理课程也绝不是学习一门开发语言那么简单。如果真是那样,数据库领域中又如何能够诞生出C.W.Bachman、E.F.Codd和James Gray三位获得图灵奖的大师呢?在计算机科学领域,数据库的理论与技术是发展得最快的,应用得最广的。因为今日之计算机,其最常见的用途就在于数据的存储与处理,而这正是数据库技术的研究与应用范围。
  下面,我们就来看看这本由James Gray作序的讲授数据库原理与现实商业性数据库产品相结合的书吧。本书最具特色的地方在于,两位作者清晰的笔触将繁复的数据库理论融入字里行间,对一些非常不易理解的地方加以强调和反复。很多模糊的地方是在学的过程中逐渐清晰起来的,让人头疼的知识点也将不再是那么令人难以捉摸了。
作者在应用领域丰富的开发经验赋予本书极快的知识更新及与现实大型数据库产品的巧妙融合。本书作为计算机科学教材,其知识性与理论性是必需的。而它又如何与实践相结合,这是经过了作者在写作过程中反复的思量与考虑。但凡数据库方面的理论书籍,其内容都特别丰富,本书亦不例外。
  数据库系统是由DBMS管理下的具有某种特定数据模式的数据元素集合。数据模式的类型也就决定了数据库系统的类型。以关系作为数据模式的数据库系统自然就称之为关系型数据库。这是数据库领域中理论最成熟、用途最广泛的数据库系统,也是本书的基础。而已经走向成熟,并逐渐在业界的高端产品得到应用的对象-关系数据库则成为本书讲述的重点。贯穿于全书的关于INFORMIX、DB2、ORACLE三种最新的对象-关系型数据库的类比讲解,使读者能够迅速的将理论知识与实际产品联系起来。既不会使人觉得理论过于抽象,又不会让人驻足于应用开发而无法深入理解技术内涵。
  正是这本书内容的丰富及其自身所具备深度使得这本书不太适合初学者。看过一两本数据库基本原理方面的书自是最好,数据结构方面的知识则是必备的。进入本书高级部分涉及数据库的逻辑与物理设计时,对指针的理解、搜索、内排序、外排序、索引技术、哈希表、B树和B+树结构的掌握,无不对你学习数据库设计有很大的助益。
  数据库自身的理论性很强,关系代数中的除法运算就颇令人费解,有了离散数学的基础,从而对笛卡尔乘积原理理解的相当透彻的话,除法就不会显得那么难懂。因为关系代数中的除法实际上就是笛卡尔乘积的逆运算。阿姆斯特朗公理、函数依赖和范式理论其理论基础正好是离散数学领域中的命题逻辑和谓词逻辑。计算机科学中各子分类学科的结构关系再一次得到体现。
  本书既强调理论又强调应用,全书众多的定义、定理、详细的证明过程、丰富的应用实例使得本书翻之有望而生畏之感,读之又有畅快淋漓之觉。实在是一本不可多得的好书,值得大家认真去学。
  不积跬步,无以至千里;不积小流,无以成江海。驽马十驾,功在不舍。没有扎实的专业基本素养,决不能展翅高飞。学习是苦行僧的自修,是对世界本原、客观真理的艰苦的探索,是人生最富于生趣的游戏,是在痛苦与快乐之间来回激荡的水流。--这就是人的追求!
  下面再向读者推荐一些好书:
  《数据库系统导论》(第七版)C.J.Date著 机械工业出版社,数据库领域中的权威著作,专业理论书籍出版至第七版,在业界是罕见的,可以想见该书具有多高的水平。
  《数据库系统概念》(第三版)Silberschatz著 机械工业出版社 光看作者的名字就知道这肯定是一本好书。
  《数据库系统基础教程》清华大学出版社、《数据库系统实现》机械工业出版社 J.D.Ullman著 斯坦福大学五门数据库系列课程的前两门教材,《数据库系统实现》一书的层次在我国已相当于研究生课程水平。
  《数据库设计》Stephens著 机械工业出版社 一本不太厚也不太难的入门书。
  《数据挖掘--概念与技术》Jiawei Han(韩家炜)著 机械工业出版社 数据挖掘领域的国际知名专家韩家炜教授最新力作,系统而全面的介绍了数据挖掘技术,可读性甚佳。
  《数据库处理--基础、设计与实现》(第七版)D.M.Kroenke著 电子工业出版社 很少见的使用Access作为实例介绍数据库原理与设计的书,内容清晰易懂。
  《数据库系统概论》(第三版)萨师煊、王珊著 高教出版社 国内本科及研究生专选教材,两位作者均为我国数据库界的著名专家。

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章