第1章 数据库基础
1.1 数据库基础知识
本节将介绍有关数据库的一些概念、数据库的发展史、数据库系统的特点和数据库系统的组成等数据库基础知识。
1.1.1 几个数据库应用案例
自从计算机被发明之后,人类社会就进入了高速发展阶段,大量的信息堆积在人们面前。此时,如何组织存放这些信息,如何在需要时快速检索出信息,以及如何让所有用户共享这些信息就成为一个大问题。数据库技术就是在这种背景下诞生的,这也是使用数据库的原因。
当今,世界上每一个人的生活几乎都离不开数据库了。如果没有数据库,很多事情几乎无法解决。例如,没有银行存款数据库,则取钱就会成为一个很复杂的问题,更不用说异地取款了。又如,如果没有手机用户数据库,难以想象计费系统会怎样工作;没有计费系统,人们也就不能随心所欲地拨打手机了。还有,没有数据库的支持,网络搜索引擎就无法继续工作,网上购物就更不用想了。可见,数据库应用在不知不觉中已经遍布了人们生活的各个角落。
1.1.2 相关数据库的名词
在学习具体的数据库管理系统和SQL语言之前,首先应该了解有关数据库的一些名词。因为笔者发现,即使学习过具体数据库管理系统的人员也通常会混淆这些名词,虽然这并不妨碍其表达出来的意思,但听起来总是很别扭。下面就是容易让人混淆的几个关于数据库的名词及其解释。
1.数据库
数据库(DB)是一个以某种组织方式存储在磁盘上的数据的集合。它通过现有的数据库管理系统(例如,Access、SQLServer和Oracle等)创建和管理。
数据库不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。数据库中存放的数据可以被多个用户或多个应用程序共享。例如,某航空公司票务管理系统的数据库,在同一时刻可能有多个售票场所都在访问或更改该数据库中的数据。
2.数据库应用系统
数据库应用系统是指基于数据库的应用软件,例如学生管理系统、财务管理系统等。数据库应用系统由两部分组成,分别是数据库和程序。数据库由数据库管理系统软件创建,而程序可以由任何支持数据库编程的程序设计语言编写,如C语言、VisualBasic、Java等。
3.数据库管理系统
数据库管理系统(DBMS)用来创建和维护数据库。例如,Access、SQLServer、Oracle、PostgreSQL等都是数据库管理系统。图1.1描述了DB、DBMS和数据库应用系统之间的联系。
4.关系数据库管理系统
关系数据库管理系统(RDBMS)是DBMS的一种,它用于创建和维护关系数据库。当今流行的大多数DBMS,其实都是关系数据库管理系统,如Access、SQLServer和Oracle等。
5.对象一关系型数据库管理系统
对象一关系型数据库管理系统(ORDBMS)也是DBMS的一种,它用于创建和维护面向对象数据库。当今*佳的对象一关系型数据库管理系统的代表是PostgreSQL。
1.1.3 计算机数据管理
数据管理的历史由来已久,早在计算机发明之前,人们就在纸或者竹简甚至在石头上记录各种数据,以此对数据进行管理和处理。
在发明计算机之后,人们开始逐渐使用计算机管理各种数据。这一过程经历了人工管理、文件系统、数据库系统、分布式数据库系统和面向对象数据库系统等几个阶段。
1.人工管理阶段
20世纪50年代中期以前,计算机还没有类似于硬盘的外部存储设备,只能将数据存储在卡片、纸带、磁带等设备上,所以,随机访问、直接存取数据在那个年代是不可能完成的工作。那时也没有专门管理数据的软件,数据和处理它的程序放在一起保存为一个文件,所以程序设计人员就充当了数据管理员的角色,负责数据的存储结构、存取方法和输入输出方式等。
由于数据和程序放在一起,所以根本就不能重用或允许其他程序共享数据。当需要编写使用同样数据的新程序时,还必须在新程序下手动重写同样的数据,因此造成了不同程序文件中存有大量重复数据的问题,这就是数据的冗余。
2.文件系统阶段
20世纪50年代后期至60年代中后期,计算机开始被用来进行数据处理,而且是大量用于数据处理。因此,数据存储、查询检索和维护的需求就变得非常重要。这一时期,可直接存取的硬盘(磁盘)成为了主要的外部存储器,而且还出现了**语言和操作系统。操作系统中的文件系统是专门管理外部存储器的数据管理软件。
在这一阶段,人们开始将程序和数据分开存储,即出现了程序文件和数据文件的区别,也使得数据文件可以被多个不同的程序多次使用。
……