资源描述
世纪金桥专转本计算机基础世纪金桥专转本计算机基础1计 算 机 信 息 系 统(Computer_based Information System,以下简称信息系统)是一类以提供信息服务为主要目的的数据密集型、人机交互的计算机应用系统。计算机信息系统计算机信息系统(Computer_based Informa21.涉及的数据量大2.绝大部分数据是持久的3.这些持久数据为多个应用程序所共享,甚至在一个单位或更大范围内共享4.除具有数据采集、传输、存储和管理等基本功能外,还可向用户提供信息检索,统计报表、事务处理、分析、控制、预测、决策、报警、提示等信息服务计算机信息系统技术上的特点涉及的数据量大计算机信息系统技术上的特点3从功能分类有:电子数据处理、管理信息系统、决策支持系统等 信息资源分类有:地理信息系统、多媒体管理系统等 应用领域分类有:办公自动化系统、军事指挥信息系统、医疗信息系统、民航订票系统、电子商务系统、电子政务系统等计算机信息系统的分类从功能分类有:计算机信息系统的分类4v1960年代中期以前,数据一般由文件系统管理,由于文件系统的局限性,当时的信息系统主要为单项应用服务,其主要功能也只是代替人做一些事务性操作,例如图书管理、工资管理、进、出账的管理和结算、统计报表等。1960年代中期以后,以数据的集中管理和共享为特征的数据库系统逐步取代了文件系统,成为数据管理的主要形式。因而,为一个单位或更大范围的多项应用服务的综合信息系统出现了,其功能也从单纯的事务处理扩大到规划、分析、预测和决策等领域,这是信息系统的重要发展。1960年代中期以前,数据一般由文件系统管理,由于文件系统的5“信息”和“数据”,这两个概念在计算机信息处理中是既有区别又有联系的。计算机是一种基于二进制运算的信息处理机器,任何需要由计算机进行处理的信息,都必须进行一定程度的形式化,并表示成二进制编码的形式。这就引进了数据的概念。“信息”和“数据”,这两个概念在计算机信息处理中是既有区别又6“数据是计算机中对事实、概念或指令进行描述的一种特殊格式,这种(特殊)格式适合于使用计算机及其相关设备自动地进行传输、翻译(转换)或加工处理。”在这个定义中,首先强调的是数据表达了一定的内容,即“事实、概念或指令”,这就是数据的语义;其次,数据具有一定的格式(即数据的语法),其目的是使计算机能自动进行加工处理、通信传递以及翻译转换。国际标准化组织(ISO)对数据所下的定义“数据是计算机中对事实、概念或指令进行描述的一种特殊格式,这7在信息处理领域中,信息指的是人们要解释的那些数据的含义。“数据是事实、概念或指令的一种可供计算机加工处理的特殊表示形式”,当关联上下文看待这些数据,且它们向人们传递了某些含义时,数据就变成了信息。计算机信息处理,微观上就是由计算机进行数据处理的过程。也就是说,通过信息的采集和输入,有效地把信息组织到计算机中,由计算机系统对数据进行编辑、加工、分析、计算、解释、推论、转换、合并、分类、统计、存储、传送等操作,向人们提供有用的信息。简言之,信息处理的过程实际上就是数据处理,数据处理的目的是获取有用的信息。在许多场合,如果不引起混淆的话,信息和数据通常并不严格加以区分。这一点请大家注意。在信息处理领域中,信息指的是人们要解释的那些数据的含义。8信息系统的类型信息系统的类型9从信息处理的深度来区分信息系统,基本可分为4大类,这些系统还可以按处理深度再继续进行划分。操作层业务处理系统业务信息处理系统信息检索系统信息分析系统专家系统管理层业务处理系统知识层业务处理系统辅助设计系统办公信息系统目录检索系统全文检索系统决策支持系统经理支持系统信息系统的类型从信息处理的深度来区分信息系统,基本可分为4大类,这些系统还101 业务信息处理系统业务信息处理系统是采用计算机技术进行日常业务处理的信息系统,用以使业务工作自动化,提高业务工作的效率和质量。每一个单位或部门(包括个人)都有专门的业务范围和工作内容,在其业务处理中存在着大量信息。从信息学的角度看,业务信息处理系统是一次信息(直接信息)的生产和处理系统。由于在企事业单位中不同层次的业务信息处理系统服务对象不同,因而可以进一步将它分为三类。(1)操作层业务处理系统(2)管理层业务处理系统(3)知识层业务处理系统知识层又分:辅助技术系统 办公信息系统1 业务信息处理系统业务信息处理系统是采用计算机技术进行日常11在业务信息处理系统中,其信息检索查询一般都在本单位的业务信息范围内,检索的途径和功能也比较简单。信信 息息 检检 索索 系系 统统(InformationRetrievalSystem)将将原原始始信信息息(一一次次情情报报)预预处处理理生生成成的的二二次次信信息息(二二次次情情报报)输输入入到到计计算算机机中中,经经过过计计算算机机的的加加工工再再处处理理,生生成成具具有有一一定定结结构构的的供供检检索索用用的的情情报报数数据据库库。此此后后,用用户户按按规规定定输输入入检检索索要要求求,由由检检索索系系统统在在情情报报数数据据库库中中进进行行检检索索匹匹配配,最最后后将将符符合合用户检索要求的结果输出给用户。用户检索要求的结果输出给用户。信息检索系统不是为一个单位服务的,它可以供广大的用户使用,例如我国用于科学技术“查新”建立有各类科学和技术的文献数据库(如中国科技文献库、中国科技成果库、中国专利数据库、中国学位论文数据库,中国学术会议数据库等),世界上著名的情报检索系统(如DIALOG、ORBIT等)包含的众多数据库,均可向有关人员提供联机检索服务。信息检索系统在业务信息处理系统中,其信息检索查询一般都在本单位的业务信息12信息检索系统的特点是:信息量大检索功能强服务面广通常可根据获得最终检索结果的详细程度和检索词的来源不同,而将信息检索系统分为两大类:目录检索系统全文检索系统从信息的内容来划分信息检索系统,将其分为:文献检索系统事实检索系统数值检索系统等信息检索系统的特点是:13业务信息处理系统是对原始信息存储和利用的系统,信息检索系统是对原始信息作简单的加工后提供检索服务的系统,它们基本上均停留在信息的表层,并未对这些信息进行深层次的处理,所以仅属于一次信息或二次信息系统。而对于高层(领导和决策层)人员而言,他们需要的是经过处理和分析的概括性信息,即所谓三次信息。信息分析系统是为管理决策人员掌握企事业单位运行规律和趋势,制订规划、进行决策的辅助系统。是一种高层次的信息系统,三次信息三次信息的处理系统。信息分析系统(InformationAnalysisSystem)业务信息处理系统是对原始信息存储和利用的系统,信息检索系统是14两种常见的信息分析系统:两种常见的信息分析系统:决策支持系统决策支持系统(DecisionSupportSystem,简称DSS)是辅助决策者通过数据、模型、知识以人机交互方式进行半结构化或非结构化决策的计算机信息系统。它为决策者提供分析问题、建立模型、模拟决策过程和方案的环境,可调用各种信息资源和分析工具,帮助决策者提高决策水平和质量。经理支持系统经理支持系统(ExecutiveSupportSystem,简称ESS)不提供某种固定的应用或某种具体的能力,而是提供一个综合性的计算和通信环境。两种常见的信息分析系统:经理支持系统(Executive S15专家系统(Expert System,简称ES)是一种知识信息的加工处理系统,也是人工智能最为重要的应用系统。专家系统模仿人类专家的思维活动,通过推理与判断来求解问题。专家系统具有解决特定问题所需的专门领域知识,这种知识不但包括解决该问题的知识,同时还包括求解该问题过程的知识。一个专家系统通常由两部分组成:一一部部分分是称为知识库的知识集合,它包括要处理问题的领域知识,另另一一部部分分是称为推理机的程序模块。推理是指从已有事实推出新事实(或结论)的过程。在专家系统中首先将专家的知识和经验以适当的形式存入计算机(拥有专门知识拥有专门知识),利用类似专家的思维规则,对事例的原始数据,进行逻辑推理和演释,最后作出判断和决策(选择知识选择知识和和运用知识运用知识)。专家系统专家系统(Expert System,简称ES)是一种知识信16系统类型系统类型输入信息输入信息处理处理输出信息输出信息使用者使用者业务业务信息信息处理处理系统系统操作层操作层事务和事件的事务和事件的直接数据直接数据排序、列表、排序、列表、合并合并报告、列表、报告、列表、概要概要操作和管理人操作和管理人员员管理层管理层总括的事务处总括的事务处理数据理数据常规的统计、常规的统计、分析分析总结报告、异总结报告、异常报告常报告中层管理人员中层管理人员知识层知识层设计说明书、设计说明书、知识库知识库模型设计、仿模型设计、仿真、优化真、优化模型、图形设模型、图形设计报告计报告专业技术人员专业技术人员办公信息办公信息文献、资料、文献、资料、目录、公文目录、公文流转、编目、流转、编目、通信、归档通信、归档资料、目录、资料、目录、电子邮件电子邮件办公人员办公人员信息检索系统信息检索系统资料和文献数资料和文献数据据交互性、检索交互性、检索检索结果检索结果各类人员各类人员信息信息分析分析系统系统决策支持决策支持总括数据、模总括数据、模型、分析方法型、分析方法联机分析、知联机分析、知识发现识发现决策分析、对决策分析、对提问的响应提问的响应决策人员决策人员经理支持经理支持内外部的总括内外部的总括数据数据图形、交互性图形、交互性对提问的响应对提问的响应决策人员决策人员专家系统专家系统领域专家知识领域专家知识推理、演释推理、演释决策知识决策知识技术和决策人技术和决策人员员系统类型输入信息处理输出信息使用者业务信息处理系统操作层事务17信息系统的发展趋势信息系统的发展趋势18新的应用需求和新的计算机技术是推动信息系统发展的动力。目前,信息系统的发展趋势:信息多媒体化信息多媒体化系统集成化系统集成化 功能智能化功能智能化结构分布化结构分布化新的应用需求和新的计算机技术是推动信息系统发展的动力。目前,19数据管理技术的发展数据管理技术的发展20从计算机一开始应用于数据管理领域,人们就面对数据管理的需求,致力于研究在计算机系统中如何准确地表示数据、如何有效地获取与组织数据、以及如何高效地存储和处理数据。计算机数据管理技术的发展可以划分为三个阶段:人工管理阶段文件系统阶段数据库系统阶段 从计算机一开始应用于数据管理领域,人们就面对数据管理21用户根据应用需要将数据按其内容、结构和用途组成若干文件并存储在外存中,由操作系统统一管理,操作系统为用户使用文件提供相应的界面。不同的用户编制程序对各自所定义的文件进行处理。由于在文件系统中数据的组织是面向用户程序的,所以存在大量的数据冗佘(即多个数据文件中重复出现相同的数据),且数据在文件中的结构很难修改和扩充。更严重的是,数据结构的任一微小改变,都会影响到应用程序。由于文件是各个用户独立定义的,因而它们不能反映现实世界中事物相互之间原本存在的联系。文件系统(FileSystem)阶段用户根据应用需要将数据按其内容、结构和用途组成若干文件并存储22文件系统中的文件和程序关系面向应用程序A面向应用程序B文件A1文件An文件B1文件Bm文件系统应用程序A应用程序B应用程序n文件系统中的文件和程序关系面向应用程序A面向应用程序B文23以统一管理和共享数据为主要特征数据库管理系统(Data Base Management System,简称DBMS)数据库系统阶段在数据库系统中,数据不再仅仅服务于某个程序或用户,而是按一定的结构存储于数据库,作为共享资源,由一个称为数据库管理系统的软件管理,使得数据能为尽可能多的应用服务。以统一管理和共享数据为主要特征数据库系统阶段在数据库系统中,24应用程序应用程序A应用程序应用程序B应用程序应用程序n数据库管理系数据库管理系统(统(DBMS)数据库数据库(DB)DBMS中应用程序与数据的关系应用程序A应用程序B应用程序n数据库管理系统(DBMS)数据25与文件系统相比,数据库系统具有以下特点:(1)数据结构化。(2)数据共享性高,冗余度低。(3)系统灵活,易于扩充。(4)数据独立于程序。(5)统一管理和控制数据。(6)具有良好的用户接口。逻辑独立性,是指用户的应用程序与数据库的逻辑结逻辑独立性,是指用户的应用程序与数据库的逻辑结构相互独立。构相互独立。物理独立性,是指用户的应用程序与存储在数据库中物理独立性,是指用户的应用程序与存储在数据库中的数据相互独立。的数据相互独立。数据库系统的特点与文件系统相比,数据库系统具有以下特点:逻辑独立性,是指用户26数据库系统的组成(1)计算机支持系统(2)数据库(3)数据库管理系统(4)人员数据库数据库计算计算机支机支持系持系统统数据库管理系统数据库管理系统数据库管理员数据库管理员各种各种应用应用程序程序数据库系统的组成(1)计算机支持系统数据库计算机支持系统数据27用用户户终端终端应用系统应用系统数据库管理员数据库管理员系统分析设计员系统分析设计员系统程序员系统程序员用户模式用户模式逻辑模式逻辑模式存储模式存储模式DB数据抽象层数据抽象层数据库管理数据库管理系统系统(DBMS)操作系统操作系统(OS)软件系统层软件系统层用户终端应用系统数据库管理员用户模式逻辑模式存储模式DB数据28数据模型(DataModel)数据模型(Data Model)29在数据库系统中,一般采用数据模型来对现实世界数据进行抽象。数据模型是数据库系统中用于数据表示和操作的一组概念和定义。各种数据库产品都是基于某种数据模型的。现实世界现实世界(客观对象)(客观对象)抽象抽象概念系统概念系统转换转换计算机系统计算机系统(概念模型)(概念模型)(数据模型)(数据模型)首先把现实世界的对象抽象为某一种不依赖于具体计算机系统的数据结构(概念模型);然后再把概念模型转换为计算机中DBMS所支持的数据模型在数据库系统中,一般采用数据模型来对现实世界数据进行抽象。现30概念模型可以按用户观点准确地模拟应用单位对数据的描述及业务需求,即对应用数据和信息建模。建模的最终目的是按计算机系统所支持的数据模型来组织数据。数据模型要用严格的形式化定义来描述数据的结构特点和结构约束。通常一个数据模型包括以下两方面的内容:数据静态的特性它包括数据的基本逻辑结构,数据间的联系和数据中的完整性约束,以保证数据的正确、有效和相容。数据的动态特性它指定义在数据上的操作,包括这些操作的规则及实现操作的语言。目前常用“实体-联系(Entity-Relationship,简称E_R)”方法来建立概念模型。概念模型可以按用户观点准确地模拟应用单位对数据的描述及业务需31概念模型 是对应用单位数据的第一次抽象,也是用户和数据库设计人员之间进行交流与沟通的工具。ER概念模型有关术语实体:凡是可以被人们识别而又可以互相区别的客观对象统统抽象为实体(Entity)。具有共性的一类实体可以组合为一个实体集。属性:实体一般具有若干特征,用于描述其性质,这种特征称之为实体的属性(Attribute)。称每个属性的取值范围为值域。实体主键:能够唯一标识实体的属性或属性组(这组属性的任何真子集无此性质)称为实体集的实体键。联系:抽象到概念系统中的实体之间会有各种联系(Relationship)。如果一个实体集有多个实体键存在,则可从中选一个最常用的作为实体主键,简称主键(Primary Key)。概念模型 是对应用单位数据的第一次抽象,也是用户和数据库设32联系又可分为两种:联系又可分为两种:1.1.实体集内部的联系实体集内部的联系 2.2.实体集之间的联系实体集之间的联系 三三类类不不同同语语义义的的联联系系:(以以二二元元联联系系(两两个个实实体体集集之之间间的的联联系系)为为例例)一对一一对一联系(联系(1 1:1 1)对于实体集A的每一个实体,实体集B中至多有一个实体与之联系;反之亦然,则称实体集A和实体集B具有1: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联系联系又可分为两种:三类不同语义的联系:(以二元联系(两个实体33ER图学号学号SNO姓名姓名SNME系别系别DEPART出生年月出生年月BDATE学生学生S所属所属SCL班级班级CLASS班号班号CLNO班名班名CLNAME班长班长MONITOR排座排座SS教室座位教室座位SIE排号排号ROW列号列号COLUMN选课选课SC成绩成绩GRADE课程课程C课程号课程号CNO课程名课程名CNAME学时学时LHOUR开课时间开课时间SEMESTERnm1n11性别性别SEX身高身高HEIGHTER图学号姓名系别出生年月学生S所属班级班号班名班长排座S34数据模型v层次模型(Hierarchica Model)层次模型用树结构表示实体集之间的联系。v网状模型(Network Model)用网络结构表示实体集之间联系的数据模型。v关系模型(Relational Model)用二维表结构表示实体集以及实体集之间联系的数据模型 v面向对象模型(Object-Orinted Model)数据模型层次模型(Hierarchica Model)35v在面向对象模型中把现实世界的实体都模拟为一种对象,并把类似的对象归并为一类(Class)v每个对象有一个状态,对象的状态是该对象属性值的集合v每个对象有一组操作,而每个操作决定对象的一种行为v每个对象有一个唯一的标识符,它把对象状态和对象行为“封装”在一起v对象之间通过消息进行通信。当一个对象要求另一个对象做某个动作时,就向它发送一个消息,以激活该对象的某个方法v对象的每个方法都对应且仅对应一条消息v对象运行的结果也以消息的形式给出 面向对象模型在面向对象模型中把现实世界的实体都模拟为一种对象,并把类似的36关系数据库关系数据库37(1)关系数据模型的逻辑结构v关系数据模型的基本结构是关系v关系数据模型中数据的逻辑结构是一张二维表(Table),它由表名、行和列组成。表的每一行称为一个元组(Tuple),每一列称为一个属性(Attribute)。v用关系数据模型对一个具体单位中客观对象的实体集、属性和联系的结构描述,一般称为关系数据模式(Data Schema),而二维表中的内容即为其实例。v关系数据模式的一般描述形式为:R(A1,A2,Ai,An)1关系数据模型的数据结构(1)关系数据模型的逻辑结构1 关系数据模型的数据结构38(2)关系数据模型的存储结构在关系数据模型中,实体集、实体集之间的联系都用二维表来表示。在支持关系模型的数据库(即关系数据库)物理组织中,二维表以文件形式存储。在大多数数据库中,二维表与操作系统中的文件相对应。文件系统(操作系统)文件系统(操作系统)关系模型关系模型数据库语言数据库语言SQL记录类型记录类型关系模式关系模式基本表结构基本表结构文件文件关系(二维表)关系(二维表)基本表基本表记录记录元组元组行行数据项数据项属性属性列列(3)关系数据模型的特点(2)关系数据模型的存储结构文件系统(操作系统)关系模型数据39在这一节里,我们从集合论角度给出关系数据结构的形式化定义。【定义1】域(Domain)是一组具有相同数据类型的值的集合。【定义2】给定一组域D1,D2,Dn,这些域中可以有相同的。其笛卡尔积(Cartesian product)为:D1D2 Dn=(d1,d2,dn)|diDi,i=1,2,n。2关系模型结构的形式化定义在这一节里,我们从集合论角度给出关系数据结构的形式化定义。240【定义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在关系数据模型中,对每个关系还作了一些限制在关系数据模型中,对每个关系还作了一些限制【定义3】D1D2Dn的子集称为在域D1,D2,41关系模式用R(A1,A2,An)表示,仅仅说明关系的语法,但是并不是每个合乎语法的元组都能成为R的元组,它还要受到语义的限制。数据的语义不但会限制属性的值,数据的语义还会制约属性间的关系,这些约束可以用来保证数据库中数据的正确性,称其为关系数据模型的完整性约束。三类关系数据模型的完整性规则:(1)实体完整性(2)引用完整性(3)用户定义完整性约束 3关系数据模型的完整性关系模式用R(A1,A2,An)表示,仅仅说明关系的语法42(1)实体完整性若属性A为关系R的主键,则A不能为空值(即其值处于未知状态,记为Null)或重值。【定义4】设F是基本关系R(指对应实际存储的文件)的一个或一组属性,但不是R的主键。如果F与另一个基本关系S的主键KS相对应,则称F是基本关系R的外键(Foreignkey),关系R和S可以是同一个关系。(2)引用完整性R1的外键F要么是被引用关系R2中某一元组实际存在的主键值,要么为空值。简单地说,即“引用完整性”要求在关系中不允许引用不存在的实体(即元组)。(3)用户定义完整性约束 用户定义完整性它反映某一具体应用所涉及的数据必须满足的语义要求,由应用环境对数据的需求而决定。(1)实体完整性【定义4】设F是基本关系R(指对应实际存储的43E_R概念模型转换为关系模式的两条原则 实体的转换 联系的转换“联系”转换成”关系模式”中的主键应仔细考虑:联系联系为为1:1联系联系为为1:n联系联系为为m:n4E_R概念模型转换为关系数据模式 E_R概念模型转换为关系模式的两条原则“联系”转44关系代数操作关系代数操作45 关系数据模型提供了关系操作的能力,这种操作能力可用代数方式和逻辑方式来表示,分别称为关系代数和关系演算。关系代数:用对关系的运算来表达查询要求的方法(代数方式表示)关系演算:用谓词来表达查询要求的方式(逻辑方式表示)关系代数操作简称为关系操作。分为两类:v 传统的集合操作v 关系专用的操作 关系操作的结果仍为关系,可以再参与其他关系操作,构成关系代数表达式,由此描述对关系的各种复杂操作。关系数据模型提供了关系操作的能力,这种操作能力46关系是元组的集合,因此集合运算均可适用于关系。(2)差操作设关系R和S并相容,其差操作(Difference)表示为R-S,操作结果生成一个新关系,其元组由属于R,但不属于S的元组组成:1传统的集合操作(1)并操作设有关系R和关系S,它们有相同的模式结构(称R与S是“并相容”),其并操作(Union)表示为RS,操作结果生成一个新的关系,其元组由属于R的元组和属于S的元组共同组成:并、差、交、积并、差、交、积关系是元组的集合,因此集合运算均可适用于关系。(2)差操作147(3)交操作(Intersection)设关系R和S并相容,其交操作表示为:RS,操作结果为:即结果关系中的元组由既属于R又属于S的元组组成。关系的交可以用差来表示:关系的交可以用差来表示:或者或者(3)交操作 (Intersection)关系的交可以用差48(4)广义笛卡尔积 设关系R和S分别具有p和q个属性,定义R和S的广义笛卡尔积(Extended Cartesian Product)是一个具有(p+q)个属性的集合,每一个元组的前p个属性来自R的一个元组,后q个属性来自S的一个元组。广义笛卡尔积记为RS,定义如下:注意:RS有mn个元组(4)广义笛卡尔积注意:RS有mn个元组49其中 R 为关系名,逻辑表达式 F(t)表示条件,F(t)中的运算符包括、=、及算术表达符,运算对象可以是属性名,常量等。由此可见,选择操作实际上是从关系中选取使条件 F(t)为真的元组组成新的关系,它是从行的角度进行的操作。2专门的关系操作它包括:选择、投影、连接、自然连接、除法(1)选择操作(Selection)选择操作是从关系中选择满足条件的元组组成一个新关系。选择操作用下式表示:F F(R)=其中 R 为关系名,逻辑表达式 F(t)表示条件,F(t)中50(2)投影操作投影操作(Project)投影操作是对关系作垂直分解。从关系的属性中选择属性列,由这些属性列组成一个新关系。若A为关系R中的属性列,投影操作表示为:(2)投影操作(Project)投影操作是对关系作垂直分解。51 连接是从关系R和S的广义笛卡尔积中选取属性值之间满足某一 运算的元组,记为 (3 3)连接操作连接操作(Join)其中i 表示关系R第i个属性,j表示关系S中第j个属性,是算术比较符。连接的形式定义如下:其中p是关系R的属性个数。第(p+j)个属性满足运算的元组。如果是等号“=”那么这个连接操作称为“等值连接”。在R和S的广义笛卡尔积中挑选第i个属性和 连接是从关系R和S的广义笛卡尔积中选取属性值之间满52自然连接是一种特殊的等值连接,它要求两个关系中进行比较的属性必须是相同的属性列,并且在结果中把重名的属性列去掉。即若关系R和S具有相同的属性列B,则自然连接记作:(4 4)自然连接自然连接(naturaljoin)RS=其中是从关系S中去掉B属性列的元组。自然连接是一种特殊的等值连接,它要求两个关系中进行比较的属性53设 有 关 系 R(x,y)和 S(y),x和 y为 属 性 列,且S(y),则除法操作(Division)可记为:(5)除法操作除法操作RS=R R:学生:学生-外语课程选修表外语课程选修表S S:外语课程开设表:外语课程开设表RSRS:选修全部外语课程学生表:选修全部外语课程学生表学号学号姓名姓名课程号课程号课程名课程名C005 张雷张雷W-001英语英语C005 张雷张雷W-002日语日语C005 张雷张雷W-003德语德语C008 王宁王宁W-001英语英语C008 王宁王宁W-003德语德语R098 钱欣钱欣W-001英语英语A041 周光明周光明 W-002日语日语 A041 周光明周光明W-003德语德语M038 李霞霞李霞霞W-001英语英语A041 周光明周光明 W-001英语英语 课程号课程号课程名课程名W-001英语英语W-002日语日语W-003德语德语周光明A041张雷C005姓名学号设有关系R(x,y)和S(y),x和y为属性列,且S(y)54以上9种关系代数操作,其中并、差,广义笛卡尔积、投影和选择5种操作称为基本操作,它们可以组成关系代数的完备操作集。其他操作(如交、连接和除法)均可以用这5种基本操作来表达。以上9种关系代数操作,其中并、差,广义笛卡尔积、投影和选择555关系数据库标准语言SQL关系数据库标准语言SQL56v数据库语言:数据库管理系统配置,使用户可以对数据库进行各式各样的操作,构成用户和数据库的接口的语言。v由于DBMS所提供的语言一般局限于对数据库的操作,不同于计算机的程序设计语言,因而称它为数据库语言。v关系数据库语言是一种非过程语言。vSQL(Structured Query Language):一种基于关系代数和关系演算之间的语言非过程语言是有别于过程语言的,即对用户而言只要说明“做什么”,指出需要何类数据,至于“如何做”才能获得这些数据的过程,则不必要求用户说明,而由系统来实现。数据库语言:数据库管理系统配置,使用户可以对数据库进行各式各57SQL数据库具有三级体系结构。在SQL中,逻辑模式对应于基本表(Base Table),存储模式对应于存储文件,用户模式主要对应于视图(View),元组称为“行”,属性称为“列”。1SQL数据库的体系结构SQL数据库的体系结构用户用户1 1用户用户2 2用户用户3 3用户用户n n视图视图V V1 1视图视图V Vp p基本表基本表B B1 1基本表基本表B B2 2基本表基本表B B3 3基本表基本表B Bm m存储文件存储文件S S1 1存储文件存储文件S S2 2存储文件存储文件S S3 3存储文件存储文件S Sq q用户模式用户模式逻辑模式逻辑模式存储模式存储模式SQL数据库具有三级体系结构。在SQL中,逻辑模式对应于基本582SQL数据定义SQL提供数据定义语言(DDL),它包括:定义基本表 修改基本表 删除基本表建立和删除索引 建立和删除视图 等。定义基本表的SQL语句表示为:CREATE TABLE(列名数据类型完整性约束条件,)表示可含有该子句,也可为空,视实际定义要求而定。是所要定义的基本表名字。定义基本表时要指明每个列的类型和长度,同时还可以定义与该表有关的完整性约束条件。这些完整性约束与基本表的定义内容一并被存入系统的数据字典中,当用户操作基本表中的数据时,由DBMS自动检查该操作是否违背这些完整性约束条件。2 SQL数据定义SQL提供数据定义语言(DDL),它包括:59数据库查询是数据库的核心操作。SQL语言提供了SELECT语句进行数据库查询。SELECT查询语句简单的形式为:SELECT A1,A2,An(指出目标表的列名或列表达式序列)FROM R1,R2,Rm(指出基本表或视图序列)WHERE F (F为条件表达式)GROUP BY 列名序列 (结果表分组)ORDER BY 列名排序方向(结果表排序)3SQL的数据查询数据库查询是数据库的核心操作。3 SQL的数据查询60它可将一个记录插入到指定的表中。语句格式为:INSERT INTO (,)VALUES(,)4SQL的数据更新(1)插入语句插入语句(INSERT)UPDATE SET,WHERE (2)修改语句修改语句(UPDATE)修改语句可对指定表中已有数据进行修改。语句格式如下:它可将一个记录插入到指定的表中。语句格式为:4 SQL的数据61(3)删除数据删除数据(DELETE)SQL删除语句的格式为:DELETEFROMWHERE该语句的功能是从指定表中删除满足WHERE子句条件的记录。如果省略WHERE子句,则删除表中所有记录。注意:仅删除表中记录,表的定义仍在数据字典中。(3)删除数据(DELETE)SQL删除语句的格式为:D62v视图是DBMS所提供的一种以用户模式观察数据库中数据的重要机制。v视图可由基本表或其他视图导出。v视图只是一个虚表。5SQL的视图SQL语言用CREATEVIEW语句建立视图,其一般格式为:CREATEVIEW视图名ASSQL-查询语句视图定义后,用户就可以象对基本表操作一样对视图进行查询视图是DBMS所提供的一种以用户模式观察数据库中数据的重要机63安全性指保护数据库以防止不合法的使用所造成的数据泄露、修改或破坏。在数据库系统中,安全措施是逐级设置的。主要技术有:1数据库的安全性(1 1)用户标识与鉴别)用户标识与鉴别(2 2)访问控制)访问控制(3 3)审计功能)审计功能 (4 4)数据加密)数据加密 (5 5)视图的保护)视图的保护安全性指保护数据库以防止不合法的使用所造成的数据泄露、修改或642数据库的备份和恢复 转储指把数据库中的数据定期地从数据库卸出并写到系统的后备文件中作为备份。日志技术指利用日志文件记录对数据库的每次修改操作的信息,当系统出现故障时,利用备份和日志信息来恢复系统。由于计算机系统的硬件故障、软件故障、操作员的误操作以及恶意入侵都会破坏数据库中数据的正确性。为了使数据库系统在出现故障后,能迅速恢复(Recovery)系统,大多数数据库管理系统采用转储和日志技术。恢复工作由DBMS的恢复子系统执行,其目的是把数据库从因故障而发生的破坏或不正确的状态,恢复到最近的一个正确状态。数据库恢复的基本机制就是“冗余”,即用备份来对数据库数据重复存储2 数据库的备份和恢复 转储指把数据库中的数据定期地从数653数据库的完整性v数据库的完整性是指数据库中数据应始终保持正确的状态,防止不符合语义的错误数据输入,以及无效操作所造成的错误结果。v为了维护数据库的完整性,DBMS必须提供一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库上的语义条件称为完整性约束(Integrity Constraints),它们作为模式的一部分存入数据库数据字典中。v可用SQL的断言(Assertions)来编写完整性规则。3 数据库的完整性数据库的完整性是指数据库中数据应始终保持正664数据库的并发控制v在多用户共享数据库系统中,多个事务可能同时对同一数据进行操作,这就不可避免地发生冲突。vDBMS的并发控制(Concurrency Control)子系统负责协调并发事务的执行,保证数据库的完整性不受破坏,同时避免用户得到不正确的数据。v调度的原则是:既要交叉分时执行,以充分利用系统资源,又要避免访问冲突,以保证多事务存取共享数据库的正确性。4 数据库的并发控制在多用户共享数据库系统中,多个事务可能同67信息系统开发与管理信息系统开发与管理68信息系统的开发和管理是一项系统工程,也是涉及多学科的综合技术。信息系统开发周期长、投资大、风险大,比一般技术工程有更大的难度和复杂性。对于从事信息系统分析、设计和管理的有关人员而言,应该掌握的知识是多方面的。其中主要包括:软件工程技术数据库设计技术程序设计方法应用领域的业务知识对应用环境深入的了解信息系统的开发和管理是一项系统工程,也是涉及多学科的综合技术69软件危机:大型软件系统开发成本高,可靠性差,甚至有时人们无法管理自身所创造出来的这个复杂逻辑系统,致使软件的生产和维护出现了很大的困难,当时人们称此为“软件危机”。程序是根据算法用某种计算机语言编写的语句的集合而软件是程序再加上程序实现和维护系统时所必需文档的总称。(1)对软件需求分析的重要性认识不够(2)软件不是物理产品而是一种逻辑产品(3)问题的复杂度增加软件危机产生的主要原因有三个:软件危机产生的主要原因有三个:1软件危机和软件工程软件危机:大型软件系统开发成本高,可靠性差,甚至有时人们无70软件工程(SoftwareEngineering)以工程化的方式组织软件开发。2软件工程方法要点软件开发技术软件工程管理软件开发方法软件开发工具必须强调以下几点:软件工程(Software Engineering)2 软71(1)结构化生命周期方法(2)原型法(3)面向对象开发设计方法(4)CASE方法 3信息系统开发方法(1)结构化生命周期方法 3 信息系统开发方法72结构化方法将信息系统软件生命分为5个阶段:系统规划系统规划系统分析系统分析系统设计系统设计系统实施系统实施系统维护系统维护结构化生命周期方法在结构化生命周期法开发信息系统的过程中,特别强调结构化的分析和设计原则。其基本思想是:采用自顶向下,逐层分解、逐步求精的方法分析和设计整个系统,可以有效地减小和控制系统开发的复杂性。自顶向下,将系统划分为若干个既相对独立又相互关联的具有层次性的模块,而整体系统是这些模块的集成。采用图示工具(如数据流程图和E_R图等)描述分析和设计的内容,便于系统开发过程中各类人员(包括用户)之间的相互交流。明确系统开发的各个阶段的任务。强调用户参予系统分析与系统设计过程的作用。结构化方法将信息系统软件生命分为5个阶段:系统规划 73是指由系统分析设计人员与用户合作,在短期内定义用户基本需求的基础上,首先开发出一个具备基本功能、实验性的、简易的应用软件。然后运行这个原型,并在相应的辅助开发工具的支持下,按照不断求优的设计思想,通过反复的完善性实验而最终开发出符合用户要求的信息系统。原型法(PrototypingApproach)是指由系统分析设计人员与用户合作,在短期内定义用户基本需求的74面向对象技术在需求分析、可维护性和可靠性这三个软件开发的关键环节和质量指标上,较之其他方法均有实质性的突破。面向对象开发设计方法是一种自底向上和自顶向下相结合的方法,它以对象建模为基础,建立系统所有对象的数据结构。面向对象方法(Object-Oriented Modeling,简称OOM)面向对象技术在需求分析、可维护性和可靠性这三个软件开发的关键75CASE方法CASE(Computer Aided Software Engineering)是一种自动化或半自动化的方法,可以全面支持除系统规划外的每一个开发阶段的工作,它是1980年代末从计算机辅助编程工具、第四代程序设计语言(4GC)及绘图工具发展而来的。采用CASE工具进行系统开发,必须结合一种具体的开发方法(如以上介绍的3种开发方法),CASE可为它们提供支持各个开发过程的专门工具。实际上是把原先由手工完成的开发过程转变为使用自动化工具和支撑环境的开发过程。CASE方法CASE(Computer Aided Soft76 数据库设计的任务 数据库设计的基本任务是根据一个单位或部门的信息需求、处理需求和数据库的支持环境(包括硬件、操作系统和DBMS),设计出数据模式(包括用户模式、逻辑模式和存储模式)以及相应的应用程序。信息需求表示一个单位所需要的数据及其结构,处理需求表示一个单位经常需要进行的数据处理功能。前者表达了对数据库的内容及结构的要求(静态),后者表达了基于数据库的数据处理要求(动态)。数据库设计概要(1)数据库设计的任务和方法面向过程的设计方法以处理需求为主,兼顾信息需求。又称过程驱动的设计方法面向数据的设计方法以信息需求为主,兼顾处理需求。又称数据驱动的设计方法数据库设计的方法 数据库设计的任务 数据库设计概要(1)数据库设计的任务77(2)数据库设计步骤在信息系统开发中必须把数据模式设计和对数据处理的程序模块设计紧密相结合。事实上,在各个开发阶段这两方面所做的需求分析、设计和实现工作是同步进行的,且需要相互参照,相互补充。(2)数据库设计步骤在信息系统开发中必须把数据模式设计和对数78(3)数据库设计描述工具阶段设计描述数据处理需求分析数据项、数据流、数据存储的描述、数据字典(DD),数据流程图(DFD)数据流程图和判定表、数据字典(DD),处理过程描述概念设计概念结构模型(E-R图)数据字典(DD)新系统功能概图新系统数据流程图(DFD)逻辑设计关系数据模式系统结构图(结构模块)物理设计存储结构存取路径模块IPO表系统实施SQL数据模式装入数据,数据库试运行程序编码、编译联结、测试系统维护性能监测、转储/日志数据库重组和重构新旧系统交接、运行、维护(3)数据库设计描述工具阶段设计描述数据处理需求分析数据项、79系统规划系统规划80 1 系统规划的任务对应用单位的环境、目标、现行系统的状况进行初步调查,根据单位发展目标和战略对建设新系统的需求做出分析和预测,同时考虑建设新系统所受的各种约束,研究实施新系统的必要性和可能性,给出拟建系统的初步方案和项目开发计划,并对这些方案和计划分别从管理、技术、经济和社会等方面进行可行性分析,写出可行性报告。1 系统规划的任务对应用单位的环境、目标、现行系统的状况进81(1)以应用单位的发展目标和战略作为系统规划的出发点,分析该单位管理的信息需求,明确信息系统的战略目标和总体结构。(2)用户参予。即由使用单位的有关人员和设计部门的系统规划人员共同合作,以便分析问题,研讨解决方案。(3)信息系统结构要有良好的整体性。(4)便于实现。方案选择强调实用和实效,技术手段强调成熟和先进,计划安排强调合理和可行。2系统规划的原则信息系统的规划和实现过程是“自顶向下规划分析,自底向上设计实现”过程的前期工作。采用自顶向下的规划方法,可以保证系统结构的整体性和信息需求的一致性。(1)以应用单位的发展目标和战略作为系统规划的出发点,分析该82系统分析系统分析83 系统分析即需求分析,它是研制信息系统最重要的阶段,也是最基础的阶段。实践表明,系统分析工作的好坏,在很大程度上决定了信息系统的成败。系统分析 系统分析即需求分析,它是研制信息系统最重要的阶段84 系统分析是采用系统工程的思想和方法,把复杂的对象分解成简单的组成部分,提出这些部分所需数据的基本属性和彼此间的关系。需求分析的重点是“数据”和“处理”,通过调研和分析,应获得用户对数据库的基本要求。即:(1)信息需求,指用户需要从数据库中获得信息的内容和性质,由此导出数据要求,即在数据库中所需存储的数据。(2)处理需求,指出用户要求系统完成的处理功能,处理时间以及处理方式。(3)安全与完整性的要求。1系统分析的任务 系统分析是采用系统工程的思想和方法,把复杂的对象分85在 系 统 分 析 中 经 常 使 用 结 构 化 分 析 方 法(Strucured Analysis,简称SA)。SA方法从最上层的组织机构入手,采用自顶向下逐层分解的方法分析系统,并用形式化或半形式化的描述(如数据流程图和数据字典)来表达数据和处理过程的关系。外部实体外部实体系统对数据系统对数据的处理逻辑的处理逻辑数据流数据流(数据的外部(数据的外部来源和去处)来源和去处)数据流数据流数据存储数据存储2系统分析的方法 数据流程图(Data Flow Diagram,简称DFD)是使用直观的图形符号,描述系统业务过程、信息流和数据要求的工具。表达了数据和处理的关系在系统分析中经常使用结构化分析方法(Strucured An86数据字典。数据字典(DD)则是系统中各类数据定义和描述的集合,是进行详细的数据分析所获得的主要成果。数据项数据项数据结构数据结构数据流数据流处理逻辑处理逻辑数据存储数据存储外部实体外部实体编号和名称编号和名称别名别名含义说明含义说明类型及宽度类型及宽度取值范围取值范围项间联系项间联系编号和名称编号和名称含义说明含义说明组成组成编号和名称编号和名称含义说明含义说明组成组成平均流量平均流量相关流向相关流向编号和名称编号和名称含义说明含义说明相关数据流处理相关数据流处理处理频率处理频率编号和名称编号和名称含义说明含义说明主键和组成主键和组成相关数据流相关数据流数据量数据量存取频度和存取频度和方式方式编号和名称编号和名称简述相关数简述相关数据流据流在数据字典中对数据流程图中的数据项、数据结构、数据流、处理逻辑、数据存储和外部实体等6个方面进行定义。数据字典是关于数据库中数据的描述,即元数据,而不是数据本身。数据字典是系统开发的一项重要的基础工作,它在需求分析阶段建立,在数据库设计过程中不断修改、充实、完善。数据字典可存储在计算机中,并可用一个数据字典软件来管理。数据字典。数据字典(DD)则是系统中各类数据定义和描述的87系统设计系统设计88系统分析阶段要明确系统功能,其成果是关于新系统的实现目标。系统设计阶段要为实现系统目标具体规定数据结构和系统功能。概述系统设计的内容根据系统目标和处理的不同而各不相同。一般而言,它是从新信息系统的目标出发,建立系统的数据模型和功能模型,确定系统的总体结构,规划系统规模,确立模块结构并说明它们在整体系统中的作用及相互关系,选择必要的设备,采用合适的技术规范,以保证总体目标的实现。系统分析阶段要明确系统功能,其成果是关于新系统的实现目标。概89 系统性 灵活性 可靠性 经济性系统设计中应遵循的设计原则 系统性系统设计中应遵循的设计原则90开发一个全局性的信息系统,由于其问题的复杂性,在系统规划和需求分析阶段一般采用自顶向下的方法。而在概念结构设计中则采用自底向上的方法,即首先定义各局部应用的概念结构,然后将它集成起来得到全局的概念结构。概念结构设计概念结构设计:将需求分析得到的用户需求抽象为概念模型的过程。(1 1)概念结构设计的方法和步骤)概念结构设计的方法和步骤由于E-R模型易于理解、易更改且能真实充分反映现实世界事物和事物之间的联系,满足用户对数据的描述要求,因此一般用E-R模型作为描述概念模型的工具。概念结构实质上是独立于任何一种数据模型(如层次、网状或关系)的信息结构。开发一个全局性的信息系统,由于其问题的复杂性,在系统规划和需91根据具体的单位情况,在分层的数据流程图中,选择一个适当层次的数据流程图,作为设计局部概念模式的依据。可用E-R图的抽象机制对数据进行分类而确定相应的实体集、实体集的属性、实体集的主键以及实体集之间的联系。按分层的局部应用需求,设计局部概念模式根据具体的单位情况,在分层的数据流程图中,选择一个适当层次的92主要工作有两点:合并由于各个局部应用所面向的问题不同,且通常是由不同的设计人员进行局部E-R图设计,各个局部E-R图之间出现不一致的地方是不可避免的。因此必须合理地消除各局部E-R图合并时发生的冲突(如属性冲突、命名冲突、结构冲突等)。消除冗余对于合并后的E-R图,可能存在一些冗余的数据和冗余的联系。所谓冗余的数据指可由基本数据导出的数据,而所谓“冗余的联系”则是指可由其他联系导出的联系。冗余现象存在将破坏数据库的完整性,增加数据库的维护困难,应当予以消除。局部概念模式集成为全局概念模式当各子系统的局部E-R图设计完成后,必须将所有子系统的局部E-R图逐步集成为一个全局系统的E-R图。即系统的全局概念模式,主要工作有两点:局部概念模式集成为全局概念模式当各子系统931.数据的概念结构说明即一个单位信息系统的全局概念模式。系统所用到的所有数据必须清晰地反映在全局E-R图和数据字典中。2.系统的功能设计描述要列出相应的系统说明书,其内容包括新系统功能概图以及反映新系统的数据流程图。(2)概念结构设计报告概念结构设计的最终成果有两个方面:1.数据的概念结构说明(2)概念结构设计报告概念结构设计的94逻辑结构设计 把概念结构设计阶段中所得到的全局E-R图中的实体集和联系,转换为关系DBMS所支持的关系型数据的逻辑结构.图表明了逻辑结构设计的步骤。逻辑结构设计的任务:1.E-R图向关系模式的转换2.数据模式的优化。3.用户模式的设计。4.逻辑结构设计报告逻辑结构设计 把概念结构设计阶段中所得到的全局E-R图中的实95 E-R图向关系模式的转换。这一步要解决的问题是:如何将实体集和实体集之间的联系转换为关系模式,如何确定这些关系模式的属性和主键。数据模式的优化。信息系统数据库逻辑设计的结果模式不是唯一的,为了进一步提高数据库应用系统的性能,还应该根据需要适当地修改调整数据模式。优化必须以一定的数据库关系理论为指导。用户模式的设计。以上得到数据库的全局逻辑模式是对系统整体而言的,它与需求分析时各个用户所反映的局部应用是有区别的。为了体现用户对数据库逻辑模式结构的看法,必须定义相应的用户模式。用户模式实际上是系统全局逻辑模式的一个子集,一般用定义用户视图的方法来实现。注意:定义数据库全局逻辑模式主要从系统的时间效率、空间效率,易维护和易扩展等角度出发,而定义用户模式主要着重于用户的使用方便和系统的安全性。例如:为了符合用户习惯,可为用户模式定义别名,亦可以对不同级别的用户定义不同的视图,由于用户只可查询视图中的属性,避免用户访问本来不允许他们查询的数据,由此也增加了数据库的数据安全性。E-R图向关系模式的转换。这一步要解决的问题是:如何将实96图表示了一个由高层数据流程图分析得到的教学管理系统的结构图(其中箭头代表调用关系)。必须指出,如果一个系统比较复杂,它们数据流程图有多层,根据数据流程图中的处理事务分析而得到的功能模块也可以是多层的。逻辑结构设计报告在数据库设计的描述方面,得到一个单位数据库系统的全局逻辑模式和用户模式;在功能设计描述方面,采用“自顶向下”的原则将系统分解为若干功能模块,并通过模块优化处理,使这些模块具有良好的结构。表达模块结构的工具是系统结构图。逻
展开阅读全文