项目1.1 认识数据库系统
数据库系统涉及很多基本概念,作为数据库系统的初学者,有必要从一些最基本的概念开始学习。这里先介绍数据库系统相关的基本概念。其他概念将根据需要在后续相应模块中介绍。
任务1.1.1 了解基本概念
1.数据
数据(Data)是数据库中存储的基本对象。数据在大多数人头脑中的第一印象就是数字。其实,数字只是最简单的一种数据,是数据的一种传统和狭义的理解。从广义上理解,数据的种类很多,文字、图形、图像、声音、学生的档案记录、货物的运输情况等都是数据。
可以对数据做如下定义:描述事物的符号记录称为数据。描述事物的符号可以是数字,也可以是文字、图形、图像、声音、视频等,数据有多种表现形式,它们都可以经过数字化后存入计算机。
为了解世界、交流信息,人们需要描述这些事物。在日常生活中直接用自然语言(如中文)描述。在计算机中,为了存储和处理这些事物,就要选择出这些事物的特征组成一个记录来描述。例如:在学生档案中,如果人们最感兴趣的是学生的姓名、性别、年龄、出生年月、籍贯、所在系别、入学时间,那么可以这样描述:(李明,男,18,2002,重庆,数字媒体学院,2020)。
这里的学生记录就是数据。对于上面这条学生记录,了解其含义的人会得到如下信息:李明是个大学生,2002年出生,男,重庆人,2020年考入数字媒体学院;而不了解其语义的人则无法理解其含义。可见,数据的形式还不能完全表达其内容,需要经过解释。所以数据和数据的解释是不可分的,数据的解释是指对数据含义的说明,数据含义即为数据的语义,数据与其语义是不可分的。
2.数据库
顾名思义,数据库(DataBase,DB)是存放数据的仓库。只不过,这个仓库是在计算机存储设备里的,且数据是按一定的格式存放的。
在科学技术飞速发展的今天,人们的视野越来越广,数据量急剧增加。过去,人们把数据存放在文件柜里,现在人们借助计算机的数据库技术科学地保存和管理大量复杂的数据,以便能方便而充分地利用这些宝贵的信息资源。
所谓数据库,是长期存储在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。
3.数据库管理系统
既然数据库能存放数据,人们自然就会提问:数据库是如何科学地组织和存储数据,并高效地获取和维护数据的呢?为此,人们开发了一个称为数据库管理系统(DataBase Management System,DBMS)的软件。
数据库管理系统是位于用户与操作系统之间的一层数据管理软件。它的主要功能包括以下几个方面。
(1)数据定义功能
DBMS提供数据定义语言(Data Definition Language,DDL),用户可以通过DDL方便地对数据库中的数据对象进行定义。
(2)数据操纵功能
DBMS还提供数据操纵语言(Data Manipulation Language,DML),用户可以使用DML操纵数据实现对数据库的基本操作,如查询、插入、删除和修改等。
(3)数据库的运行管理
数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。
(4)数据库的建立和维护功能
它包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能和性能监视、分析功能等。这些功能通常由一些实用程序完成。
数据库管理系统是数据库系统的一个重要组成部分。
4.数据库系统
数据库系统(DataBase System,DBS)是指在计算机系统中引入数据库后的系统构成,一般由硬件、软件(操作系统、数据库管理系统、开发工具、数据库应用系统等)、数据库管理员和用户构成。应当指出的是,数据库的建立、使用和维护等工作只靠DBMS远远不够,还要有专门的人员,这些人被称为数据库管理员(DataBase Administrator,DBA)。
在不引起混淆的情况下,常常把数据库系统简称为数据库。
数据库系统的层次可以用如图1-1所示的示意图来表示。
图1-1 数据库系统层次示意图
任务1.1.2 了解数据库系统的特点
与人工管理和文件系统相比,数据库系统主要有以下特点。
1.数据结构化
数据结构化是数据库与文件系统的根本区别。
在文件系统中,相互独立的文件记录内部是有结构的。传统文件的最简单形式是等长同格式的记录集合。例如:一个学生人事记录文件,每个记录都有如表1-1所示的记录格式。
表1-1 学生人事记录
在文件系统中,尽管记录内部已有某些结构,但记录之间没有联系。
数据库系统可以实现整体数据的结构化,这是数据库的主要特征之一,也是数据库系统与文件系统的本质区别。
在数据库系统中,数据不再针对某一应用,而是面向全组织,具有整体的结构化;而且存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录。而在文件系统中,数据的最小存取单位是记录。
2.数据的共享性高,冗余度低,易扩充
数据库系统从整体角度描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以极大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。
数据的不一致性是指同一数据不同副本的值不一样。采用人工管理或文件系统管理时,由于数据被重复存储,当不同的应用使用和修改不同的副本时就很容易造成数据的不一致。在数据库中实现数据共享,减少了数据冗余造成的不一致现象。
由于数据面向整个系统,是结构化的,不仅可以被多个应用共享使用,而且容易增加新的应用,这就使得数据库系统弹性大,易于扩充,可以适应各种用户要求。可以取整体数据的各种子集应用于不同的系统,当应用需求改变或增加时,只要重新选取不同的子集或加上一部分数据便可以满足新的需求。
3.数据独立性高
数据独立性是数据库领域中的常用术语,包括数据的物理独立性和数据的逻辑独立性。
数据的物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。也就是说,数据在磁盘上的存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。
数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。
数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改。
4.数据由DBMS统一管理和控制
数据库的共享是并发的共享,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一数据。
为此,DBMS还必须提供以下几方面的数据控制功能。
(1)数据的安全性(Security)保护
数据的安全性是指保护数据以防止不合法的使用造成数据的泄密和破坏。每个用户只能按规定对某些数据以某些方式进行使用和处理。
(2)数据的完整性(Integrity)检查
数据的完整性是指数据的正确性、有效性和相容性。完整性检查将数据控制在有效的范围内,或保证数据之间满足一定的关系。
(3)并发(Concurrency)控制
当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。
(4)数据库恢复(Recovery)
计算机系统的硬件故障、软件故障、操作员的失误及故意破坏也会影响数据库中数据的正确性,甚至会造成数据库部分或全部数据的丢失。DBMS必须具有将数据库从错误状态恢复到某一已知的正确状态(亦称为完整状态或一致状态)的功能,这就是数据库的恢复功能。
数据库管理阶段,应用程序与数据库之间的关系可使用图1-2表示。
图1-2 应用程序与数据库之间的关系
数据库是长期存储在计算机内有组织的、大量的、共享的数据集合。它可供各种用户共享,具有最小冗余度和较高的数据独立性。DBMS在数据库建立、运用和维护时对数据库进行统一控制,以保证数据的完整性、安全性,并在多用户同时使用数据库时进行并发控制,在发生故障后对系统进行恢复。
数据库系统的出现使信息系统从以加工数据的程序为中心转向以共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,保证了决策的可靠性。
目前,数据库已经成为现代信息系统不可分离的重要组成部分,并普遍应用于科学技术、工业、农业、商业、服务业和政府部门的信息系统。