1.1 数据库系统基本概念
数据库是数据管理的新手段和技术。使用数据库管理数据,可以保证数据的共享性、安全性和完整性。本节介绍数据库中数据的特点,介绍有关信息、数据、数据管理、数据库、数据库管理系统和数据库应用系统等术语的基本概念。
1.1.1 信息与数据
对我们每个人来说,“信息”和“数据”是两种非常重要的东西。“信息”可以告诉我们有用的事实和知识,“数据”可以更有效地表示、存储和抽取信息。
1.信息、信息特征及作用
在日常生活中,我们经常可以听到“信息(Information)”这个名词。什么是信息呢?简单地说,信息就是新的、有用的事实和知识。信息具有实效性、有用性和知识性的特性,它是客观世界的反映。信息具有如下4个基本特征。
① 信息的内容是关于客观事物或思想方面的知识。信息的内容能反映已存在的客观事实,能预测未发生事物的状态,能用于指挥控制事物发展的决策。
② 信息是有用的。信息是人们活动的必需知识,利用信息能够克服工作中的盲目性,增加主动性和科学性,可以把事情办得更好。
③ 信息能够在空间和时间上被传递。在空间上传递信息称为信息通信,在时间上传递信息称为信息存储。
④ 信息需要一定的形式表示:信息与其表现符号不可分离。信息对于人类社会的发展有重要意义,可以提高人们对事物的认识,减少人们活动的盲目性;信息是社会机体进行活动的纽带,社会的各个组织通过信息网络相互了解并协同工作,使整个社会协调发展;社会越发展,信息的作用就越突出;信息又是管理活动的核心,要想对事物管理好,需要掌握更多的信息,并利用信息进行工作。
2.数据、数据与信息的关系
数据(Data)是用于承载信息的物理符号。也就是说,数据是信息的一种表现形式,数据通过能书写的信息编码表示信息。尽管信息有多种表现形式,可以通过手势、眼神、声音或图形等方式表达,但数据是信息的最佳表现形式。由于数据能够书写,因而它能够被记录、存储和处理,从中挖掘出更深层的信息。
必须指出的是,在许多不严格的情况下,会把“数据”和“信息”两个概念混为一谈,称“数据”为“信息”。其实,数据不等于信息,数据只是信息表达方式中的一种;正确的数据可表达信息,而虚假、错误的数据所表达的是谬误,不是信息。
数据有以下4个特征。
① 数据有“型”和“值”之分。数据的型是指数据的结构,而数据的值是指数据的具体取值。数据的结构是指数据的内部构成和对外联系。例如,“学生”的数据由“学号”、“姓名”、“年龄”、“性别”、“所在系”等属性构成,其中“学生”为数据名,“学号”、“姓名”等为属性名(或称数据项名);“课程”也是数据,由“课程编号”、“课程名称”、“课时数”等数据项构成;“学生”和“课程”之间有“选课”的联系。“学生”和“课程”数据的内部构成及其相互联系就是学生课程数据的类型,而一个具体取值,如“08936,张三,23,男,计算机系”,就是一个学生数据的值。
② 数据受数据类型和取值范围的约束。数据类型是针对不同的应用场合设计的数据约束。根据数据类型不同,数据的表示形式、存储方式及能进行的操作运算各不相同。在使用计算机处理信息时,我们应当对数据类型特别重视,为数据选择合适的类型,千万马虎不得。常见的数据类型有数值型、字符串型、日期型和逻辑型等,它们具有不同的特点和用途。数值型数据就是我们通常所说的算术数据,能够进行加、减、乘、除等算术运算;字符串型数据是最常用的数据,可以表示姓名、地址、邮政编码及电话号码等类数据,还能进行查找子串、取子串和连接子串的运算操作;日期型数据适合表达日期和时间信息;逻辑型数据能够表达“真”和“假”、“是”和“否”等逻辑信息。
数据的取值范围亦称数据的值域,如学生性别的值域是{"男","女"}。为数据设置值域是保证数据的有效性、避免数据输入或修改时出现错误的重要措施。
③ 数据有定性表示和定量表示之分。我们在表示职工的年龄时,可以用“老”、“中”、“青”定性表示,也可以用具体岁数定量表示。由于数据的定性表示是带有模糊因素的粗略表示方式,而数据的定量表示是描述事物的精确表示方式,所以在计算机软件设计中,我们应尽可能地采用数据的定量表示方式。
④ 数据应具有载体和多种表现形式。数据是客体(即客观物体或概念)属性的记录,它必须有一定的物理载体。当数据记录在纸上时,纸张是数据的载体;当数据记录在计算机的外存上时,保存数据的硬盘、软盘或磁带就是数据的载体。数据具有多种表现形式,可以用报表、图形、语音及不同的语言符号表示。
1.1.2 数据管理与数据库
数据管理是数据处理的基础工作,数据库是数据管理的技术和手段。数据库中的数据具有整体性和共享性。
1.数据处理及分类
围绕着数据所做的工作均称为数据处理(Data Processing)。数据处理是指对数据的收集、组织、整理、加工、存储和传播等工作。数据处理工作分为如下3类。
① 数据管理:其主要任务是收集信息,将信息用数据表示,并按类别组织保存。数据管理的目的是为各种使用和数据处理快速、正确地提供必要的数据。
② 数据加工:其主要任务是对数据进行变换、抽取和运算。通过数据加工,人们会得到更有用的数据,以指导或控制人的行为或事物的变化趋势。
③ 数据传播:通过数据传播,信息在空间或时间上以各种形式传递。在数据传播过程中,数据的结构、性质和内容不改变。数据传播会使更多的人得到信息并且更加理解信息的意义,从而使信息的作用充分发挥出来。
2.数据管理及作用
在数据处理中,最基本的工作是数据管理(data management)工作。数据管理是其他数据处理的核心和基础。具体地讲,数据管理工作应包括如下3项内容。
① 组织和保存数据:数据管理工作要将收集到的数据合理地分类组织,将其存储在物理载体上,使数据能够长期地被保存。
② 进行数据维护:数据管理工作要根据需要随时进行插入新数据、修改原数据和删除失效数据的操作。
③ 提供数据查询和数据统计功能:数据管理工作要提供数据查询和数据统计功能,以便快速地得到需要的正确数据,满足各种使用要求。
数据管理在实际工作中的地位很重要。我们周围有许多人从事各种行政管理工作,这些管人、管财、管物或管事(人、财、物和事统称为事务)的工作实际上就是数据管理工作。在事务管理中,事务(人、财、物和事)以数据的形式被记录和保存。例如在财务管理中,财务科通过对各种账本的记账、对账或查账等实现对财务数据的管理。传统的数据管理方法是人工管理方式,即通过手工记账、算账和保管账的方法实现对各种事务的管理。计算机的发展为科学地进行数据管理提供了先进的技术和手段,目前许多数据管理工作采用计算机方法进行,而数据管理(即信息或事务管理)也成了计算机应用的一个重要分支。
3.数据库及性质
数据库(DataBase,DB)是一个按数据结构来存储和管理数据的计算机软件系统。数据库的概念实际上包括两层意思:① 数据库是一个实体,是能够合理保管数据的“仓库”,用户在该“仓库”中存放要管理的事务数据,“数据”和“库”两个概念结合成为“数据库”;② 数据库是数据管理的新方法和技术,能够更合理地组织数据,更方便地维护数据,更严密地控制数据,更有效地利用数据。
在数据库技术出现之前,人们采用“数据文件”方法进行数据管理。数据库方法与文件方法相比,具有以下两个明显的进步特征。
(1)数据库中的数据具有数据整体性
数据库中的数据保持了自身完整的数据结构,该数据结构是从全局观点出发建立的;而文件中的数据一般是不完整的,其数据结构是根据某个局部要求或功能需要建立的。从设计系统的思想方法讲,数据库方法是面向对象的方法,而文件方法是面向过程的方法。数据库要保持数据(即事务)自身的结构完整,强调站在全局的角度设计数据结构,并以数据库为基础进行功能设计;文件系统(用文件方法建立的数据管理系统)则是站在具体要实现的功能角度上考虑数据结构,按各个具体功能需要分别组织数据,数据完全依附于功能需要。让我们通过下面的简单例子来说明数据库的数据整体性特征的意义。
如果按数据库方法设计一个“职工”的数据,应深入到所有使用“职工”数据的部门进行了解,并将得到的信息综合后,才能得出“职工”的数据结构。例如,要到人事处、财务处、校医院、科研处等每个与“职工”数据相关的地方,了解包括职工的一般情况、工资情况、身体情况及科研情况的综合内容,这种综合内容为“职工”数据的内部组成,它可以用下面结构表示:
职工(职工编号, 姓名, 性别, 出生日期, 家庭住址, 职务,职称, 政治面貌, 基本工资, 附加工资, 身体状况, 病史情况, 业务特长, 主要科研成果)
如果是按文件方法设计一个“职工”的数据,则需要为人事处、财务处、校医院、科研处等建立不同的“职工”数据文件(职工1,职工2,职工3,职工4),以满足各部门对于“职工”数据的要求。设这些“职工”数据文件的记录结构为:
职工1(职工编号, 姓名, 性别, 出生日期, 家庭住址, 职务, 职称, 政治面貌) 职工2(职工编号, 姓名, 性别, 基本工资, 附加工资) 职工3(职工编号, 姓名, 性别, 出生日期, 身体状况, 病史情况) 职工4(职工编号, 姓名, 性别, 出生日期, 职务, 职称, 业务特长, 主要科研成果)
从上例可以看出,在数据库中使用的“职工”数据全面反映了职工的各个特征,消除了大量的数据冗余;而文件系统中的“职工”数据则是从不同的侧面反映职工的某些特征,尽管使用了4个不同的数据文件表示“职工”,但无论哪个数据文件都不能完整表示职工情况。
(2)数据库中的数据具有数据共享性
文件系统的数据文件是为满足某一个功能模块的使用要求而建立的,数据与功能程序是一一对应的。文件系统中的数据与功能程序之间存在着非常紧密的相互依赖关系,即数据离开相关的功能程序就失去了它存在的价值,功能程序如果没有数据支持就无法工作。数据库中的数据是为众多用户共享其信息而建立的,摆脱了具体程序的限制和制约。
数据库的数据共享性表现在如下两方面:
① 不同的用户可以按各自的用法使用数据库中的数据。数据库能为用户提供不同的数据视图,以满足个别用户对数据结构、数据命名或约束条件的特殊要求。
② 多个用户可以同时共享数据库中的数据资源,即不同的用户可以同时存取数据库中的同一个数据。
数据共享性不仅满足了各用户对信息内容的要求,同时满足了各用户之间的信息通信要求。在上述例子中,数据库中的“职工”数据是为人事处、财务处、校医院、科研处等部门共同使用的,其中人事处可以按“职工1”、财务处可以按“职工2”、校医院可以按“职工3”、科研处可以按“职工4”的结构形式使用数据,它们使用共同的“职工”数据源。“职工”数据不仅能为现有的各个应用功能提供数据,而且由于其自身结构是完整的,还可以为今后需要实现的功能或其他应用系统提供相应的信息。
1.1.3 数据库管理系统与数据库应用系统
数据库管理系统是提供数据库管理的计算机系统软件,数据库应用系统是实现某种具体信息管理功能的计算机应用软件。数据库管理系统为数据库应用系统提供了数据库的定义、存储和查询方法,数据库应用系统通过数据库管理系统管理其数据库。一般来说,数据库应用系统安装在客户端,由专门的开发系统或语言设计;数据库管理系统及其数据库安装在服务器端;它们之间通过数据访问技术进行数据通信。
1.数据库管理系统
数据库管理系统(DataBase Management System,DBMS)是专门用于管理数据库的计算机系统软件。数据库管理系统能够为数据库提供数据的定义、建立、维护、查询和统计等操作功能,并完成对数据完整性、安全性进行控制的功能。
在数据库管理系统的操作功能中:数据库定义功能是指为说明数据库中的数据情况而进行的建立数据库结构的操作,从而建立起数据库的框架;数据库建立功能是指为数据录入提供操作平台和方法,使数据入库方便、快捷;数据库维护功能是指对数据的插入、删除和修改操作,其操作能满足数据库中信息变化或更新的需求;数据库查询和统计功能是指通过对数据库的访问,为实际应用提供需要的数据。
数据库管理系统不仅要为数据管理提供数据操作功能,还要为数据库提供必要的数据控制功能。数据库管理系统的数据控制主要指对数据安全性和完整性的控制。数据安全性控制是为了保证数据库的数据安全可靠,防止不合法的使用造成数据泄露和破坏,即避免数据被人偷看、篡改或搞坏。数据完整性控制是为了保证数据库中数据的正确、有效和相容,防止不合语义的错误数据被输入或输出。
数据库管理系统的目标是让用户能够更方便、更有效、更可靠地建立数据库和使用数据库中的信息资源。数据库管理系统不是应用软件,不能直接用于诸如工资管理、人事管理或资料管理等事务管理工作,但数据库管理系统能够为事务管理提供技术和方法、应用系统的设计平台和设计工具,使相关的事务管理软件很容易设计。也就是说,数据库管理系统是为设计数据管理应用项目提供的计算机软件,利用数据库管理系统设计事务管理系统可以达到事半功倍的效果。我们周围有关数据库管理系统的计算机软件有很多,其中比较著名的系统有Oracle、Informix、Sybase以及本书后面介绍的SQL Server。
2.数据库应用系统
凡使用数据库技术管理数据(信息)的系统都称为数据库应用系统(database application system)。一个数据库应用系统应携带有较大的数据量,否则它就不需要数据库管理。数据库应用系统按其功能可以被划分为3类:数据传递系统、数据处理系统和管理信息系统。数据传递系统只具有信息交换功能,系统工作中不改变信息的结构和状态,如电话、程控交换系统就是数据传递系统。数据处理系统通过对输入的数据进行转换、加工和提取等一系列操作,从而得出更有价值的新数据,其输出的数据在结构和内容方面与输入的源数据相比有较大的改变。管理信息系统是具有数据的保存、维护和检索等功能的系统,其作用主要是数据管理,我们通常所说的事务管理系统就是典型的管理信息系统。
一个实际的数据库应用系统往往不受这3类系统的限制,它会同时具有数据传递、数据管理和数据处理的多种功能,这使我们无法严格地区别它是数据处理系统还是管理信息系统。对于一个数据库应用系统,由于它拥有巨大的数据量,就必须具有管理信息系统的功能,因此管理信息系统应该是数据库应用系统的核心。
数据库应用系统的应用非常广泛,可以用于事务管理、计算机辅助设计、计算机图形处理及人工智能等系统中,即所有数据量大、数据成分复杂的地方,都可以使用数据库技术进行数据管理工作。
3.管理信息系统
管理信息系统(Management Information System,MIS)是计算机应用领域的一个重要分支。管理信息系统帮助人们完成原来需要手工处理的复杂工作,不仅能明显地提高工作效率,减小劳动强度,而且能提高信息管理的质量和管理水平。因而,管理信息系统不是简单地模拟手工劳动,它要更合理地组织数据,更科学地管理数据,为事务发展提供控制信息,为事务变化提供发展趋势信息和变化规律信息。
管理信息系统有以下两个突出特点:
① 管理信息系统是以数据库技术为基础的。管理信息系统的核心是数据库。管理信息系统的数据存放在数据库中,数据库技术为管理信息系统提供了数据管理的手段,数据库管理系统(DBMS)为管理信息系统提供了系统设计的方法、工具和环境。我们学习数据库及数据库管理系统的基本理论和设计方法,其目的就是要掌握设计数据库的技术,学会设计、开发管理信息系统的方法,以便能够胜任数据库应用系统的设计、管理和应用工作。
② 管理信息系统一般采用功能选单方式控制程序。在这种程序控制方式中,系统功能按层次结构组织成系统功能选单,用户通过选择功能选项表达需要执行功能的意愿,系统根据用户的选择调用相应的功能模块。选单方式是一种典型的人机对话程序控制方式,具体工作流程如图1-1所示。
图1-1 管理信息系统的系统控制方法示意图
4.管理信息系统的功能
尽管管理信息系统是多种多样的,它们所管理的事务对象和操作方法各不相同,但管理信息系统所具有的数据操作功能是非常相似的。一般的管理信息系统都有输入数据、修改数据、删除数据、数据查询、数据统计及数据报表打印功能,其功能结构如图1-2所示。
图1-2 管理信息系统的功能模块结构
5.数据库系统的构成
一个数据库系统应由计算机硬件、数据库、数据库管理系统、数据库应用系统和数据库管理员五部分构成。