同方第6章61信息系统与数据库.ppt
第六章 信息系统与数据库,6.1 计算机信息系统 什么是计算机信息系统 计算机信息系统 的类型,信息和数据(复习),数据是事实,概念或指令的一种可供计算机加工处理的特殊表示形式。信息是对人们“有用”的数据。,什么是计算机信息系统,计算机信息系统(Computer_based Information System,简称信息系统)是一类以提供信息服务为主要目的的数据密集型、人机交互的计算机应用系统。4个主要技术特点 数据量大,一般需存放在外存中 数据存储持久性 数据资源使用共享性 信息服务功能多样性(管理,检索,分析,决策等),信息系统的结构,基础设施资源管理业务逻辑应用表现,计算机信息系统 的类型,业务处理信息系统信息检索系统信息分析系统专家系统,注意和书上总结的更加详细,计算机信息系统 的类型,业务处理系统 信息检索系统 信息分析系统,一种高层次的信息系统,为管理决策人员掌握部门运行规律和 趋势,制订规划、进行决策的辅助系统。例如:决策支持系统(DSS),专家系统 等,将原始信息进一步处理并存储专门供检索用的DB中。用户检索匹配获得信息.例如:中国科技文献库、专利数据库、学位论文数据库,DIALOG、ORBIT以及WE检索系统等.,企业业务流程信息化,发展趋势,信息多媒体化系统集成化功能智能化分布式结构,随着计算机技术的发展,以及数据处理量的增长,计算机数据管理技术也在不断地发展。根据提供的数据独立性、数据共享性、数据完整性、数据存取等水平的高低,计算机数据管理技术的发展可以分为三个阶段:人工管理阶段文件系统阶段数据库系统阶段,.数据管理技术的发展,.人工管理阶段,在世纪年代中期之前,计算机主要用于科学计算,数据管理处于人工管理阶段。其特点主要是:数据管理尚无统一的数据管理软件,主要依靠应用程序管理数据。程序设计人员不仅要规定数据的逻辑结构,而且要设计数据的物理存储结构、存取方式;数据是面向应用程序的,一组数据只能对应一个应用程序,数据不能共享;应用程序依赖于数据,不具有数据独立性,一旦数据的结构发生变化,应用程序往往要做相应的修改。,.文件系统阶段,世纪年代后期到年代中期,随着操作系统的产生和发展,程序设计人员可以利用操作系统提供的文件系统功能,将数据按其内容、用途和结构等组织成若干个互相独立的数据文件。文件系统管理数据具有以下特点:数据可以以文件形式长期存储在辅助存储器中;程序与数据之间具有相对的独立性,即数据不再属于某个特定的应用程序,可以重复使用;数据文件组织已呈多样化,有索引文件、连接文件、直接存取文件等。,文件系统的的局限,虽然用文件系统管理数据已有了长足的进步,但面对数据量大且结构复杂的数据管理任务,文件系统仍不能胜任。例如,数据文件之间相互独立、缺乏联系;数据冗余度大且易产生数据不一致性;数据无集中管理,其安全性得不到保证,等等。举例:一个EXCEL表格多次修改且分开存放导致的管理困难(并且这种管理实际上是人工管理)我们的想法是:尽可能的让计算机去做原来由人做的事情而不是反之,.数据库系统阶段,在世纪年代后期以来,为了适应日益迅速增长得数据处理的需要,数据库系统应运而生。数据库系统克服了文件系统的缺陷,其主要特点有以下四个方面:采用数据模型表示复杂的数据结构。数据模型不仅描述数据本身的特征,还要描述数据之间的联系。因此数据不再面向特定的某个应用,而是面向整个应用系统,且数据冗余明显减少,可实现数据共享,.数据库系统阶段,有较高的数据独立性。数据的结构分为逻辑结构与物理结构等不同的层次,用户以简单的逻辑结构操作数据,而无需考虑数据的物理结构。提供了较高的数据安全性、完整性等控制功能,以及对数据操作的并发控制、数据的备份与恢复等功能。为用户提供了方便的用户接口。目前,世界上已有数以万计的数据库系统在运行。数据库技术已经成为现代信息技术的重要组成部分,是现代计算机应用系统的基础和核心。,数据库系统的特点,数据结构化。数据可共享数据独立于程序统一管理控制数据,DBMS管理控制数据功能:安全性,完整性.并发控制,恢复.,从全局分析和描述数据,适应多个用户、多种应用共享数据的需求。可减少数据冗佘,节省存储空间,保证数据的一致性.,数据面向全局应用,用数据模型描述数据和数据之间的联系。,逻辑独立性:应用程序与DB的逻辑结构相互独立.物理独立性:应用程序与DB的存储结构相互独立.,数据库系统的组成,数据库系统(Database System,简称DBS)是实现有组织地、动态地存储大量关联数据,方便用户访问的计算机软硬件资源组成的具有管理数据库功能的计算机系统。从狭义上讲,数据库系统由数据库、数据库管理员和有关软件组成。这些软件包括数据库管理系统、宿主语言、开发工具和应用程序。数据库管理系统用于建立、使用、维护数据库;宿主语言是可以嵌入数据库语言的程序设计语言;数据库是长期储存在计算机中有组织的大量的、可以共享的数据集合;数据库管理员负责创建、监控和维护数据库。数据库系统的基本组成如图1.1所示。,数据库系统的组成,.数据库,数据库()是指以一定的组织形式长期存放在计算机存储介质上的互相关联的数据的集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度,较高的数据独立性和易扩展性,并可以供各种用户共享。整个数据库的建立、运用和维护由数据库管理系统统一管理、统一控制。用户能方便地定义数据和操纵数据,并保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的数据恢复。,数据库通常包括两部分内容:一是按一定的数据模型组织并实际存储的所有应用需要的数据;二是存放在数据字典中的各种描述信息,包括所有数据的结构名、存储方式、完整性约束、使用权限等信息,这些描述信息通常称为“元数据”。数据库按数据模型可分成层次型数据库、网状数据库、关系数据库和面向对象数据库。,.数据库,.数据库管理系统,数据库管理系统(DatabaseManagement System简称DBMS)是用于建立、使用和维护数据库的系统软件。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。数据库(Database)数据库管理员(Database Administrator),13 数据库系统的分级结构,为了实现数据库的独立性,便于数据库的设计和实现,美国国家标准局(ANSI)计算机与信息处理委员会(代号为X3)以及标准规划和要求委员会(SPARC)在1975年将数据库系统的结构定义为三级模式结构:外部层(单个用户的视图)、概念层(全体用户的公共视图)和内部层(存储视图)。,外部层是最接近用户的层次,它是数据库的“外部视图”,是各个用户所看到的数据库。它所表示的是数据库的局部逻辑,是面向单个用户的内部层是最接近物理存储的层次。它是数据库的“内部视图”或“存储视图”。它与数据库的实际存储密切相关,可以理解为机器“看到”的数据库。概念层是介于上述两者之间的层次。它是数据库的“概念视图”,是数据库中所有信息的抽象表示。它既抽象于物理存储的数据,也区别于各个用户所见到的局部数据库。概念视图可以理解为数据库管理员所看到的数据库。数据库系统结构的外部层、概念层和内部层分别对应于数据库模式的外模式、模式和内模式,数据库系统结构分级对于提高数据独立性具有重要意义。在三级结构间存在两级映射。概念层与内部层之间的映射定义了概念视图与物理存储之间的对应。如果物理存储的结构发生了变化,可以相应地改变概念层与内部层之间映射,而使概念视图保持不变,即将物理存储的变化隔离在概念层下,不反映在用户面前,因此应用程序可以保持不变,这称为数据的物理独立性。外部层与概念层映射定义了单个用户的外部视图与全局的概念视图之间的对应。如果概念视图发生变化,可以改变外部层与概念层之间的映射,而使用户看到的外部视图保持不变,因此应用程序可以保持不变,这称作数据的逻辑独立性。,数据模型,信息来源于客观事物,然后通过人们加工处理再用来控制客观事物。如何将现实世界中各种复杂的事情最终以计算机及数据库所允许的形式反映到数据中去?这需要一个逐步转化的过程。一般地讲,这一个转化过程分为三个阶段,或者说需要通过三个世界:首先将现实世界中客观的事物抽象为信息世界中的实体,然后再转换为DBMS支持数据世界中的数据它们之间的关系如图1-3所示。信息的这一循环经历了三个领域:现实世界、观念世界和数据世界。三个领域的内容及其联系可用图1-3表示。,数据模型(Data Model)是在数据库领域中定义数据及其操作的一种抽象表示。数据模型可以由三个部分组成:实体及实体间联系的数据结构描述,对(表示实体和联系的)数据的操作,以及数据的完整性约束条件。根据适用对象的不同、数据模型可以分为两类:面向客观世界、面向用户的称为概念数据模型(简称“概念模型”),这类数据模型描述用户和设计者都能理解的信息结构,强调其表达能力和易理解性,如E-R模型;面向数据库管理系统的,用以刻画实体在数据库中的存储形式,称为逻辑数据模型(数据模型),如层次模型、网状模型、关系模型、面向对象模型。,概念模型,概念模型是按用户的观点对数据建模,它是对现实世界的第一层抽象,是用户和数据库设计人员之间的进行交流的工具,强调其语义表达能力,应该简单、清晰、易于理解。长期以来,在数据库设计中广泛使用的概念模型当属“实体联系”模型(Entity-Relationship Model,简称E-R模型)。,1E-R模型的基本概念,E-R模型中有3个基本的抽象概念:实体、联系和属性。实体(Entity)是客观存在、可以互相区别的事物。实体可以是具体的对象(例如一位学生、一本书),也可以是抽象的对象(例如一次考试、一场比赛)。具有相同性质的实体集合称为实体集,例如全校学生的集合组成学生实体集。实体集中各个实体借助实体标识符(称为关键字)加以区别,例如在学生实体集中可以通过学号来区别每一个实体。,联系(Relationship)是实体集之间关系的抽象表示。例如,教师实体集与学生实体集之间存在“讲授”联系,学生实体集与课程实体集之间存在“选课”联系,等等。两个实体集之间的联系可以分为一对一联系、一对多联系或多对多联系。假设有两个实体集X和Y:如果X与Y中的每一个实体至多和另一个实体集中的一个实体有联系,则称X与Y是一对一联系(简记为1:1)如果X中的每一个实体至多和Y中的任意个(包括0个)实体有联系,则称X与Y是一对多联系(简记为1:m);如果X与Y中的每一个实体和另一个实体集中的任意个(包括0个)实体有联系,则称X与Y是多对多联系(简记为m:m)。,属性,属性(Attribute)是指实体或联系所具有的特征。通常一个实体可以由多个属性来描述,即实体可以用属性集来表示。例如,学生实体可以用学号、姓名、性别、年龄、系别等属性来描述,学生实体集与课程实体集间的“选课”联系可以有选课时间、所选课程代号、课程名称、成绩等属性。对于实体集来说,能唯一标识实体集中某一实体的属性或属性组称为实体集的标识关键字(简称“关键字”),2E-R图,E-R图是E-R模型的图形表示法,它是直接表示概念模型的有力的工具。在E-R图中,用矩形框表示实体集,菱形框表示联系,椭圆形框表示属性。例如,在学校的教学管理系统中存在学生、成绩等实体集,可用图1.4所示的E-R图来表述该系统的概念模型。,关系模型,关系模型(Relational Model)以关系代数理论为基础,20世纪70年代的研究主要集中在理论和实验系统的开发方面,到80年代初才形成产品,但很快得到广泛的应用和普及。1关系与关系模式关系是以二维表结构来表示实体集及其实体间的联系。一个关系就是一张二维表,关系的首行称为“属性”(在关系数据库中称为“字段”),其它各行称为“元组”(在关系数据库中称为“记录”)。,关系模型的性质,1、每一列的数据来自同一个域(属于同一种数据类型)2、每一列有唯一的字段名3、不允许出现完全相同的行4、行列的顺序是无所谓的(即行列的顺序不影响数据操作)5、每个数据项都是不可再分的其中,第5点性质是最重要的,凡满足这一点的关系称为符合第一范式的。以下表格不能作为关系模型,关键字,按集合中不允许出现相同的元素的性质,二维表中也不允许出现相同的记录。因此,一张表中的一列或若干列能够把不同的记录区分开来,或者说能够唯一确定记录。超关键字:二维表中能唯一确定记录的一个列或几个列的组被称为“超关键字”(super key)。显然,二维表的全体字段必然构成它的一个超关键字。超关键字虽然能唯一确定记录,但是它所包含的字段可能是有多余的。一般希望用最少的字段来唯一确定记录。如果是用单一的列构成关键字,则称其为“单一关键字(single key)”;如果是用两个或两个以上的列构成关键字,则称其为“合成关键字(composite key)”。,关键字,侯选关键字:如果一个超关键字,去掉其中任何一个字段后不再能唯一确定记录,则称它为侯选关键字(candidate key)。侯选关键字既能唯一确定记录,它包含的字段又是最精练的。一个二维表中总存在超关键字,因而也必存在侯选关键字。一个二维表中有几个侯选关键字呢?至少有一个,也可能有多个。主关键字:从二维表的侯选关键字中,选出一个可作为主关键字(primary key)。对于表中的每个记录来说,主关键字必须包含一个不同于其他记录的唯一的值。这就意味着主关键字的值不能为空,否则主关键字就起不了唯一标识记录的作用,2关键字,外部关键字:当一个二维表(A表)的主关键字被包含到另一个二维表(B表)中时,它就称为B表的外部关键字(foreign key)。例如,在学生表中,“学号”是主关键字,而在成绩表中,“学号”便成了外部关键字。在数据库结构设计中,应该指出各个二维表的主关键字,如果主关键字过于复杂,往往要增设一个字段,这个字段的内容是该类事物的编号或代号,用这个字段来作为单一主关键字。如学号字段。大多数二维表中,只有一个侯选关键字,有的复杂的二维表中有多个侯选关键字。在一般的应用中,找出一个侯选关键字已够了,并以它作为主关键字,不必找出全部侯选关键字。,课程表 成绩表,“课程代号”可作为关键字“课程名”如没有重复,也可作为关键字,成绩表的关键字应该是?,“学号”+“课程代号”,组合关键字,“课程代号”和“课程名”都可作为“候选关键字”,在“候选关键字”中可选出一个作为主关键字,学生表,课程表,成绩表,组合关键字,主关键字,主关键字,外部关键字,外部关键字,A,B,关系模型,用二维表表示实体集,通过外部关键字表示实体间联系的数据模型称为关系模型。关系模型是关系模式的集合,它一般有三个组成部分:数据结构、数据操作和完整性规则。数据结构:数据库中所有及其互相联系都被组织成关系(二维表)的形式;数据操作:提供一组完备的关系运算(包括关系代数、关系演算),以支持对数据库的各种操作;完整性规则:包括域完整性规则、实体完整性规则、参照完整性规则和用户定义的完整性规则等。,关系数据模型结构,关系模式的描述形式:其中:R为关系模式名,即二维表名。Ai(1in)是二维表中的列名,或者:R=(A1,A2,Ai,An),R(A1,A2,Ai,An),关系数据模型结构,这3个关系模式也可以用汉字定义为:,学生(学号,姓名,系别,性别,出生日期,身高)课程(课程号,课程名,学时,开课时间)选课成绩(学号,课程号,成绩),关系数据模型结构,.,上述数据对象(S和C)以及数据对象之间的联系(SC)表示成关系模式分别为:,S(SNO,SNAME,DEPART,SEX,BDATE,HEIGHT)C(CNO,CNAME,LHOUR,SEMESTER)SC(SNO,CNO,GRADE),规范化理论主要是以关系代数为基础,研究关系模式中属性之间的依赖关系,从1970年IBM公司的E.F.Codd发表的著名论文“大型共享数据库的数据关系模型”以来,关系模型理论和关系数据库得到了全面的发展。关系模型以严格的数学为基础,并形成了一整套的关系数据库理论规范化理论。规范化理论主要是以关系代数为基础,研究关系模式中属性之间的依赖关系。所谓关系的规范化,就是对关系模式应当满足的条件的某种处理,其目的是尽可能地减少数据冗余、消除异常现象、增强数据独立性、便于用户使用等。,