信息系统与数据库_第1页
信息系统与数据库_第2页
信息系统与数据库_第3页
信息系统与数据库_第4页
信息系统与数据库_第5页
已阅读5页,还剩150页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章信息系统与数据库,6.1计算机信息系统,6.1.2信息系统的结构,6.1.4信息系统的发展趋势,6.1.3信息系统的类型,6.1.1什么是计算机信息系统,6.1.1什么是计算机信息系统,计算机信息系统(Computer_basedInformationSystem,以下简称信息系统)是一类以提供信息服务为主要目的的数据密集型、人机交互的计算机应用系统。,计算机信息系统,涉及的数据量大绝大部分数据是持久的这些持久数据为多个应用程序所共享,甚至在一个单位或更大范围内共享除具有数据采集、传输、存储和管理等基本功能外,还可向用户提供信息检索,统计报表、事务处理、分析、控制、预测、决策、报警、提示等信息服务,计算机信息系统技术上的特点,从功能分类有:电子数据处理、管理信息系统、决策支持系统等从信息资源分类有:地理信息系统、多媒体管理系统等从应用领域分类有:办公自动化系统、军事指挥信息系统、医疗信息系统、民航订票系统、电子商务系统、电子政务系统等,计算机信息系统的分类,1960年代中期以前,数据一般由文件系统管理,由于文件系统的局限性,当时的信息系统主要为单项应用服务,其主要功能也只是代替人做一些事务性操作,例如图书管理、工资管理、进、出账的管理和结算、统计报表等。,1960年代中期以后,以数据的集中管理和共享为特征的数据库系统逐步取代了文件系统,成为数据管理的主要形式。因而,为一个单位或更大范围的多项应用服务的综合信息系统出现了,其功能也从单纯的事务处理扩大到规划、分析、预测和决策等领域,这是信息系统的重要发展。,“信息”和“数据”,这两个概念在计算机信息处理中是既有区别又有联系的。计算机是一种基于二进制运算的信息处理机器,任何需要由计算机进行处理的信息,都必须进行一定程度的形式化,并表示成二进制编码的形式。这就引进了数据的概念。,“数据是计算机中对事实、概念或指令进行描述的一种特殊格式,这种(特殊)格式适合于使用计算机及其相关设备自动地进行传输、翻译(转换)或加工处理。”在这个定义中,首先强调的是数据表达了一定的内容,即“事实、概念或指令”,这就是数据的语义;其次,数据具有一定的格式(即数据的语法),其目的是使计算机能自动进行加工处理、通信传递以及翻译转换。,国际标准化组织(ISO)对数据所下的定义,在信息处理领域中,信息指的是人们要解释的那些数据的含义。“数据是事实、概念或指令的一种可供计算机加工处理的特殊表示形式”,当关联上下文看待这些数据,且它们向人们传递了某些含义时,数据就变成了信息。计算机信息处理,微观上就是由计算机进行数据处理的过程。也就是说,通过信息的采集和输入,有效地把信息组织到计算机中,由计算机系统对数据进行编辑、加工、分析、计算、解释、推论、转换、合并、分类、统计、存储、传送等操作,向人们提供有用的信息。简言之,信息处理的过程实际上就是数据处理,数据处理的目的是获取有用的信息。在许多场合,如果不引起混淆的话,信息和数据通常并不严格加以区分。这一点请大家注意。,6.1.2信息系统的结构,计算机信息系统是一种人机结合的系统,通过用户界面用户可向系统输入原始数据、操作命令并获得结果信息。输入的数据由专门程序按一定格式送入数据库;对于输入的操作命令,系统将调用相应的处理程序,对有关数据进行加工处理,得到的结果再通过用户界面显示给用户。,一个信息系统除了计算机之外,还包括人、人工过程及数据等资源。,虽然信息系统是多种多样的,但其基本结构又是共同的,信息系统的层次结构可分为:基础设施层资源管理层业务逻辑层应用表现层目前,信息系统的软件体系结构包括客户/服务器和浏览器/服务器两种主流模式,它们都是上述计算机信息系统层次结构的变种。,可将计算机信息系统视为面向信息的,由计算机硬件、软件和相关的人员共同组织成一个整体的计算机应用系统。,6.1.3信息系统的类型,从信息处理的深度来区分信息系统,基本可分为4大类,这些系统还可以按处理深度再继续进行划分。,信息系统的类型,1业务信息处理系统,业务信息处理系统是采用计算机技术进行日常业务处理的信息系统,用以使业务工作自动化,提高业务工作的效率和质量。每一个单位或部门(包括个人)都有专门的业务范围和工作内容,在其业务处理中存在着大量信息。,从信息学的角度看,业务信息处理系统是一次信息(直接信息)的生产和处理系统。由于在企事业单位中不同层次的业务信息处理系统服务对象不同,因而可以进一步将它分为三类。(1)操作层业务处理系统(2)管理层业务处理系统(3)知识层业务处理系统,知识层又分:辅助技术系统办公信息系统,在业务信息处理系统中,其信息检索查询一般都在本单位的业务信息范围内,检索的途径和功能也比较简单。信息检索系统(InformationRetrievalSystem)将原始信息(一次情报)预处理生成的二次信息(二次情报)输入到计算机中,经过计算机的加工再处理,生成具有一定结构的供检索用的情报数据库。此后,用户按规定输入检索要求,由检索系统在情报数据库中进行检索匹配,最后将符合用户检索要求的结果输出给用户。信息检索系统不是为一个单位服务的,它可以供广大的用户使用,例如我国用于科学技术“查新”建立有各类科学和技术的文献数据库(如中国科技文献库、中国科技成果库、中国专利数据库、中国学位论文数据库,中国学术会议数据库等),世界上著名的情报检索系统(如DIALOG、ORBIT等)包含的众多数据库,均可向有关人员提供联机检索服务。,信息检索系统,信息检索系统的特点是:信息量大检索功能强服务面广通常可根据获得最终检索结果的详细程度和检索词的来源不同,而将信息检索系统分为两大类:目录检索系统全文检索系统从信息的内容来划分信息检索系统,将其分为:文献检索系统事实检索系统数值检索系统等,业务信息处理系统是对原始信息存储和利用的系统,信息检索系统是对原始信息作简单的加工后提供检索服务的系统,它们基本上均停留在信息的表层,并未对这些信息进行深层次的处理,所以仅属于一次信息或二次信息系统。而对于高层(领导和决策层)人员而言,他们需要的是经过处理和分析的概括性信息,即所谓三次信息。,信息分析系统是为管理决策人员掌握企事业单位运行规律和趋势,制订规划、进行决策的辅助系统。是一种高层次的信息系统,三次信息的处理系统。,决策支持系统经理支持系统,信息分析系统(InformationAnalysisSystem),两种常见的信息分析系统:,决策支持系统(DecisionSupportSystem,简称DSS)是辅助决策者通过数据、模型、知识以人机交互方式进行半结构化或非结构化决策的计算机信息系统。它为决策者提供分析问题、建立模型、模拟决策过程和方案的环境,可调用各种信息资源和分析工具,帮助决策者提高决策水平和质量。,经理支持系统(ExecutiveSupportSystem,简称ESS)不提供某种固定的应用或某种具体的能力,而是提供一个综合性的计算和通信环境。,专家系统(ExpertSystem,简称ES)是一种知识信息的加工处理系统,也是人工智能最为重要的应用系统。专家系统模仿人类专家的思维活动,通过推理与判断来求解问题。专家系统具有解决特定问题所需的专门领域知识,这种知识不但包括解决该问题的知识,同时还包括求解该问题过程的知识。一个专家系统通常由两部分组成:一部分是称为知识库的知识集合,它包括要处理问题的领域知识,另一部分是称为推理机的程序模块。推理是指从已有事实推出新事实(或结论)的过程。在专家系统中首先将专家的知识和经验以适当的形式存入计算机(拥有专门知识),利用类似专家的思维规则,对事例的原始数据,进行逻辑推理和演释,最后作出判断和决策(选择知识和运用知识)。,专家系统,6.1.4信息系统的发展趋势,新的应用需求和新的计算机技术是推动信息系统发展的动力。目前,信息系统的发展趋势:,信息多媒体化系统集成化功能智能化结构分布化,随着信息量的指数级增长和计算机信息系统复杂度的不断升级,好用性问题越来越突出,为此在信息系统中融入各种智能技术已成为当前计算机信息系统的发展趋势。目前常用的智能技术包括联机数据分析、数据挖掘和知识发现、智能搜索引擎和语义Web以及为用户提供个性化信息服务的各种智能技术等。,功能智能化,由于要求信息系统在大范围内进行集成,而信息源和用户一般在地理位置上总是分散的。信息系统结构分布化既是应用的需要,也是技术发展的必然趋势。这需要计算机网络、分布式处理和分布式数据库等技术的支持。当前,客户/服务器已成为分布式信息系统的流行结构。在分布式信息系统中,用户不但可以共享包括数据在内的各种计算机资源,而且还可以在系统的支持下,合作完成某一任务(例如共同决策、共同拟订计划、共同设计产品等)。信息系统在这方面的功能称为计算机辅助协同工作(Computer-supportedCooperativework,简称CSCW)。,结构分布化,6.2数据库系统及应用,6.2.1数据管理技术的发展,6.2.2数据模型,6.2.4关系代数操作,6.2.3关系数据库,6.2.5关系数据库标准语言SQL,6.2.6数据库控制,6.2.7数据库系统及应用新技术,6.2.1数据管理技术的发展,从计算机一开始应用于数据管理领域,人们就面对数据管理的需求,致力于研究在计算机系统中如何准确地表示数据、如何有效地获取与组织数据、以及如何高效地存储和处理数据。,计算机数据管理技术的发展可以划分为三个阶段:人工管理阶段文件系统阶段数据库系统阶段,用户根据应用需要将数据按其内容、结构和用途组成若干文件并存储在外存中,由操作系统统一管理,操作系统为用户使用文件提供相应的界面。不同的用户编制程序对各自所定义的文件进行处理。由于在文件系统中数据的组织是面向用户程序的,所以存在大量的数据冗佘(即多个数据文件中重复出现相同的数据),且数据在文件中的结构很难修改和扩充。更严重的是,数据结构的任一微小改变,都会影响到应用程序。由于文件是各个用户独立定义的,因而它们不能反映现实世界中事物相互之间原本存在的联系。,文件系统(FileSystem)阶段,文件系统中的文件和程序关系,以统一管理和共享数据为主要特征数据库管理系统(DataBaseManagementSystem,简称DBMS),数据库系统阶段,在数据库系统中,数据不再仅仅服务于某个程序或用户,而是按一定的结构存储于数据库,作为共享资源,由一个称为数据库管理系统的软件管理,使得数据能为尽可能多的应用服务。,DBMS中应用程序与数据的关系,与文件系统相比,数据库系统具有以下特点:(1)数据结构化。(2)数据共享性高,冗余度低。(3)系统灵活,易于扩充。(4)数据独立于程序。(5)统一管理和控制数据。(6)具有良好的用户接口。,逻辑独立性,是指用户的应用程序与数据库的逻辑结构相互独立。物理独立性,是指用户的应用程序与存储在数据库中的数据相互独立。,数据库系统的特点,数据库系统的组成,(1)计算机支持系统(2)数据库(3)数据库管理系统(4)人员,6.2.2数据模型(DataModel),在数据库系统中,一般采用数据模型来对现实世界数据进行抽象。数据模型是数据库系统中用于数据表示和操作的一组概念和定义。各种数据库产品都是基于某种数据模型的。,首先把现实世界的对象抽象为某一种不依赖于具体计算机系统的数据结构(概念模型);然后再把概念模型转换为计算机中DBMS所支持的数据模型,概念模型可以按用户观点准确地模拟应用单位对数据的描述及业务需求,即对应用数据和信息建模。建模的最终目的是按计算机系统所支持的数据模型来组织数据。数据模型要用严格的形式化定义来描述数据的结构特点和结构约束。通常一个数据模型包括以下两方面的内容:数据静态的特性它包括数据的基本逻辑结构,数据间的联系和数据中的完整性约束,以保证数据的正确、有效和相容。数据的动态特性它指定义在数据上的操作,包括这些操作的规则及实现操作的语言。目前常用“实体-联系(Entity-Relationship,简称E_R)”方法来建立概念模型。,概念模型是对应用单位数据的第一次抽象,也是用户和数据库设计人员之间进行交流与沟通的工具。,ER概念模型有关术语实体:凡是可以被人们识别而又可以互相区别的客观对象统统抽象为实体(Entity)。具有共性的一类实体可以组合为一个实体集。属性:实体一般具有若干特征,用于描述其性质,这种特征称之为实体的属性(Attribute)。称每个属性的取值范围为值域。实体主键:能够唯一标识实体的属性或属性组(这组属性的任何真子集无此性质)称为实体集的实体键。联系:抽象到概念系统中的实体之间会有各种联系(Relationship)。如果一个实体集有多个实体键存在,则可从中选一个最常用的作为实体主键,简称主键(PrimaryKey)。,联系又可分为两种:1.实体集内部的联系2.实体集之间的联系,三类不同语义的联系:(以二元联系(两个实体集之间的联系)为例)一对一联系(1:1)对于实体集A的每一个实体,实体集B中至多有一个实体与之联系;反之亦然,则称实体集A和实体集B具有1:1联系一对多联系(1:n)对于实体集A中的每一个实体,实体集B中有n个实体与之联系;而对于实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与实体集B存在1:n的联系。多对多联系(m:n)若对于实体集A中的每一个实体,实体集B中有n个实体与之联系;而对于实体集B中的每一个实体,实体集A中也有m个实体与之联系,则称该二个实体集A,B之间存在m:n联系,ER图,数据模型,层次模型(HierarchicaModel)层次模型用树结构表示实体集之间的联系。网状模型(NetworkModel)用网络结构表示实体集之间联系的数据模型。关系模型(RelationalModel)用二维表结构表示实体集以及实体集之间联系的数据模型面向对象模型(Object-OrintedModel),在面向对象模型中把现实世界的实体都模拟为一种对象,并把类似的对象归并为一类(Class)每个对象有一个状态,对象的状态是该对象属性值的集合每个对象有一组操作,而每个操作决定对象的一种行为每个对象有一个唯一的标识符,它把对象状态和对象行为“封装”在一起对象之间通过消息进行通信。当一个对象要求另一个对象做某个动作时,就向它发送一个消息,以激活该对象的某个方法对象的每个方法都对应且仅对应一条消息对象运行的结果也以消息的形式给出,面向对象模型,6.2.3关系数据库,(1)关系数据模型的逻辑结构关系数据模型的基本结构是关系关系数据模型中数据的逻辑结构是一张二维表(Table),它由表名、行和列组成。表的每一行称为一个元组(Tuple),每一列称为一个属性(Attribute)。用关系数据模型对一个具体单位中客观对象的实体集、属性和联系的结构描述,一般称为关系数据模式(DataSchema),而二维表中的内容即为其实例。关系数据模式的一般描述形式为:R(A1,A2,Ai,An),1关系数据模型的数据结构,(2)关系数据模型的存储结构在关系数据模型中,实体集、实体集之间的联系都用二维表来表示。在支持关系模型的数据库(即关系数据库)物理组织中,二维表以文件形式存储。在大多数数据库中,二维表与操作系统中的文件相对应。,(3)关系数据模型的特点,在这一节里,我们从集合论角度给出关系数据结构的形式化定义。【定义1】域(Domain)是一组具有相同数据类型的值的集合。【定义2】给定一组域D1,D2,Dn,这些域中可以有相同的。其笛卡尔积(Cartesianproduct)为:D1D2Dn=(d1,d2,dn)|diDi,i=1,2,n。,2关系模型结构的形式化定义,【定义3】D1D2Dn的子集称为在域D1,D2,Dn上的关系。若D1,D2,Dn对应的属性名为A1,A2,,An,则可将这种关系的结构表示如下:R(A1/D1,A2/D2,An/Dn),可简化为:R(A1,A2,,An)与前述相一致,称这种结构为关系数据模式,其中R为关系数据模式的名,n为关系数据模式的属性的个数,称为关系的目(degree或arity)。关系中的每个元素称关系的元组(Tuple),用t表示。由此,若R的值用r来表示,它是n目元组t的集合,即:r=t1,t2,tm。其中,每个元组t可表示为:t=(v1,v2,vm),viDi,1in,在关系数据模型中,对每个关系还作了一些限制,关系模式用R(A1,A2,An)表示,仅仅说明关系的语法,但是并不是每个合乎语法的元组都能成为R的元组,它还要受到语义的限制。数据的语义不但会限制属性的值,数据的语义还会制约属性间的关系,这些约束可以用来保证数据库中数据的正确性,称其为关系数据模型的完整性约束。三类关系数据模型的完整性规则:(1)实体完整性(2)引用完整性(3)用户定义完整性约束,3关系数据模型的完整性,(1)实体完整性若属性A为关系R的主键,则A不能为空值(即其值处于未知状态,记为Null)或重值。,【定义4】设F是基本关系R(指对应实际存储的文件)的一个或一组属性,但不是R的主键。如果F与另一个基本关系S的主键KS相对应,则称F是基本关系R的外键(Foreignkey),关系R和S可以是同一个关系。,(2)引用完整性R1的外键F要么是被引用关系R2中某一元组实际存在的主键值,要么为空值。简单地说,即“引用完整性”要求在关系中不允许引用不存在的实体(即元组)。,(3)用户定义完整性约束用户定义完整性它反映某一具体应用所涉及的数据必须满足的语义要求,由应用环境对数据的需求而决定。,E_R概念模型转换为关系模式的两条原则实体的转换联系的转换,“联系”转换成”关系模式”中的主键应仔细考虑:,联系为1:1联系为1:n联系为m:n,4E_R概念模型转换为关系数据模式,6.2.4关系代数操作,关系数据模型提供了关系操作的能力,这种操作能力可用代数方式和逻辑方式来表示,分别称为关系代数和关系演算。关系代数:用对关系的运算来表达查询要求的方法(代数方式表示)关系演算:用谓词来表达查询要求的方式(逻辑方式表示)关系代数操作简称为关系操作。分为两类:传统的集合操作关系专用的操作关系操作的结果仍为关系,可以再参与其他关系操作,构成关系代数表达式,由此描述对关系的各种复杂操作。,关系是元组的集合,因此集合运算均可适用于关系。,(2)差操作设关系R和S并相容,其差操作(Difference)表示为R-S,操作结果生成一个新关系,其元组由属于R,但不属于S的元组组成:,1传统的集合操作,(1)并操作设有关系R和关系S,它们有相同的模式结构(称R与S是“并相容”),其并操作(Union)表示为RS,操作结果生成一个新的关系,其元组由属于R的元组和属于S的元组共同组成:,并、差、交、积,(3)交操作(Intersection)设关系R和S并相容,其交操作表示为:RS,操作结果为:即结果关系中的元组由既属于R又属于S的元组组成。,关系的交可以用差来表示:,或者,(4)广义笛卡尔积设关系R和S分别具有p和q个属性,定义R和S的广义笛卡尔积(ExtendedCartesianProduct)是一个具有(p+q)个属性的集合,每一个元组的前p个属性来自R的一个元组,后q个属性来自S的一个元组。广义笛卡尔积记为RS,定义如下:,注意:RS有mn个元组,其中R为关系名,逻辑表达式F(t)表示条件,F(t)中的运算符包括、=、及算术表达符,运算对象可以是属性名,常量等。由此可见,选择操作实际上是从关系中选取使条件F(t)为真的元组组成新的关系,它是从行的角度进行的操作。,2专门的关系操作,它包括:选择、投影、连接、自然连接、除法,(1)选择操作(Selection)选择操作是从关系中选择满足条件的元组组成一个新关系。选择操作用下式表示:,F,(R)=,(2)投影操作(Project),投影操作是对关系作垂直分解。从关系的属性中选择属性列,由这些属性列组成一个新关系。若A为关系R中的属性列,投影操作表示为:,连接是从关系R和S的广义笛卡尔积中选取属性值之间满足某一运算的元组,记为,(3)连接操作(Join),其中i表示关系R第i个属性,j表示关系S中第j个属性,是算术比较符。连接的形式定义如下:,其中p是关系R的属性个数。,第(p+j)个属性满足运算的元组。如果是等号“=”那么这个连接操作称为“等值连接”。,在R和S的广义笛卡尔积中挑选第i个属性和,自然连接是一种特殊的等值连接,它要求两个关系中进行比较的属性必须是相同的属性列,并且在结果中把重名的属性列去掉。即若关系R和S具有相同的属性列B,则自然连接记作:,(4)自然连接(naturaljoin),RS=,其中是从关系S中去掉B属性列的元组。,设有关系R(x,y)和S(y),x和y为属性列,且S(y),则除法操作(Division)可记为:,(5)除法操作,RS=,以上9种关系代数操作,其中并、差,广义笛卡尔积、投影和选择5种操作称为基本操作,它们可以组成关系代数的完备操作集。其他操作(如交、连接和除法)均可以用这5种基本操作来表达。,3.关系代数操作的应用实例,6.2.5关系数据库标准语言SQL,数据库语言:数据库管理系统配置,使用户可以对数据库进行各式各样的操作,构成用户和数据库的接口的语言。由于DBMS所提供的语言一般局限于对数据库的操作,不同于计算机的程序设计语言,因而称它为数据库语言。关系数据库语言是一种非过程语言。SQL(StructuredQueryLanguage):一种基于关系代数和关系演算之间的语言,非过程语言是有别于过程语言的,即对用户而言只要说明“做什么”,指出需要何类数据,至于“如何做”才能获得这些数据的过程,则不必要求用户说明,而由系统来实现。,SQL数据库具有三级体系结构。在SQL中,逻辑模式对应于基本表(BaseTable),存储模式对应于存储文件,用户模式主要对应于视图(View),元组称为“行”,属性称为“列”。,1SQL数据库的体系结构,SQL数据库的体系结构,2SQL数据定义,SQL提供数据定义语言(DDL),它包括:定义基本表修改基本表删除基本表建立和删除索引建立和删除视图等。定义基本表的SQL语句表示为:CREATETABLE(列名数据类型完整性约束条件,)表示可含有该子句,也可为空,视实际定义要求而定。是所要定义的基本表名字。定义基本表时要指明每个列的类型和长度,同时还可以定义与该表有关的完整性约束条件。这些完整性约束与基本表的定义内容一并被存入系统的数据字典中,当用户操作基本表中的数据时,由DBMS自动检查该操作是否违背这些完整性约束条件。,数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库查询。SELECT查询语句简单的形式为:SELECTA1,A2,An(指出目标表的列名或列表达式序列)FROMR1,R2,Rm(指出基本表或视图序列)WHEREF(F为条件表达式)GROUPBY列名序列(结果表分组)ORDERBY列名排序方向(结果表排序),3SQL的数据查询,它可将一个记录插入到指定的表中。语句格式为:INSERTINTO(,)VALUES(,),4SQL的数据更新,(1)插入语句(INSERT),UPDATESET,WHERE,(2)修改语句(UPDATE),修改语句可对指定表中已有数据进行修改。语句格式如下:,(3)删除数据(DELETE),SQL删除语句的格式为:,DELETEFROMWHERE,该语句的功能是从指定表中删除满足WHERE子句条件的记录。如果省略WHERE子句,则删除表中所有记录。注意:仅删除表中记录,表的定义仍在数据字典中。,视图是DBMS所提供的一种以用户模式观察数据库中数据的重要机制。视图可由基本表或其他视图导出。视图只是一个虚表。,5SQL的视图,SQL语言用CREATEVIEW语句建立视图,其一般格式为:CREATEVIEW视图名ASSQL-查询语句,视图定义后,用户就可以象对基本表操作一样对视图进行查询,6.2.6数据库控制,数据库的破坏可能来自4个方面,数据库控制:DBMS对不同的情况,在技术上采取不同的解决措施,使得数据库中的数据安全可靠,正确有效,以保证整个数据库系统的正常运转。有时也称“数据库保护”。,安全性控制并发控制数据库的恢复和完整性控制,数据库控制通过4个方面的技术来实现:,安全性指保护数据库以防止不合法的使用所造成的数据泄露、修改或破坏。在数据库系统中,安全措施是逐级设置的。主要技术有:,1数据库的安全性,(1)用户标识与鉴别(2)访问控制(3)审计功能(4)数据加密(5)视图的保护,2数据库的备份和恢复,转储指把数据库中的数据定期地从数据库卸出并写到系统的后备文件中作为备份。日志技术指利用日志文件记录对数据库的每次修改操作的信息,当系统出现故障时,利用备份和日志信息来恢复系统。,由于计算机系统的硬件故障、软件故障、操作员的误操作以及恶意入侵都会破坏数据库中数据的正确性。为了使数据库系统在出现故障后,能迅速恢复(Recovery)系统,大多数数据库管理系统采用转储和日志技术。,恢复工作由DBMS的恢复子系统执行,其目的是把数据库从因故障而发生的破坏或不正确的状态,恢复到最近的一个正确状态。数据库恢复的基本机制就是“冗余”,即用备份来对数据库数据重复存储,3数据库的完整性,数据库的完整性是指数据库中数据应始终保持正确的状态,防止不符合语义的错误数据输入,以及无效操作所造成的错误结果。为了维护数据库的完整性,DBMS必须提供一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库上的语义条件称为完整性约束(IntegrityConstraints),它们作为模式的一部分存入数据库数据字典中。可用SQL的断言(Assertions)来编写完整性规则。,4数据库的并发控制,在多用户共享数据库系统中,多个事务可能同时对同一数据进行操作,这就不可避免地发生冲突。DBMS的并发控制(ConcurrencyControl)子系统负责协调并发事务的执行,保证数据库的完整性不受破坏,同时避免用户得到不正确的数据。调度的原则是:既要交叉分时执行,以充分利用系统资源,又要避免访问冲突,以保证多事务存取共享数据库的正确性。,6.2.7数据库系统及应用新技术,(1)关系型DBMS的应用目前流行的数据库管理系统绝大多数是关系型DBMS。一般可分为如下3类:以微型计算机系统为运行环境的数据库管理系统(如dBASE、FoxBASE、FoxPro等)。这类系统支持一般事务处理功能,特别强调使用的方便性和操作的简便性。主流关系数据库管理系统(如ORACLE、DB2、Sybase等)。这类系统更强调数据管理在理论上和实践上的完备性、具有完善的数据存储和管理能力、提供了比第类系统更全面的数据保护和恢复功能,它更有利于支持全局性的数据管理工作。介于以上两类之间的关系数据库管理系统,如MicrosoftSQLserver等。,1数据库与面向对象技术的结合,(2)面向对象数据库管理系统,关系模型的不足为了克服关系数据库的弱点,人们抓住了数据模型这一本质问题进行了研究,并认为根据各种不同的需要,应提供一种可扩充的数据模型,在此基础上由用户按需要定义新的数据类型及相应的操作和约束。面向对象数据模型就是这种理想的可扩充数据模型之一。,面向对象数据库管理系统一般而言,一个以面向对象模型为基础的数据库管理系统应具备如下的基本内容和特征:在数据模型方面支持对象、封装、类、继承、重载、联编、多态性等基本概念。数据库访问界面要支持消息传递,提供计算能力完备的数据库语言,适合在分布式环境下工作。提供类似SQL的非过程化查询功能。,(1)数据库系统体系结构的发展,2数据库体系结构的发展,DBMS的系统结构随着硬件和软件支撑环境的变化而不断变化。,(2)分布式数据库(3)并行数据库系统,集中式数据库系统客户/服务器结构Internet上的Web数据库,集中式数据库系统,早期的DBMS以分时操作系统作为运行环境,采用集中式的数据库系统结构,把数据库建立在本单位的主计算机上,且不与其他计算机系统进行数据交互。用户通过本地终端或远程终端访问数据库系统。在这种系统中,不但数据是集中的,数据的管理也是集中的。,在网络环境下的共享数据资源的数据库服务器结构。在这种两层结构中有多台用作客户机的计算机和一至多台用作数据库服务器的计算机。客户机直接面向用户,接收并处理任务,将其中需要对数据库操作的任务委托数据库服务器执行;而数据库服务器只接收客户机的这种委托请求,完成对数据库的查询和更新,并把查询结果返回给客户机。,具有C/S结构的数据库系统虽然处理上是分布的,但数据却是集中的,还是属于集中式数据库系统,客户/服务器结构,Internet上的Web数据库,客户端使用一个通用的浏览器,用户的所有操作都是通过浏览器进行的。B/S结构的核心部分是Web服务器,它负责接受远程(或本地)的HTTP查询请求,然后根据查询的条件通过数据库服务器获取相关的数据,再将结果翻译成HTML和各种页面描述语言,传送回提出查询请求的浏览器。同样,浏览器也会将更改、删除、新增数据记录的申请传送到Web服务器,由后者与数据库服务器联系完成这些操作。,这种结构又称B/S结构。它由Web浏览器、Web服务器、数据库服务器三个层次组成。,(2)分布式数据库,在分布式数据库系统中,把一个单位的数据按其来源和用途,合理分布在系统的多个地理位置不同的计算机结点上(局部数据库),使大部分数据可以就近存取。数据在物理上分布后,由系统统一管理。此时,系统中每个地理位置上的结点实际上是一个独立的数据库系统,它包括本地结点用户、本地DBMS和应用软件(称为结点自治性)。,在这种分布式数据库系统中,又强调各个结点之间的协调工作,使得任何一个结点上的用户都可以通过网络对其他结点数据库上的数据进行访问,就如同这些数据都存储在自己所在的结点数据库上一样。可以把分布式数据库系统看成是各个结点上局部DBMS的一种合作,但在每个结点上必须增加新的软件成分,使与系统中其他结点提供合作功能,这种新的成分与本地原有的DBMS结合在一起,就构成了分布式数据库管理系统(DDBMS)。,(3)并行数据库系统,计算机并行系统通过并行地使用多个计算机的CPU和磁盘,可提高处理速度和IO速度。将这种并行系统处理技术应用于数据库中,对数据库处理效率的提高是十分显著的。并行处理技术很适宜与关系数据库技术相结合,这是因为:,并行数据库系统(ParallelDatabase)的发展,在很大程度上提高了系统的性能,因此得到了广泛的应用。,在关系数据模型中,数据库二维表是元组的集合,数据库操作也是集合操作;在许多情况下对集合的操作可分解为一系列对子集的操作,这些子集操作存在很好的并行性。,3几种专用数据库介绍,(1)工程数据库(2)空间数据库(3)多媒体数据库(4)模糊数据库(5)主动数据库,(1)用于决策支持的数据仓库,4数据库技术对决策应用的支持,决策对数据的需要,(2)数据挖掘,数据仓库,6.3信息系统开发与管理,6.3.1计算机信息系统,6.3.5系统实施,6.3.3系统分析,6.3.4系统设计,6.3.6系统运行和维护,6.3.2系统规划,信息系统的开发和管理是一项系统工程,也是涉及多学科的综合技术。信息系统开发周期长、投资大、风险大,比一般技术工程有更大的难度和复杂性。对于从事信息系统分析、设计和管理的有关人员而言,应该掌握的知识是多方面的。,其中主要包括:软件工程技术数据库设计技术程序设计方法应用领域的业务知识对应用环境深入的了解,6.3.1计算机信息系统,软件危机:大型软件系统开发成本高,可靠性差,甚至有时人们无法管理自身所创造出来的这个复杂逻辑系统,致使软件的生产和维护出现了很大的困难,当时人们称此为“软件危机”。,程序是根据算法用某种计算机语言编写的语句的集合而软件是程序再加上程序实现和维护系统时所必需文档的总称。,(1)对软件需求分析的重要性认识不够(2)软件不是物理产品而是一种逻辑产品(3)问题的复杂度增加,软件危机产生的主要原因有三个:,1软件危机和软件工程,软件工程(SoftwareEngineering)以工程化的方式组织软件开发。,2软件工程方法要点,软件开发技术软件工程管理软件开发方法软件开发工具,必须强调以下几点:,(1)结构化生命周期方法(2)原型法(3)面向对象开发设计方法(4)CASE方法,3信息系统开发方法,结构化方法将信息系统软件生命分为5个阶段:,系统规划系统分析系统设计系统实施系统维护,结构化生命周期方法,在结构化生命周期法开发信息系统的过程中,特别强调结构化的分析和设计原则。其基本思想是:采用自顶向下,逐层分解、逐步求精的方法分析和设计整个系统,可以有效地减小和控制系统开发的复杂性。自顶向下,将系统划分为若干个既相对独立又相互关联的具有层次性的模块,而整体系统是这些模块的集成。采用图示工具(如数据流程图和E_R图等)描述分析和设计的内容,便于系统开发过程中各类人员(包括用户)之间的相互交流。明确系统开发的各个阶段的任务。强调用户参予系统分析与系统设计过程的作用。,是指由系统分析设计人员与用户合作,在短期内定义用户基本需求的基础上,首先开发出一个具备基本功能、实验性的、简易的应用软件。然后运行这个原型,并在相应的辅助开发工具的支持下,按照不断求优的设计思想,通过反复的完善性实验而最终开发出符合用户要求的信息系统。,原型法(PrototypingApproach),面向对象技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量指标上,较之其他方法均有实质性的突破。,面向对象开发设计方法,是一种自底向上和自顶向下相结合的方法,它以对象建模为基础,建立系统所有对象的数据结构。,面向对象方法(Object-OrientedModeling,简称OOM),CASE方法,CASE(ComputerAidedSoftwareEngineering)是一种自动化或半自动化的方法,可以全面支持除系统规划外的每一个开发阶段的工作,它是1980年代末从计算机辅助编程工具、第四代程序设计语言(4GC)及绘图工具发展而来的。采用CASE工具进行系统开发,必须结合一种具体的开发方法(如以上介绍的3种开发方法),CASE可为它们提供支持各个开发过程的专门工具。实际上是把原先由手工完成的开发过程转变为使用自动化工具和支撑环境的开发过程。,数据库设计的任务数据库设计的基本任务是根据一个单位或部门的信息需求、处理需求和数据库的支持环境(包括硬件、操作系统和DBMS),设计出数据模式(包括用户模式、逻辑模式和存储模式)以及相应的应用程序。信息需求表示一个单位所需要的数据及其结构,处理需求表示一个单位经常需要进行的数据处理功能。前者表达了对数据库的内容及结构的要求(静态),后者表达了基于数据库的数据处理要求(动态)。,数据库设计概要,(1)数据库设计的任务和方法,面向过程的设计方法以处理需求为主,兼顾信息需求。又称过程驱动的设计方法面向数据的设计方法以信息需求为主,兼顾处理需求。又称数据驱动的设计方法,数据库设计的方法,(2)数据库设计步骤,在信息系统开发中必须把数据模式设计和对数据处理的程序模块设计紧密相结合。事实上,在各个开发阶段这两方面所做的需求分析、设计和实现工作是同步进行的,且需要相互参照,相互补充。,(3)数据库设计描述工具,6.3.2系统规划,1系统规划的任务,对应用单位的环境、目标、现行系统的状况进行初步调查,根据单位发展目标和战略对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约束,研究实施新系统的必要性和可能性,给出拟建系统的初步方案和项目开发计划,并对这些方案和计划分别从管理、技术、经济和社会等方面进行可行性分析,写出可行性报告。,(1)以应用单位的发展目标和战略作为系统规划的出发点,分析该单位管理的信息需求,明确信息系统的战略目标和总体结构。(2)用户参予。即由使用单位的有关人员和设计部门的系统规划人员共同合作,以便分析问题,研讨解决方案。(3)信息系统结构要有良好的整体性。(4)便于实现。方案选择强调实用和实效,技术手段强调成熟和先进,计划安排强调合理和可行。,2系统规划的原则,信息系统的规划和实现过程是“自顶向下规划分析,自底向上设计实现”过程的前期工作。采用自顶向下的规划方法,可以保证系统结构的整体性和信息需求的一致性。,6.3.3系统分析,系统分析即需求分析,它是研制信息系统最重要的阶段,也是最基础的阶段。实践表明,系统分析工作的好坏,在很大程度上决定了信息系统的成败。,系统分析,系统分析是采用系统工程的思想和方法,把复杂的对象分解成简单的组成部分,提出这些部分所需数据的基本属性和彼此间的关系。,需求分析的重点是“数据”和“处理”,通过调研和分析,应获得用户对数据库的基本要求。即:(1)信息需求,指用户需要从数据库中获得信息的内容和性质,由此导出数据要求,即在数据库中所需存储的数据。(2)处理需求,指出用户要求系统完成的处理功能,处理时间以及处理方式。(3)安全与完整性的要求。,1系统分析的任务,在系统分析中经常使用结构化分析方法(StrucuredAnalysis,简称SA)。SA方法从最上层的组织机构入手,采用自顶向下逐层分解的方法分析系统,并用形式化或半形式化的描述(如数据流程图和数据字典)来表达数据和处理过程的关系。,2系统分析的方法,数据流程图(DataFlowDiagram,简称DFD)是使用直观的图形符号,描述系统业务过程、信息流和数据要求的工具。表达了数据和处理的关系,数据字典。数据字典(DD)则是系统中各类数据定义和描述的集合,是进行详细的数据分析所获得的主要成果。,在数据字典中对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等6个方面进行定义。,数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典是系统开发的一项重要的基础工作,它在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善。数据字典可存储在计算机中,并可用一个数据字典软件来管理。,6.3.4系统设计,系统分析阶段要明确系统功能,其成果是关于新系统的实现目标。系统设计阶段要为实现系统目标具体规定数据结构和系统功能。,概述,系统设计的内容根据系统目标和处理的不同而各不相同。一般而言,它是从新信息系统的目标出发,建立系统的数据模型和功能模型,确定系统的总体结构,规划系统规模,确立模块结构并说明它们在整体系统中的作用及相互关系,选择必要的设备,采用合适的技术规范,,,以保证总体目标的实现。,系统性灵活性可靠性经济性,系统设计中应遵循的设计原则,开发一个全局性的信息系统,由于其问题的复杂性,在系统规划和需求分析阶段一般采用自顶向下的方法。而在概念结构设计中则采用自底向上的方法,即首先定义各局部应用的概念结构,然后将它集成起来得到全局的概念结构。,概念结构设计,概念结构设计:将需求分析得到的用户需求抽象为概念模型的过程。,(1)概念结构设计的方法和步骤,由于E-R模型易于理解、易更改且能真实充分反映现实世界事物和事物之间的联系,满足用户对数据的描述要求,因此一般用E-R模型作为描述概念模型的工具。,概念结构实质上是独立于任何一种数据模型(如层次、网状或关系)的信息结构。,根据具体的单位情况,在分层的数据流程图中,选择一个适当层次的数据流程图,作为设计局部概念模式的依据。可用E-R图的抽象机制对数据进行分类而确定相应的实体集、实体集的属性、实体集的主键以及实体集之间的联系。,按分层的局部应用需求,设计局部概念模式,主要工作有两点:合并由于各个局部应用所面向的问题不同,且通常是由不同的设计人员进行局部E-R图设计,各个局部E-R图之间出现不一致的地方是不可避免的。因此必须合理地消除各局部E-R图合并时发生的冲突(如属性冲突、命名冲突、结构冲突等)。消除冗余对于合并后的E-R图,可能存在一些冗余的数据和冗余的联系。所谓冗余的数据指可由基本数据导出的数据,而所谓“冗余的联系”则是指可由其他联系导出的联系。冗余现象存在将破坏数据库的完整性,增加数据库的维护困难,应当予以消除。,局部概念模式集成为全局概念模式,当各子系统的局部E-R图设计完成后,必须将所有子系统的局部E-R图逐步集成为一个全局系统的E-R图。即系统的全局概念模式,,1.数据的概念结构说明即一个单位信息系统的全局概念模式。系统所用到的所有数据必须清晰地反映在全局E-R图和数据字典中。2.系统的功能设计描述要列出相应的系统说明书,其内容包括新系统功能概图以及反映新系统的数据流程图。,(2)概念结构设计报告,概念结构设计的最终成果有两个方面:,逻辑结构设计,把概念结构设计阶段中所得到的全局E-R图中的实体集和联系,转换为关系DBMS所支持的关系型数据的逻辑结构.图表明了逻辑结构设计的步骤。,逻辑结构设计的任务:,E-R图向关系模式的转换数据模式的优化。用户模式的设计。逻辑结构设计报告,E-R图向关系模式的转换。这一步要解决的问题是:如何将实体集和实体集之间的联系转换为关系模式,如何确定这些关系模式的属性和主键。数据模式的优化。信息系统数据库逻辑设计的结果模式不是唯一的,为了进一步提高数据库应用系统的性能,还应该根据需要适当地修改调整数据模式。优化必须以一定的数据库关系理论为指导。用户模式的设计。以上得到数据库的全局逻辑模式是对系统整体而言的,它与需求分析时各个用户所反映的局部应用是有区别的。为了体现用户对数据库逻辑模式结构的看法,必须定义相应的用户模式。用户模式实际上是系统全局逻辑模式的一个子集,一般用定义用户视图的方法来实现。,注意:定义数据库全局逻辑模式主要从系统的时间效率、空间效率,易维护和易扩展等角度出发,而定义用户模式主要着重于用户的使用方便和系统的安全性。例如:为了符合用户习惯,可为用户模式定义别名,亦可以对不同级别的用户定义不同的视图,由于用户只可查询视图中的属性,避免用户访问本来不允许他们查询的数据,由此也增加了数据库的数据安全性。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论