第1章 数据库概述
简而言之,数据库(DataBase)就是一个存储数据的仓库。为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上。通过数据库管理系统,可以有效地组织和管理存储在数据库中的数据。如今,已经存在了Oracle、SQL Server和MySQL等诸多优秀的数据库。本章将讲解的内容包括如下:
❑数据存储方式;
❑数据库泛型;
❑数据库在开发中作用;
❑SQL语言;
❑数据库访问技术;
❑常见数据库系统;
❑MySQL数据库的介绍;
❑如何学习数据库。
通过本章的学习,读者可以了解为什么要使用数据库?什么是数据库泛型?什么是SQL语言?如何访问数据库?常见的数据库有哪些等。同时,读者可以了解MySQL数据库的优势和如何获得MySQL数据库。最后,读者将会了解如何学习数据库。
1.1 数据库理论基础
数据库能够将数据按照特定的规律组织起来。那么,数据是如何存储的?数据库要遵守什么规则?数据库在什么地方使用?这些都是首先要了解的问题。本节将为读者介绍这些问题。
1.1.1 数据存储方式
如今数据库已经无处不在了。一个网站需要有数据库来存储数据;一个学校需要用数据库来存储学生和教师的信息;一个公司需要用数据库来存储员工的信息和公司的资料。要学习数据库,必须先要了解数据库是如何存储数据的。本小节将为读者介绍数据的存储方式。数据存储分为3个阶段即人工管理阶段、文件系统阶段和数据库系统阶段。
1.人工管理阶段
在计算机发展的早期,它的主要作用是进行科学计算。而且,计算机存储设备还没有发展起来?数据主要是存储在纸带、磁带等介质上,或者直接通过手工记录。
说明:美国人Herman Hollerith(1860~1929年)根据提花织布机的原理发明了穿孔片计算机,通过纸带来存储数据。在19世纪50年代,IBM最早把盘式磁带用在数据存储上。一卷磁带可以代替1万张打孔纸卡。随着技术的发展,逐渐出现了磁鼓、软盘、硬盘和光盘等存储设备。
这个阶段,数据都是依靠人工进行整理和保存的。使用这种方式来管理数据很不方便。例如,不便于查询数据、难以共享数据和不便于保存。现在,国内的一些部门还处在人工管理数据的阶段,还需要管理大量的纸质文件。
2.文件系统阶段
随着计算机操作系统的出现和硬件的发展,可以将数据存储在计算机的磁盘上。这些数据都以文件的形式出现,然后通过文件系统来管理这些文件。文件系统通过文件的存储路径和文件名称来访问文件中的数据。
文件系统可以很好的保存文件,使用起来也很方便。相对于人工管理阶段而言,文件系统使得数据管理变得简单。至少不用为了一个文件而翻箱倒柜的查了。但是,这些文件中的数据没有进行结构化处理,查询起来还不是很方便。
3.数据库系统阶段
随着数据量的增加和处理速度的要求,文件系统渐渐地不能满足数据管理的要求了。数据库系统阶段开始使用专门的数据库来管理数据。用户可以在数据库系统中建立数据库,然后在数据库中建立表,最后将数据存储在这些表中。
数据库是指长期存储在计算机内、有组织的和可共享的数据集合。简而言之,数据库就是一个存储数据的地方。表是数据库存储数据的基本单位。一个表由若干字段组成。例如,某个学校有个学生管理系统,其中的数据可以存储在名为student的数据库中。在student数据库中,可以为每个班级的学生建立一张表。表中包含学生的学号、姓名、性别和籍贯等信息。学号、姓名等就是这个表中的字段。可以根据这些字段来到学生的相应信息。
数据库和表都存储在磁盘上,但用户不必关心它们在磁盘上的具体位置。用户可以直接通过
数据库管理系统来查询表中的数据。现在使用最多的数据库是关系数据库。Oracle、SQL Server和MySQL等数据库都是关系数据库。关系数据库中的表都是二维表。
1.1.2 数据库泛型
数据库泛型就是数据库应该遵循的规则。数据库泛型也称为范式。目前,关系数据库最常用的4种范式分别是第一范式(1NF)、第二范式(2NF)、第三范式(3NF)和BCN范式(BCNF)。本小节将为读者简单地介绍一下范式的内容。
在设计数据库时,数据库需要满足的最低要求的范式是第一范式。第一范式的要求即表中不能有重复字段,并且每个字段不能再拆分。如果一个数据库连第一范式都不能满足的话,那就不能称之为关系数据库了。只有满足了第一范式的要求,才可以在这个关系数据库中创建表。
在满足第一范式的基础上,可以将数据库中进行进一步的细化。细化后可以使数据库满足第二范式的要求。依次进行细化,可以得到第三范式、BCN范式。
说明:例如,一个学生表中有学号、院系号和院系名这3个字段。因为学号可以决定是院系
名,院系号也可以决定院系名。因此,这个表不是第二范式。现在对该表进行细化,细化后生成两个表。第一个表有学号、院系号这两个字段。第二个表有院系号、院系名这两个字段。这样就满足了第二范式的要求。
通常情况下,如果一个数据库能够满足第三范式的要求,那么这个数据库就是一个很好的数据库了。当一个数据库达到第三范式的要求,数据库中基本上没有冗余的内容了。但是,有时为了满足查询速度等要求,可以有意识的让某些表有些冗余。这是为了提高整个数据库的性能。
因此,在设计数据库时,不一定要拘泥于达到第三范式或者BCN范式。只要数据库的设计能提高整个系统的性能,这就是一个合理的数据库。
1.1.3 数据库在开发中作用
现在大部分的管理系统和软件都需要使用数据库来存储数据。在开发过程中,数据库已经成为必不可少的一部分。本小节将为读者简单介绍一下数据库在开发中的作用。
在软件开发过程中,经常需要使用数据库来存储数据。例如,一个学校的学生管理系统就需
要数据库来存储学生的学籍信息、考试信息、教师的信息和课程信息等。再比如,银行的管理系统也需要数据库来存储信息。用户的银行账户、存款量、存款和取款的记录等信息都是存储在数据库中的。当用户向自己的账户里存款时,管理系统会在数据库中更新该用户的存款量。
笔者曾经开发过一个驾校的学员管理系统。在这个管理系统中,笔者就使用了MySQL数据库来存储管理员的信息、驾校学员的学籍信息和学员的考试信息等。然后通过网页的应用程序查询数据库中的数据、更新数据和删除数据。例如,管理员要登录系统就必须输入用户名和密码。然后网页的应用程序将管理员输入的用户名和密码和数据库表中的数据进行比较。如果表中存在这个用户名和密码,就允许管理员登录。
笔者还为某供电局开发过一个定值单管理的软件。在这个软件中,需要存储管理员的信息、用户的信息和定值单的信息等。笔者也是选择MySQL数据库来存储这些数据的。然后通过页面的应用程序来处理数据库中的数据。
说明:数据库的使用范围非常广泛,各行各业中都已经有了数据库的应用。例如,电力行业需要数据库来存储发电量、供电量和电费等信息;石油行业需要数据库来存储有关石油的数
据;金融行业需要使用数据库来存储各种金融数据。
总而言之,数据库已经成为了软件开发不可缺少的一部分。如果没有数据库,这个软件将无法获得数据,也无法将执行后的数据保存。
1.2 数据库技术构成
数据库技术的出现是为了更加有效地管理和存取大量的数据资源。简单地讲,数据库技术主要包括数据库系统、SQL语言和数据库访问技术等。本节将为读者介绍数据库技术的内容。
1.2.1 数据库系统数据库应用在哪些方面
很多读者认为数据库就是数据库系统(DataBase System,简称为DBS)。其实,数据库系统的范围比数据库大很多。数据库系统不是一个单纯的数据库,而是由数据库、数据库管理系统、应用开发工具等构成。很多时候,数据库管理员和用户也可以当成数据库系统的一份子。本小节将为读者介绍数据库系统的内容。
前面的章节对数据库已经进行了简单地介绍,数据库就是存储数据的地方。数据库管理系统
(DataBase Management System,简称为DBMS)是用来定义数据、管理和维护数据的软件。它是数据库系统的一个重要的组成部分。应用系统是需要使用数据库的软件。比如学员管理系统就是一个应用系统。这个应用系统需要数据库来管理它的数据。应用开发工具就是用来开发应用系统的。
除了上述的软件部分以外,数据库系统还包括数据库管理员和用户。因为,依靠单纯的数据库管理系统来管理数据库中的数据是不现实的。很多时候需要一些专门管理这些数据的专业人员。这些管理数据的专业人员就是数据库管理员(DataBase Administrator,简称为DBA)。通常在大型的公司都需要有专门的数据库管理员。例如,网易就有专业的DBA组,他们主要负责管理和维护数据库。用户一般不直接和数据库接触,而是通过应用系统来使用数据。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论