1、第三章第三章 医院信息系统的技术基础医院信息系统的技术基础 第一节 软件技术基础 第二节 数据库技术基础 第三节 计算机与网络技术基础 3.1 3.1 软件技术基础本节内容本节内容:、基础知识、基础知识、数据结构基础、数据结构基础、操作系统操作系统、编译基础、编译基础 计算机软件的概念计算机软件的概念 计算机软件计算机软件就是计算机程序再加上该程就是计算机程序再加上该程序所需的各种文档。软件和程序是不同的概序所需的各种文档。软件和程序是不同的概念,程序是使计算机实现所预期的目的而编念,程序是使计算机实现所预期的目的而编写的一系列的计算机语言(或命令)的集合。写的一系列的计算机语言(或命令)的集
2、合。文档文档是描写程序操作及使用的有关资料。软是描写程序操作及使用的有关资料。软件作为一种特殊产品,计算机程序和文档是件作为一种特殊产品,计算机程序和文档是缺一不可的。因此,软件是计算机程序加上缺一不可的。因此,软件是计算机程序加上该程序所需的各种文档。从广义上讲,软件该程序所需的各种文档。从广义上讲,软件应包括程序、相应的数据以及有关的知识和应包括程序、相应的数据以及有关的知识和文档三部分。文档三部分。数据数据是指程序能正常加工信息是指程序能正常加工信息的原料。程序是软件的主体,是可执行部分,的原料。程序是软件的主体,是可执行部分,由算法和语言组成。由算法和语言组成。、基础知识、基础知识 计
3、算机软件的种类计算机软件的种类 按照不同的原则和标准,可将计算机软件按照不同的原则和标准,可将计算机软件划归不同的种类。一般从应用的角度出发,将划归不同的种类。一般从应用的角度出发,将软件划分为系统软件和应用软件两大类。软件划分为系统软件和应用软件两大类。(1)系统软件)系统软件 系统软件是指对整个计算机系统进行管理、系统软件是指对整个计算机系统进行管理、调度、监控、维护的软件,即为其他程序服务调度、监控、维护的软件,即为其他程序服务的程序的集合。主要包括以下几种:操作系统的程序的集合。主要包括以下几种:操作系统、语言处理程序语言处理程序、服务程序、服务程序、数据库管理系统、数据库管理系统、网
4、络通讯管理程序网络通讯管理程序。(2 2)应用软件应用软件 应用软件是直接服务于用户的程序系统。应用软件是直接服务于用户的程序系统。它一般包括两类:它一般包括两类:w实用程序:实用程序:是指为用户特定需要而开发的程是指为用户特定需要而开发的程序。如订票系统、图书情报检索系统、工作序。如订票系统、图书情报检索系统、工作管理系统、辅助教学系统等等。管理系统、辅助教学系统等等。w工具软件:工具软件:是为了用户使用方便而提供的软是为了用户使用方便而提供的软件工具,如文字表格处理软件件工具,如文字表格处理软件EXCELEXCEL、字处理、字处理软件软件WORDWORD、电子演示文稿软件、电子演示文稿软件
5、POWERPOINTPOWERPOINT、计算机辅助制图软件计算机辅助制图软件AUTOCADAUTOCAD等等等等。计算机软件技术发展过程计算机软件技术发展过程 计算机软件技术是随着计算机硬件发展而发计算机软件技术是随着计算机硬件发展而发展的。展的。计算机产生的早期,人们主要进行计算机硬计算机产生的早期,人们主要进行计算机硬件的研制,此时编制的软件作为硬件的附属品件的研制,此时编制的软件作为硬件的附属品存在,软件的效率与功能均受到限制。随着硬存在,软件的效率与功能均受到限制。随着硬件技术的发展,对软件技术提出了更高的要求,件技术的发展,对软件技术提出了更高的要求,要使硬件发挥其效率和功能,必须
6、配备完善的要使硬件发挥其效率和功能,必须配备完善的软件系统,软件技术作为独立的分支得到迅速软件系统,软件技术作为独立的分支得到迅速和充分的发展。和充分的发展。硬件与软件相互依存,相互推动,缺一不可,硬件与软件相互依存,相互推动,缺一不可,共同构成了一个计算机系统。共同构成了一个计算机系统。从从20世纪世纪60年代年代高级语言出现到今天,高级语言出现到今天,软件技术的发展主要经软件技术的发展主要经历了三个阶段历了三个阶段:w(1 1)6060年代高级语言阶段年代高级语言阶段 2020世纪世纪5050年代末,年代末,John Backus John Backus 首先完成首先完成了了FORTRAN
7、FORTRAN的编译系统,此后的十年中,不同的编译系统,此后的十年中,不同的应用领域出现了的应用领域出现了ALGOL60 ALGOL60、COBOL COBOL、LISPLISP等等高级语言。直到高级语言。直到6060年代末出现的年代末出现的PL/1PL/1、ALGOL68 ALGOL68 对这一时期的语言作一总结。此阶段,对这一时期的语言作一总结。此阶段,编译技术代表了整个软件技术,软件工作者追编译技术代表了整个软件技术,软件工作者追求的主要目标是设计和实现再控制和数据结构求的主要目标是设计和实现再控制和数据结构方面表现力强的高级语言。这一时期内,编译方面表现力强的高级语言。这一时期内,编译
8、系统主要靠手工编制,自动化程度低。系统主要靠手工编制,自动化程度低。w(2 2)2020世纪世纪7070年代结构化程序设计阶段年代结构化程序设计阶段 2020世纪世纪7070年代是计算机技术高度发展的时代。年代是计算机技术高度发展的时代。这一时期,操作系统软件迅速发展,数据库成为这一时期,操作系统软件迅速发展,数据库成为独立的发展领域,计算机网络技术也得以发展。独立的发展领域,计算机网络技术也得以发展。同时,随着计算机应用领域的不断扩大,计算机同时,随着计算机应用领域的不断扩大,计算机软件的规模增大,复杂性增加,从而造成软件的软件的规模增大,复杂性增加,从而造成软件的可靠性较差,产生了可靠性较
9、差,产生了“软件危机软件危机”。在此种背景。在此种背景下,产生和发展了程序设计方法学和软件工程学。下,产生和发展了程序设计方法学和软件工程学。软件工程是指导软件开发和维护的工程科学,它软件工程是指导软件开发和维护的工程科学,它采用工程的概念、原理、技术和方法来开发和维采用工程的概念、原理、技术和方法来开发和维护软件产品。护软件产品。应用软件工程的方法,目的是提高应用软件工程的方法,目的是提高软件产品的质量和软件生产率,降低软件产生开软件产品的质量和软件生产率,降低软件产生开发成本。发成本。(3 3)2020世纪世纪8080年代至今自动程序设计阶段年代至今自动程序设计阶段 2020世纪世纪808
10、0年代软件设计技术进入成熟期,向集成化、一体年代软件设计技术进入成熟期,向集成化、一体化方向发展。这一时期,集成电路的迅速发展使个人计算机化方向发展。这一时期,集成电路的迅速发展使个人计算机得到了迅速发展,个人计算机与软件工程相结合出现了软件得到了迅速发展,个人计算机与软件工程相结合出现了软件开发环境,称为软件工程支撑环境,又称为开发环境,称为软件工程支撑环境,又称为CASECASE(computer computer aided software engineeringaided software engineering)。它支持软件开发和维护的)。它支持软件开发和维护的全过程,即从用户需求
11、定义、功能规格说明、设计规格说明、全过程,即从用户需求定义、功能规格说明、设计规格说明、直到可执行代码的全部开发过程,最大程度的借助于计算机直到可执行代码的全部开发过程,最大程度的借助于计算机系统自动进行,是一个计算机自动管理的巨型系统。同时,系统自动进行,是一个计算机自动管理的巨型系统。同时,程序设计的基本方法进一步得到改善,如产生了第四代语言程序设计的基本方法进一步得到改善,如产生了第四代语言(4GL4GL)和面向对象的程序设计方法。)和面向对象的程序设计方法。2020世纪世纪8080年代以来出现年代以来出现了好多面向对象的程序设计语言,以了好多面向对象的程序设计语言,以C+C+应用最为广
12、泛。应用最为广泛。C+C+是是C C语言的一个超集,它保留了语言的一个超集,它保留了C C语言中几乎全部优点,并在语言中几乎全部优点,并在此基础之上加上了面向对象的特点。此基础之上加上了面向对象的特点。JAVAJAVA由由C+C+发展而来,可发展而来,可在在Internet Internet 网络上分布执行的程序设计语言。网络上分布执行的程序设计语言。JAVAJAVA语言的重语言的重要特点是可在任何一个硬件和软件平台上运行,具有分布性、要特点是可在任何一个硬件和软件平台上运行,具有分布性、可移植性、稳定性、安全性等特点。可移植性、稳定性、安全性等特点。(1 1)数据()数据(datadata)
13、:是客观事物的符号表示,是客观事物的符号表示,它能够被计算机识别、它能够被计算机识别、储存和加工处理。它是储存和加工处理。它是计算机程序加工处理的计算机程序加工处理的原料,不仅指一般的整原料,不仅指一般的整数和实数,而且包括字数和实数,而且包括字符串、声音、图像等可符串、声音、图像等可被计算机接收和处理的被计算机接收和处理的信息。信息。(2 2)数据元素)数据元素 (data data elementelement):是数据的是数据的基本单位。有些情况下,基本单位。有些情况下,数据元素又称为元素、数据元素又称为元素、结点(结点(nodenode)、记录)、记录(recordrecord)。有时
14、,一)。有时,一个元素可由若干数据项个元素可由若干数据项(data itemdata item)组成。)组成。数据项是数据不可分割数据项是数据不可分割的最小数据单位。的最小数据单位。(3 3)数据对象)数据对象 (data data objectobject):):是具有相同是具有相同性质的数据元素的集合。性质的数据元素的集合。、数据结构基础数据结构基础基本概念和术语基本概念和术语(4 4)数据结构)数据结构 (data structuredata structure):):是指数是指数据之间的相互关系,即数据的组织形式。它据之间的相互关系,即数据的组织形式。它一般包括以下三个方面的内容;一般
15、包括以下三个方面的内容;a.a.数据的逻辑结构(数据的逻辑结构(logical logical structurestructure),即数据元素之间的逻辑关系。),即数据元素之间的逻辑关系。b.b.数据的存储结构数据的存储结构 (storage structure)(storage structure),即数据元素及其关系在计算机存储器内的表即数据元素及其关系在计算机存储器内的表示。示。c.c.数据的运算,即对数据所作的操作。数据的运算,即对数据所作的操作。(5 5)数据类型)数据类型 (data typedata type):):分为基本数分为基本数据类型和结构数据类型两种。基本数据类型据
16、类型和结构数据类型两种。基本数据类型如实数型、整数型、布尔型等;而结构类型如实数型、整数型、布尔型等;而结构类型如数组、结构体等。如数组、结构体等。算法描述和算法分析算法描述和算法分析 数据的运算是通过算法描述的。数据的运算是通过算法描述的。算法是由算法是由若干条指令的有穷序列组成。算法可用自然语若干条指令的有穷序列组成。算法可用自然语言、数学语言、或约定的符号语言来描述。若言、数学语言、或约定的符号语言来描述。若一个算法用机器可执行的语言来编写,则它就一个算法用机器可执行的语言来编写,则它就是一个程序。所以算法都以函数或过程的形式是一个程序。所以算法都以函数或过程的形式表示,即;表示,即;算
17、法名(参数表)算法名(参数表)例例 ins_sqlist(Vins_sqlist(V,i,b),i,b)/在顺序表在顺序表V V中第中第i i 个数据元素之前插入个数据元素之前插入b/b/其中其中/为注释。为注释。对于同一个问题,可以给出多个不同的对于同一个问题,可以给出多个不同的算法,在这些算法中进行优劣取舍是一个很重算法,在这些算法中进行优劣取舍是一个很重要的问题,也就是对算法进行分析的过程。要的问题,也就是对算法进行分析的过程。一一个算法除了个算法除了“正确正确”以外,主要还考虑计算机以外,主要还考虑计算机在执行该算法时所耗费的时间及所占有的存储在执行该算法时所耗费的时间及所占有的存储空
18、间,即时间复杂度和空间复杂度。空间,即时间复杂度和空间复杂度。线性表线性表(1 1)线性表的定义)线性表的定义 线性表是一种最简单的和最常用的数据线性表是一种最简单的和最常用的数据结构。线性表的逻辑结构是由一组数据元素结构。线性表的逻辑结构是由一组数据元素序列构成,其中每一数据元素含有一个或多序列构成,其中每一数据元素含有一个或多个数据项,各个数据元素之间存在着线性的个数据项,各个数据元素之间存在着线性的逻辑关系。例如英文字母表(逻辑关系。例如英文字母表(A A,B B,C C,D D,ZZ)是一个线性表,表中的每一个英)是一个线性表,表中的每一个英文字母是一个数据元素。文字母是一个数据元素。
19、(2 2)线性表的运算)线性表的运算 数据的运算是定义在逻辑结构上的,而数据的运算是定义在逻辑结构上的,而运算是在存储结构上进行的。运算是在存储结构上进行的。对于线性表,对于线性表,常见的基本运算有以下几种:常见的基本运算有以下几种:a.a.存取操作存取操作:存取第:存取第i i 个数据元素,以便检个数据元素,以便检查或更新其中的数据项。查或更新其中的数据项。b.b.插入操作插入操作:在表中的指定位置上,插入一:在表中的指定位置上,插入一个新的数据元素。个新的数据元素。c.c.删除操作删除操作:删除表中第:删除表中第i i 个元素。个元素。d.d.查找操作查找操作:按某个关键字的值,查找表中:
20、按某个关键字的值,查找表中相应的元素。相应的元素。e.e.排序操作排序操作:按给定要求对表中元素重新排:按给定要求对表中元素重新排列。列。并非任何时候都需要同时执行以上运算,对并非任何时候都需要同时执行以上运算,对于不同问题中的线性表,所需要执行的运算可能于不同问题中的线性表,所需要执行的运算可能不同。一般给出一组基本的运算,不同。一般给出一组基本的运算,对于实际问题对于实际问题中所涉及的更为复杂的运算,可以用基本运算的中所涉及的更为复杂的运算,可以用基本运算的组合来实现。组合来实现。(3 3)线性表的存储结构)线性表的存储结构 线性表的存储结构有两种:线性表的存储结构有两种:顺序存储结构和顺
21、序存储结构和链式存储结构。链式存储结构。顺序存储结构顺序存储结构 将一个线性表存储将一个线性表存储到计算机,可以采用许到计算机,可以采用许多不同的方法,其中即多不同的方法,其中即简单又自然的是顺序存简单又自然的是顺序存储方法:即把线性表的储方法:即把线性表的结点按逻辑次序放在一结点按逻辑次序放在一组地址连续的存储单元组地址连续的存储单元里。用这种方法存储的里。用这种方法存储的线性表简称为顺序表。线性表简称为顺序表。顺序表的存储示意如图顺序表的存储示意如图3-13-1所示。所示。链式存储结构链式存储结构 为了克服顺序表的为了克服顺序表的缺点,可以采用链接缺点,可以采用链接方式存储线性表,通方式存
22、储线性表,通常我们把链接方式存常我们把链接方式存储的线性表称为链表。储的线性表称为链表。如图如图3-23-2所示。所示。由图由图3-13-1可知可知顺序结顺序结构存储有以下特点:构存储有以下特点:A A存储结构的存储存储结构的存储密度大,存储空间利用密度大,存储空间利用率高。率高。B B能够快速、随时能够快速、随时访问其中任意元素。访问其中任意元素。C C对该表进行插入对该表进行插入或删除操作时,为保证或删除操作时,为保证线性表的连续性,则会线性表的连续性,则会引起大量数据元素的移引起大量数据元素的移动。动。D D存储容量不宜扩存储容量不宜扩充。充。图图3-1 顺序存储结构示意图顺序存储结构示
23、意图元素元素1元素元素2元素元素3元素元素i元素元素nL1L2=L1+LL3=L1+2LLi=Li+(i-1)LLn=L1+(n-1)L元素地址元素地址 内存状态内存状态图图3-2 链式存储结构示意图链式存储结构示意图元素元素1元素元素2L3L21元素元素4L23元素元素3L10元素元素5L1L2L3L4L10L11L21L22L23L24元素值元素值指针指针元素值元素值指针指针元素值元素值指针指针元素值元素值指针指针元素值元素值指针指针结点结点1结点结点2结点结点3结点结点4结点结点5 由图由图3-23-2可见,数据元素之间的逻辑关系可见,数据元素之间的逻辑关系是用指针来链接的。对于每个数据
24、元素,除是用指针来链接的。对于每个数据元素,除了元素值以外,还有一个了元素值以外,还有一个指针指针(或链)用来(或链)用来指示另一个数据元素的地址。我们将这个由指示另一个数据元素的地址。我们将这个由数据元素的值和指针组成的总体称为数据元素的值和指针组成的总体称为结点结点,表示一个数据元素。链表中各结点的位置在表示一个数据元素。链表中各结点的位置在内存中是任意的,通过指针将它们联系起来。内存中是任意的,通过指针将它们联系起来。逻辑上最后的结点指针不指向任何地方,常逻辑上最后的结点指针不指向任何地方,常用用“”表示。表示。、操作系统操作系统w操作系统用来管理和控制计算机硬件和操作系统用来管理和控制
25、计算机硬件和软件资源,并用以方便用户使用并提高系统软件资源,并用以方便用户使用并提高系统资源利用率的一组程序(软件)。资源利用率的一组程序(软件)。w操作系统的功能是管理和控制计算机所操作系统的功能是管理和控制计算机所有软硬件资源,使系统各部分协调一致的工有软硬件资源,使系统各部分协调一致的工作,从而达到提高系统资源利用率的目的。作,从而达到提高系统资源利用率的目的。计算机系统资源通常有四种:处理机、存储计算机系统资源通常有四种:处理机、存储器、外部设备、以及各种程序和数据。器、外部设备、以及各种程序和数据。相应相应的操作系统的功能也具有四大功能:处理机的操作系统的功能也具有四大功能:处理机管
26、理功能、存储器管理功能、外部设备管理管理功能、存储器管理功能、外部设备管理功能、文件管理功能。功能、文件管理功能。进程调度进程调度阻塞阻塞阻塞阻塞阻塞阻塞I/O 请求请求I/O完成完成图图3-3 进程状态转换示意图进程状态转换示意图 操作系统的功能操作系统的功能wa.处理机管理处理机管理w 在多道程序系统中,多在多道程序系统中,多个程序同时执行,需要对个程序同时执行,需要对CPU的时间进行合理分配。的时间进行合理分配。处理机管理也称为进程管理,处理机管理也称为进程管理,通过引入通过引入“进程进程”的概念使的概念使CPU有条不紊的工作,使资有条不紊的工作,使资源得到最充分的利用,主要源得到最充分
27、的利用,主要包括处理中断事件和处理机包括处理中断事件和处理机调度。所谓进程,是指程序调度。所谓进程,是指程序的一次执行。进程有三个基的一次执行。进程有三个基本状态:就绪状态、运行状本状态:就绪状态、运行状态、阻塞状态,如图态、阻塞状态,如图3-3 所所示;示;b.b.存储管理存储管理 内存是除内存是除CPUCPU之外之外最宝贵的资源。而计最宝贵的资源。而计算机的内存资源是有算机的内存资源是有限的。存储管理主要限的。存储管理主要解决多道程序在内存解决多道程序在内存中的分配,合理利用中的分配,合理利用内存空间,并通过内内存空间,并通过内外存的管理来扩大存外存的管理来扩大存储空间。储空间。其主要包括
28、:其主要包括:内存的分配、存储扩内存的分配、存储扩充、存储保护三个方充、存储保护三个方面。面。c.c.设备管理设备管理 计算机支持多种设备,计算机支持多种设备,该管理利用操作系统提供该管理利用操作系统提供的设备驱动程序,实现对的设备驱动程序,实现对外部设备进行有效管理。外部设备进行有效管理。负责把外部设备合理地分负责把外部设备合理地分配给进程,消除各设备忙配给进程,消除各设备忙闲不均的现象,使之有效闲不均的现象,使之有效地工作。地工作。其主要功能体现其主要功能体现在:分配和驱动外部设备、在:分配和驱动外部设备、利用中断、通道、缓冲技利用中断、通道、缓冲技术,提高外部设备的使用术,提高外部设备的
29、使用效率。效率。d.d.文件管理文件管理 文件管理是对各文件管理是对各类文件进行有序的管类文件进行有序的管理,支持对文件的存理,支持对文件的存储、检索和修改及文储、检索和修改及文件保护,方便用户安件保护,方便用户安全地访问它们。全地访问它们。其主其主要功能为:要功能为:按名存取按名存取文件、有效分配存储文件、有效分配存储空间、文件的共享和空间、文件的共享和保护、用户可通过命保护、用户可通过命令访问各种文件。令访问各种文件。通常按照操作通常按照操作系统的使用环境,系统的使用环境,可将其分为三大类:可将其分为三大类:w多道批处理系统多道批处理系统w分时系统、分时系统、w实时系统。实时系统。(2 2
30、)操作系统的分类)操作系统的分类a.a.多道批处理系统多道批处理系统w 多道批处理系统实质上是多道批处理系统实质上是“多道程序多道程序”和和“批处理批处理”的结合。的结合。“任务任务”和和“作业作业”是是指用户一次上机要求计算机系统完成的工作的指用户一次上机要求计算机系统完成的工作的总称;总称;“多道程序多道程序”是指在计算机内存中同时是指在计算机内存中同时可以存放若干道作业,允许交替地由处理机运可以存放若干道作业,允许交替地由处理机运行;行;“批处理批处理”是指用户与作业之间没有交互是指用户与作业之间没有交互作用,用户不能直接控制作业的运行,即一批作用,用户不能直接控制作业的运行,即一批经过
31、合理组织的作业一旦提交给计算机系统,经过合理组织的作业一旦提交给计算机系统,其执行由计算机系统控制。其执行由计算机系统控制。w多道批处理系统具有自动化程度高,资源多道批处理系统具有自动化程度高,资源利用率高,作业吞吐量大等特点,多应用在大利用率高,作业吞吐量大等特点,多应用在大中型计算机系统中。其缺点是交互性差。中型计算机系统中。其缺点是交互性差。b.b.分时系统分时系统w分时系统是一种多用户操作系统,它是将分时系统是一种多用户操作系统,它是将中央处理机(中央处理机(CPUCPU)的处理时间进行分割,即)的处理时间进行分割,即把工作时间分割成一个个时间片,每个用户轮把工作时间分割成一个个时间片
32、,每个用户轮流使用时间片。一台计算机为一组终端用户服流使用时间片。一台计算机为一组终端用户服务,每个用户通过终端控制程序的运行。由于务,每个用户通过终端控制程序的运行。由于时间片分割很小,每个用户感觉不到时间上的时间片分割很小,每个用户感觉不到时间上的等待或滞留,如同自己独立占用一台计算机一等待或滞留,如同自己独立占用一台计算机一样。样。w分时系统具有良好的人机交互性,用户使分时系统具有良好的人机交互性,用户使用方便,其主要应用于中小型系统。用方便,其主要应用于中小型系统。c.c.实时系统实时系统 实时系统是指要求系实时系统是指要求系统及时响应外部事件的请统及时响应外部事件的请求,在规定的时间
33、内完成求,在规定的时间内完成对该事件的处理并控制所对该事件的处理并控制所有实时设备和实时任务协有实时设备和实时任务协调一致地工作。实时系统调一致地工作。实时系统包括实时过程控制和实时包括实时过程控制和实时信息处理两种,前者主要信息处理两种,前者主要应用于工业生产的过程控应用于工业生产的过程控制,而后者主要应用于信制,而后者主要应用于信息处理系统,如查询系统、息处理系统,如查询系统、订票系统等。订票系统等。w以上三类操作系以上三类操作系统可以根据实际需要统可以根据实际需要组合使用组合使用,实现最佳,实现最佳功能。随着计算机系功能。随着计算机系统结构的变化,操作统结构的变化,操作系统技术也有了进一
34、系统技术也有了进一步的发展,步的发展,产生了一产生了一些具有特点的操作系些具有特点的操作系统,如个人计算机操统,如个人计算机操作系统、分布式操作作系统、分布式操作系统和网络操作系统系统和网络操作系统。w个人计算机操作系统个人计算机操作系统是一个单用户交互是一个单用户交互式的操作系统,它以文件管理为主,具有简式的操作系统,它以文件管理为主,具有简单的设备管理功能,并向用户提供了一组功单的设备管理功能,并向用户提供了一组功能丰富的键盘操作命令。能丰富的键盘操作命令。w分布式操作系统分布式操作系统是指由多台计算机组成是指由多台计算机组成的一个系统,相互协作地完成一个任务。任的一个系统,相互协作地完成
35、一个任务。任意两台计算机之间可以交换信息,无主次之意两台计算机之间可以交换信息,无主次之分,系统资源为所有用户共享。分,系统资源为所有用户共享。w网络操作系统网络操作系统是为网络中各台计算机之是为网络中各台计算机之间提供通信和资源共享。除了具有常规操作间提供通信和资源共享。除了具有常规操作系统功能外,还具有网络管理功能。系统功能外,还具有网络管理功能。(3 3)常用操作系统简介常用操作系统简介 Windows Windows Windows Windows以其灵活方便的窗口操作、弹出式以其灵活方便的窗口操作、弹出式菜单以及命令对话框,为用户使用计算机提供了菜单以及命令对话框,为用户使用计算机提
36、供了方便,并为人们广泛接受。它从方便,并为人们广泛接受。它从19901990年由年由Microsoft Microsoft 公司推出公司推出Windows 3.0Windows 3.0,先后进行了,先后进行了多次改版。如多次改版。如Windows3.1Windows3.1、Windows 98Windows 98、Windows NTWindows NT、Windows2000Windows2000、Windows XP Windows XP 等。其等。其中中Windows95Windows95以上版本具有网络管理功能。还具以上版本具有网络管理功能。还具有友好的人机界面、功能强大的应用程序、多
37、任有友好的人机界面、功能强大的应用程序、多任务并行处理的功能等诸多优点,所以深受用户欢务并行处理的功能等诸多优点,所以深受用户欢迎。迎。UNIX UNIX UNIXUNIX操作系统是一个通操作系统是一个通用的、交互的分时系统,适用的、交互的分时系统,适用于小型机和微型机。它由用于小型机和微型机。它由美国贝尔实验室美国贝尔实验室19691969年研制年研制的,其特点是结构紧凑、功的,其特点是结构紧凑、功能强大、使用方便、易于扩能强大、使用方便、易于扩充、修改维护和移植。它主充、修改维护和移植。它主要由两部分组成:内核和外要由两部分组成:内核和外壳(壳(shellshell语言)。其内核语言)。其
38、内核部分负责进程管理、文件管部分负责进程管理、文件管理、存储管理、设备管理等,理、存储管理、设备管理等,而外壳语言是用来控制、使而外壳语言是用来控制、使用内核以及语言处理程序和用内核以及语言处理程序和软件工具。软件工具。Linux Linux LinuxLinux是目前最流行的是目前最流行的操作系统之一,是操作系统之一,是UNIXUNIX的的PCPC版。它从版。它从19911991年芬兰人年芬兰人Linux TorvaldsLinux Torvalds 创建至今创建至今发展迅速。它具有占用空发展迅速。它具有占用空间小、高效、健壮和功能间小、高效、健壮和功能强大等特性,特别是可以强大等特性,特别
39、是可以免费使用和源代码开放,免费使用和源代码开放,为用户广泛接受。其中的为用户广泛接受。其中的Red Hat Linux Red Hat Linux 版是一个版是一个杰出的代表,它在杰出的代表,它在Linux Linux 基础上开发了许多优秀的基础上开发了许多优秀的软件和工具,并提供了最软件和工具,并提供了最新软硬件的技术支持。新软硬件的技术支持。、编译基础、编译基础(1)编译程序的作用编译程序的作用编译编译连接连接运行运行源程序源程序目标程序目标程序可执行程序可执行程序结果程序库程序库数据数据图图3-4 程序的编译与运行示意图程序的编译与运行示意图w人们利用计算机可以进行复杂的科学计算、人们
40、利用计算机可以进行复杂的科学计算、工业过程控制、企业管理和办公自动化等工作。工业过程控制、企业管理和办公自动化等工作。计算机在上述各领域的应用都是在计算机硬件和计算机在上述各领域的应用都是在计算机硬件和系统软件支持下,运用某种高级语言编制出程序系统软件支持下,运用某种高级语言编制出程序并在该环境下运行来实现的。在计算机上执行一并在该环境下运行来实现的。在计算机上执行一个高级语言程序,一般要分为两步:个高级语言程序,一般要分为两步:w第一步,用一个编译程序将高级语言程序翻译成第一步,用一个编译程序将高级语言程序翻译成机器语言程序;机器语言程序;w第二步,运行所得的机器语言程序并求得计算结第二步,
41、运行所得的机器语言程序并求得计算结果。果。w编译程序就是将某一种语言(源语言)程序编译程序就是将某一种语言(源语言)程序翻译成另一种语言(目标语言)程序,即进行符翻译成另一种语言(目标语言)程序,即进行符号转换。程序的编译与运行如图号转换。程序的编译与运行如图 3-4 所示。所示。(2)编编译译程程序序的的组组成成与与结结构构目标程序词法分析语法分析中间代码生成代码优化目标代码生成表 格 管 理出 错 管 理源程序图图3-5 编译程序的基本结构编译程序的基本结构虽然各高级语言的特点不同,其编译程序也有差别,但各虽然各高级语言的特点不同,其编译程序也有差别,但各编译程序的基本结构均相似。编译程序
42、的结构可按编译的五个编译程序的基本结构均相似。编译程序的结构可按编译的五个阶段分模块进行设计,如图阶段分模块进行设计,如图3-5所示。图所示。图3-5中编译过程源程序中编译过程源程序的各种信息被保留在各种不同的表格里,编译各阶段的工作都的各种信息被保留在各种不同的表格里,编译各阶段的工作都涉及到构造、查找、更新各种有关表格。涉及到构造、查找、更新各种有关表格。w编译程序的工作,编译程序的工作,从输入源程序到输出目从输入源程序到输出目标程序的整个过程,是标程序的整个过程,是很复杂的。这个过程一很复杂的。这个过程一般可分为五个阶段:词般可分为五个阶段:词法分析、语法分析、中法分析、语法分析、中间代
43、码生成、代码优化、间代码生成、代码优化、目标代码生成。目标代码生成。w上述编译程序工作上述编译程序工作过程的五个阶段不是每过程的五个阶段不是每个阶段都必不可少的,个阶段都必不可少的,在实际应用中有些阶段在实际应用中有些阶段可以省去。若编译程序可以省去。若编译程序对优化没有要求,可省对优化没有要求,可省去代码优化;若要加快去代码优化;若要加快编译速度,可将中间代编译速度,可将中间代码生成阶段省去。码生成阶段省去。3.2 3.2 数据库技术基础数据库技术基础 数据库技术产生于数据库技术产生于2020世纪世纪6060年代中期,是年代中期,是数据管理的最新技术,是计算机科学的重要数据管理的最新技术,是
44、计算机科学的重要分支,它的出现极大地促进了计算机应用向分支,它的出现极大地促进了计算机应用向各行业渗透。从而不难看出数据库技术的重各行业渗透。从而不难看出数据库技术的重要性所在。要性所在。1 数据库系统概述数据库系统概述数据库技术的新发展数据库技术的新发展1 1 数据库系统概述数据库系统概述(1 1)数据库技术的基本概念)数据库技术的基本概念w数据(数据(DataData):):通常是指用符号记录下来的,可以识别的信息。信息是关于现实世界事物存在的方式或运动状态的客观反映。w数据库(数据库(Data BaseData Base):):简称DB,是指按一定方式组织起来的相互关联的数据集合。如人事
45、档案数据库、图书资料数据库、药品管理数据库等。w数据库管理系统(数据库管理系统(Data Base Management Data Base Management SystemSystem):):简称DBMS,是用户与操作系统之间的一层管理软件,它为用户或应用程序提供访问数据库的方法,包括数据库的建立、查询、更新及对各种数据的控制。w数据库系统(数据库系统(Data Base SystemData Base System):):简称DBS,是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机软件、硬件和数据资源组成的系统,即它是采用了数据库技术的计算机系统。w数据库技术:数据库技术:
46、是在操作系统的文件系统的基础上发展起来的,它是研究数据库的结构、存储、设计、管理和使用的一门软件学科。(2 2)数据描述和数据模型)数据描述和数据模型数据描述:是数据处理中的一个重要环节。从数据描述:是数据处理中的一个重要环节。从事物的特征到计算机中的具体表示,实际上经事物的特征到计算机中的具体表示,实际上经历了三个领域:现实世界、信息世界、机器世历了三个领域:现实世界、信息世界、机器世界。界。w现实世界的数据描述主要是对原始数据进现实世界的数据描述主要是对原始数据进行综合工作,取出数据库系统所需要研究的数行综合工作,取出数据库系统所需要研究的数据,如各种报表、单据、查询格式等。据,如各种报表
47、、单据、查询格式等。w信息世界的数据描述,是人们将现实世界信息世界的数据描述,是人们将现实世界在人脑中的反映用文字或符号表示出来,它需在人脑中的反映用文字或符号表示出来,它需要要用以下一些基本术语来实现:用以下一些基本术语来实现:实体实体(entity)(entity):实体是指客观存在并相互区别的事物。实体集(实体集(entity setentity set):):具有相同性质的同类实体的集合。属性(属性(attributeattribute):):实体具有许多特性,每一个特性称为属性。每一个属性有一个取值范围,即值域。主键(主键(keykey):唯一标识实体的属性集为主键。w机器世界中的信
48、息是以数据形式存储机器世界中的信息是以数据形式存储的,其数据描述需要用以下术语表示。的,其数据描述需要用以下术语表示。字段(字段(fieldfield):标记实体属性的命名):标记实体属性的命名单位称为字段(或数据项)。它是可命名单位称为字段(或数据项)。它是可命名的最小数据单位。的最小数据单位。记录(记录(recordrecord):字段的有序集合称):字段的有序集合称为记录。一般用一个记录描述一个实体。为记录。一般用一个记录描述一个实体。文件(文件(filefile):同一类记录的汇集称):同一类记录的汇集称为文件。文件是描述实体集的。为文件。文件是描述实体集的。主键(主键(keykey)
49、:能唯一标识文件中每个):能唯一标识文件中每个记录的字段或字段集,称为文件的主键。记录的字段或字段集,称为文件的主键。w现实世界中,事物是相互联系的。这种联系必然现实世界中,事物是相互联系的。这种联系必然在信息世界中体现出来,即实体是相互有联系的。实体在信息世界中体现出来,即实体是相互有联系的。实体的联系有两类:的联系有两类:一类是实体内部的联系,即同一记录内部各个字段一类是实体内部的联系,即同一记录内部各个字段之间的联系;之间的联系;另一类是实体与实体之间的联系,即实体中记录之另一类是实体与实体之间的联系,即实体中记录之间的联系。间的联系。而实体之间的联系比较复杂,其相应的数据结构也而实体之
50、间的联系比较复杂,其相应的数据结构也比较复杂,这类联系在数据库技术中应用较多。实体间比较复杂,这类联系在数据库技术中应用较多。实体间的联系有两种:的联系有两种:一是同一实体集中实体之间的联系(记录之间的联一是同一实体集中实体之间的联系(记录之间的联系),系),二是不同实体集间的实体联系(文件之间的记录与二是不同实体集间的实体联系(文件之间的记录与记录的联系)。记录的联系)。w它有以下三种情况:它有以下三种情况:一对一联系:一对一联系:记作记作 1 1:1 1。例如学校与校长之。例如学校与校长之间,火车的座位与乘客之间的联系都是一对一联间,火车的座位与乘客之间的联系都是一对一联系。系。一对多联系