计算机数据管理的发展
1.数据和信息
在数据处理中,最常用到的基本概念就是数据和信息。
数据是指描述事物的符号记录。是用物理符号记录的可以鉴别的信息。包括文字、图形、声音等,他们都是用来描述事物特性的。
信息是指以数据为载体的对客观世界实际存在的事物、事件和概念的抽象反映。具体说是一种被加工为特定形式的数据,是通过人的感官或各种仪器仪表等感知出来并经过加工而形成的反映现实世界中事物的数据。
例如,某校学生档案中记录了学生的姓名、性别、年龄、出生日期、籍贯、所在系别、入学时间,下面的描述:
(张三平,男,19,1994,河南,计算机系,2013)就是数据。
这条学生记录,所表述的是:
张三平是个大学生,1994年出生,男,河南人,2013年考入计算机系,就是信息。
2.数据管理技术
数据管理技术具体就是指人们对数据进行收集、组织、存储、加工、传播和利用的一系列活动的总和,经历了人工管理、文件管理、数据库管理三个阶段。每一阶段的发展以数据存储冗余不断减小、数据独立性不断增强、数据操作更加方便和简单为标志,各有各的特点。
(1)人工管理阶段
这一阶段是指20世纪50年代中期以前,计算机主要用于科学计算,当时的计算机硬件状况是:外存只有磁带、卡片、纸带,没有磁盘等直接存取的存储设备;软件状况是:没有操作系统,没有管理数据的软件,数据处理方式是批处理。人工管理阶段的特点是:数据不保存、数据无专门软件进行管理、数据不共享、数据不具有独立性、数据无结构。这时期数据与程序关系的特点如图所示:
(2)文件系统阶段
这一阶段从20世纪50年代后期到60年代中期,计算机硬件和软件都有了一定的发展。计算机不仅用于科学计算,还大量用于管理。这时硬件方面已经有了磁盘、磁鼓等直接存取的存储设备。在软件方面,操作系统中已经有了数据管理软件,一般称为文件系统。处理方式上不仅有了文件批处理方式,而且能够联机实时处理数据。这时期数据与程序的关系如图所示:
(3)数据库系统阶段
20世纪60年代末数据管理进入新时代——数据库系统阶段。数据库系统阶段出现了统一管理数据的专门软件系统,即数据库管理系统。数据库系统是一种较完善的高级数据管理方式,也是当今数据管理的主要方式,获得了广泛的应用。这时期数据与程序之间的关系如图所示:
随着网络和信息技术的发展,以及应用领域的不同,又出现了分布式数据库系统、并行数据库系统和面向对象的数据库系统。
数据库系统
数据库系统DBS(DataBase System)是指引进数据库技术后的计算机系统,主要包括相应的数据库、数据库管理系统、数据库应用系统、计算机硬件系统、软件系统和用户。
1.数据库
数据库(DataBase)是具有统一结构形式、可共享的、长期储存在计算机内的数据的集合。数据库中的数据以一定的数据模式储存、描述,具有很小的冗余度、较高的数据独立性和易扩展性,可为不同的用户共享。
2.数据库管理系统
数据库管理系统(DBMS)位于用户与操作系统之间,是可借助操作系统完成对硬件的访问,并负责数据库存取、维护和管理的系统软件。它是数据库系统的核心组成部分,用户在数据库中的一切操作,包括定义、查询、更新以及各种控制都是通过DBMS进行的。
DBMS的基本功能如下:
(1)数据定义功能 在关系数据库管理系统(RDBMS)中就是创建数据库、创建表、创建视图和创建索引,定义数据的安全性和数据的完整性约束等;
(2)数据操纵功能 实现对数据库的基本操作,包括数据的查询处理,数据的更新(增加、删除、修改)等;
(3)数据库的运行管理 主要完成对数据库的控制,包括数据的安全性控制、数据的完整性控制、多用户环境下的并发控制和数据库的恢复,以确保数据正确有效和数据库系统的正常运行;
(4)数据组织、存储和管理对数据资源、用户数据、存取路径等数据进行分门别类地组织、存储和管理,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增、删、改等操作的时间效率;
(5)数据库的建立和维护功能 包括数据库的初始数据的装入,数据库的转储、恢复、重组织,系统性能监视、分析等功能;
(6)数据通信 DBMS提供与其他软件系统进行通信的功能。它实现用户程序与DBMS之间的通信,通常与操作系统协调完成。
目前,市场上有许多优秀的数据库管理软件,如Oracle、SQLServer、Informix、Sybase Visual Foxpro、Access等。MicrosoftAccess是在Windows环境下非常流行的小型数据库,使用Microsoft Access无需编写任何代码,只需通过简单的可视化操作就可以完成大部分数据库管理功能,本章以Microsoft Access 2010为例讲解数据库的概念。
3.数据库应用系统
数据库应用系统(DBAS)是指利用数据库系统资源开发的面向实际应用的软件系统。一个数据库应用系统通常由数据库和应用程序组成。它们都是在数据库管理系统支持下设计和开发出来的。
4.数据库管理员
数据库管理员(DBA)是指对数据库进行设计、维护和管理的专门人员。
数据库系统的组成结构如图所示:
数据库系统的特点
(1)数据共享性高、冗余度低 这是数据库系统阶段的最大改进,数据不再面向某个应用程序而是面向整个系统,当前所有用户可同时访问数据库中的数据。这样就减少了不必要的数据冗余,节约了存储空间,同时也避免了数据之间的不相容性与不一致性。
(2)数据结构化 即按照某种数据模型,将应用的各种数据组织到一个结构化的数据库中。在数据库中数据的结构化,不仅要考虑某个应用的数据结构,还要考虑整个系统的数据结构,并且还要能够表示出数据之间的有机关联。
(3)数据独立性高 数据的独立性是指逻辑独立性和物理独立性。数据的逻辑独立性是指当数据的总体逻辑结构改变时,数据的局部逻辑结构不变。由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必修改,从而保证了数据与程序间的逻辑独立性。数据的物理独立性是指当数据的存储结构改变时,数据的逻辑结构不变,从而应用程序也不必改变。
(4)有统一的数据控制功能 数据库为多个用户和应用程序所共享,对数据的存取往往是并发的,即多个用户可以同时存取数据库中的数据,甚至可以同时存取数据库中的同一个数据。为确保数据库数据的正确有效和数据库系统的有效运行,数据库管理系统提供了4个方面的数据控制功能:安全性、完整性、并发性数据恢复。
数据模型
数据模型所描述的内容通常由数据结构、数据操作和完整性约束3个要素组成。
1.数据结构
数据模型中的数据结构主要描述数据的类型、内容、性质以及数据间的联系等。数据结构是数据模型的基础,数据操作和约束都建立在数据结构上。不同的数据结构具有不同的操作和约束。
数据结构用于描述系统的静态特性。
2.数据操作
数据模型中数据操作主要描述在相应的数据结构上的操作类型和操作方式。数据库主要有查询和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。
数据操作用于描述系统的动态特性。
3.数据完整性约束
数据模型中的数据约束主要描述数据结构内数据间的语法、词义联系、他们之间的制约和依存关系,以及数据动态变化的规则,以保证数据的正确、有效和相容。例如,在学籍管理系统中,学生的“性别”只能为“男”或“女”;学生选课信息中的“课程号”的值必须取自学校已经开设课程的课程号等。
数据模型是数据库技术的关键,它的3个要素完整地描述了一个数据模型。
数据模型的分类
数据模型按照不同的应用层次分为概念数据模型、逻辑数据模型和物理数据模型。
1.概念数据模型
简称概念模型,它是一种面向客观世界、面向用户的模型;它与具体的数据库系统无关,与具体的计算机平台无关。概念模型着重于客观世界复杂事物的结构描述及它们之间的内在联系的描述。概念模型是整个数据模型的基础,最常用的是E-R实体联系模型(EntityRelationship Model)。
2.逻辑数据模型
又称数据模型,它是一种面向数据库系统的模型,该模型着重于在数据库系统一级的实现。概念模型只有在转换成数据模型后才能在数据库中得以表示。较为成熟的逻辑数据模型有层次模型、网状模型和关系模型。本章所讲述的Access就是基于关系模型的关系数据库。
3.物理数据模型
物理数据模型 又称物理模型,它是一种面向计算机物理表示的模型,此模型给出了数据模型在计算机上物理结构的表示。
E-R模型简介
E-R方法是“实体-联系方法”(Entity-Relationship Approach)的简称。它是描述现实世界概念结构模型的有效方法。
1.相关概念
建立E-R模型需要掌握以下几个概念。
(1)实体
客观存在,并可相互区别的事物被称为实体(entity)。实体可以是实实在在的客观存在,例如学生、教师、商店、医院;也可以是一些抽象的概念或地理名词,如地震、北京市。
(2)属性
实体所具有的特征称为属性(attribute)。一个实体往往有多个属性,如一个人可以具备姓名、年龄、性别、身高、肤色、发型、衣着等属性。属性的取值称为属性值,一个属性的取值范围称为该属性的值域或值集。
(3)联系
实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关系。联系有一对一、一对多、多对多3种,分别记为1∶1、1∶n、m∶n。如一个班级只有一个班主任,一个班主任只带一个班级,班级和班主任之间联系为1∶1;一个老师可以带多门课程,老师和课程之间联系为1∶n;一个学生可以选多门课程,一门课程可以供多个学生选修,学生选课联系为m∶n。
2.E-R模型的图示法
E-R模型可以用图的形式来描述现实世界的概念模型,称为E-R图。E-R图用矩形表示实体型,矩形框内写明实体名;用椭圆表示实体的属性,并用无向边将其与相应的实体型连接起来;用菱形表示实体型之间的联系,在菱形框内写明联系名,并用无向边分别与有关实体型连接起来,同时在无向边旁标上联系的类型(1∶1、1∶n或m∶n)。如图所示:
关系数据模型
关系数据库是当今主流的数据库管理系统,一个关系就是一个二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系模型。
要了解关系数据库,首先需对其基本关系术语进行认识。
1.关系术语
(1)关系
一个关系就是一个二维表,每个关系有一个关系名称。对关系的描述称为关系模式,一个关系模式对应一个关系的结构。其表示格式如下:
关系名(属性名1,属性名2,…,属性名n)
在Access中则表示为:表名(字段名1,字段名2,…,字段名n)
(2)元组
在一个关系(二维表)中,每行为一个元组。一个关系可以包含若干个元组,但不允许有完全相同的元组。在Access中,一个元组称为一个记录。例如,“课程”表就包含了7条记录。
(3)属性
关系中的列称为属性。每一列都有一个属性名,在同一个关系中不允许有重复的属性名。在Access中,属性称为字段,一个记录可以包含多个字段。例如,“课程”表就包含了5个字段。
(4)域
域指属性的取值范围。如课程号字段为99开头的6位数字。
(5)关键字
关键字又称码,由一个或多个属性组成,用于唯一标识一个记录。例如,学生表中的学号可以唯一地确定一个学生,所以学号可以作为学生表中的关键字。关键字的值不能够为空。一个表可以有多个关键字,在关系数据库中,只能选择其中一个作为主关键字,剩余的关键字称为候选关键字。
(6)外部关键字
如果关系中的某个属性或者属性的组合不是关系的主关键字,但它是另外一个关系的主关键字或候选关键字,则该属性称为外部关键字,也称为外键。外部关键字目的是和其他关系建立联系的。
2.实际关系模型
在关系模型中,信息被组织成若干张二维表,每张二维表成为一个二元关系。Access数据库往往包含多个表,各个表一般通过相同字段名构建联系。
在“学籍管理”数据库中“学生”、“课程”、“成绩”表之间的关系如图一所示。“学生”表和“成绩”表通过相同的字段“xh”(学号)相联系,“课程”表和“成绩”表通过相同的字段“kch”(课程号)相联系,构建了3个表的关系模型。该数据库中的3个表如图二所示,由3个表相联系得到的一个“学生成绩信息”查询如图三所示:
关系运算
关系运算是对关系数据库的数据操纵,主要是从关系中查询需要的数据。关系的基本运算分为两类,一类是传统的集合运算,包括并、交、差等;另一类是专门的关系运算,包括选择、投影、连接等。关系运算的操作对象是关系,关系运算的结果仍然是关系。
1.传统的集合运算
传统的集合运算要求两个关系的结构相同,执行集合运算后,得到一个结构相同的新关系。
对于任意关系R和关系S,他们具有相同的结构即关系模式相同,而且相应的属性取自同一个域。那么,传统的集合运算定义如下:
(1)并
R并S,R或S两者中所有元组的集合。一个元组在并集中只出现一次,即使它在R和S中都存在。
例如,把学生关系R和S分别存放2个班的学生,把一个班的学生记录追加到另一个班的学生记录后边,就是进行的并运算。
(2)交
R交S,R和S中共有的元组的集合。
例如,有参加计算机兴趣小组的学生关系R和参加象棋兴趣小组的学生关系S,求既参加计算机兴趣小组又参加象棋兴趣小组的学生,就要进行交运算。
(3)差
R差S,在R中而不在S中的元组的集合。注意R差S不同于S差R,后者是在S中而不在R中的元素的集合。
例如,有参加计算机兴趣小组的学生关系R和参加象棋兴趣小组的学生关系S,求参加了计算机兴趣小组但没有参加象棋兴趣小组的学生,就要进行差运算。
2.专门的关系运算
(1)选择
从关系中找出满足条件元组的操作称为选择。选择是从行的角度进行运算的,在二维表中抽出满足条件的行。例如,在学生成绩的关系1中找出“一班”的学生成绩,并生成新的关系2,就应当进行选择运算,如图所示:
(2)投影
从关系中选取若干个属性构成新关系的操作称为投影。投影是从列的角度进行运算的,选择某些列的同时丢弃了某些列。例如,在学生成绩的关系1中去除掉成绩列,并生成新的关系2,就应当进行投影运算,如图所示:
(3)连接
连接指将多个关系的属性组合构成一个新的关系。连接是关系的横向结合,生成的新关系中包含满足条件的元组。例如关系1和关系2进行连接运算,得到关系3,如图(1)所示。在连接运算中,按字段值相等执行的连接称为等值连接,去掉重复值的等值连接称为自然连接,如图(2)所示。自然连接是一种特殊的等值连接,是构造新关系的有效方法。
关系的完整性
关系的完整性是对数据的约束,关系数据库管理系统的一个重要功能就是保证关系的完整性。关系完整性包括实体完整性、值域完整性、参照完整性和用户自定义完整性。
1.实体完整性
实体完整性指数据表中记录的唯一性,即同一个表中不允许出现重复的记录。设置数据表的关键字可便于保证数据的实体完整性。例如学生表中的“学号”字段作为关键字,就可以保证实体完整性,若编辑“学号”字段时出现相同的学号,数据库管理系统就会提示用户,并拒绝修改字段。
2.值域完整性
值域完整性指数据表中记录的每个字段的值应在允许范围内。例如可规定“学号”字段必须由数字组成。
3.参照完整性
参照完整性是指相关数据表中的数据必须保持一致。例如学生表中的“学号”字段和成绩表中的“学号”字段应保持一致。若修改了学生表中的“学号”字段,则应同时修改成绩记录表中的“学号”字段,否则会导致参照完整性错误。
4.用户自定义完整性
用户自定义完整性指用户根据实际需要而定义的数据完整性。例如可规定“性别”字段值为“男”或“女”,“成绩”字段的值必须是0~100范围内的整数。
网友评论