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