第一章数据库入门
本章介绍数据库的入门知识,首先介绍什么是数据库,然后介绍数据库中的一些基本概念,接着介绍操纵数据库的不同方式,最后介绍操纵数据库时使用的语言SQL,在章节中我们还将穿插一些非常有趣的话题。
1.1 数据库概述
广义上来讲,数据库就是“数据的仓库”,计算机系统经常用来处理各种各样大量的数据,比如使用计算机系统收集一个地区的人口信息、检索符合某些条件的当地人口信息、当
一个人去世后还要从系统中删除此人的相关信息。我们可以自定义一个文件格式,然后把人口数据按照这个格式保存到文件中,当需要对已经存入的数据进行检索或者修改的时候就重新读取这个文件然后进行相关操作。这种数据处理方式存在很多问题,比如需要开发人员熟悉操作磁盘文件的函数、开发人员必须编写复杂的搜寻算法才能快速的把数据从文件中检索出来、当数据格式发生变化的时候要编写复杂的文件格式升级程序、很难控制并发修改。在计算机系统在各个行业开始普遍应用以后,计算机专家也遇到了同样的问题,因此他们提出了数据库理论,从而大大简化了开发信息系统的难度。数据库理论的鼻祖是CharlesW.Bachman,他也因此获得了1973年的图灵奖。IBM的Ted Codd则首先提出了关系数据库理论,并在IBM研究机构开发原型,这个项目就是R系统,并且使用SQL做为存取数据表的语言,R系统对后来的Oracle、Ingres 和DB2 等关系型数据库系统都产生了非常重要的影响。
1.1.1 “数据库”与“数据库管理系统”
前面我们讲到数据库就是“数据的仓库”,我们还需要一套系统来帮助我们管理这些数据,比如帮助我们查询到我们需要的数据、帮我们将过时的数据删除,这样的系统我们称之
为数据库管理系统(Database Management System,DBMS)。有时候很多人也将DBMS简称为“数据库”,但是一定要区分“数据库”的这两个不同的意思。
数据库管理系统是一种操纵和管理数据库的系统软件,是用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS 访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。它使用户能方便地定义和操纵数据,维护数据的安全性和完整性,以及进行多用户下的并发控制和恢复数据库。通俗的说,DBMS 就是数据库的大管家,需要维护什么数据、查找什么数据的话找它告诉他了,它会帮你办的干净利落。
1.1.2 数据库能做什么
数据库能够帮助你储存、组织和检索数据。数据库以一定的逻辑方式组织数据,当我们要对数据进行增删改查的时候数据库能非常快速的完成所要求的操作;同时数据库隐藏了数据的组织形式,我们只要对数据的属性进行描述就可以了,当我们要对数据库中的数据进行操作的时候只要告诉“做什么”(What to do)就可以了,DBMS会决定一个比较好的完成操作的方式,也就是我们无需关心“怎么做”(How to do),这样我们就能从数据存储的底层中脱身出来,把更多精力投入到业务系统的开发中。数据库允许我们创建规则,以确保在增加、更新以及删除数据的时候保证数据的一致性;数据库允许我们指定非常复杂的数据过滤机制,这样无论业务规则多么复杂,我们都能轻松应对;数据库可以处理多用户并发修改问题;数据库提供了操作的事务性机制,这样可以保证业务数据的万无一失。