《计算机基础课件ppt-第3讲计算机软件基础知识.ppt》由会员分享,可在线阅读,更多相关《计算机基础课件ppt-第3讲计算机软件基础知识.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机软件计算机软件基础知识基础知识第三讲第三讲 基本组成基本组成3.1数据结构与算法数据结构与算法 1.1 算法算法算法算法:是一组有穷指令集,:是一组有穷指令集,是解题方案的准确而完整的是解题方案的准确而完整的描述。描述。通俗地说,算法就是计算机解题的过程。算法不等通俗地说,算法就是计算机解题的过程。算法不等于程序,也不等于计算方法,程序的编制不可能优于算法于程序,也不等于计算方法,程序的编制不可能优于算法的设计。的设计。算法是一组严谨地定义运算顺序的规则,每一算法是一组严谨地定义运算顺序的规则,每一个规则都是有效的,且是明确的,此顺序将在有限的次数个规则都是有效的,且是明确的,此顺序将在
2、有限的次数下终止。所以其下终止。所以其四个基本特征四个基本特征包括:包括:(1)确定性,算法中每一步骤都必须有明确定义,不允确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性;许有模棱两可的解释,不允许有多义性;(2)有穷性,算法必须能在有限的时间内做完,即能在有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止;执行有限个步骤后终止;(3)可行性,算法原则上能够精确地执行;可行性,算法原则上能够精确地执行;(4)拥有足够的情报。拥有足够的情报。算法的基本要素:一是算法的基本要素:一是对数据对象的运算和对数据对象的运算和操作操作;二是;二是算法的控制结构
3、算法的控制结构。指令系统:一个计算机系统能执行的所有指指令系统:一个计算机系统能执行的所有指令的集合。令的集合。基本运算和操作包括:算术运算、逻辑运算、基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。关系运算、数据传输。算法的三种基本控制结构算法的三种基本控制结构:顺序结构、选择结构、:顺序结构、选择结构、循环结构。循环结构。算法基本设计方法:列举法、归纳法、递推、算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。递归、减半递推技术、回溯法。算法效率的度量算法效率的度量算法复杂度算法复杂度:算法时间复杂度算法时间复杂度和算法空间复杂度。和算法空间复杂度。算法时间复
4、杂度:算法时间复杂度:指执行算法所需要的计算工作指执行算法所需要的计算工作量。即算法执行过程中所需要的基本运算次数。量。即算法执行过程中所需要的基本运算次数。通常,一个算法所用的时间包括编译时间和运行通常,一个算法所用的时间包括编译时间和运行时间。时间。算法空间复杂度:算法空间复杂度:指执行这个算法所需要的内存指执行这个算法所需要的内存空间。包括算法程序所占的空间,输入的初始数空间。包括算法程序所占的空间,输入的初始数据所占的空间,算法执行过程中所需的额外空间。据所占的空间,算法执行过程中所需的额外空间。1.2 数据结构的基本概念数据结构的基本概念数据结构:指相互有关联的数据元素的集合。数据结
5、构:指相互有关联的数据元素的集合。数数据结构研究的三个方面:据结构研究的三个方面:(1)数据集合中各数据元素之间所固有的逻辑关数据集合中各数据元素之间所固有的逻辑关系,即系,即数据的逻辑结构数据的逻辑结构;(2)在对数据进行处理时,各数据元素在计算机在对数据进行处理时,各数据元素在计算机中的存储关系,即中的存储关系,即数据的存储结构数据的存储结构;(3)对各种数据结构进行的运算。对各种数据结构进行的运算。数据的逻辑结构应包含:数据的逻辑结构应包含:(1)表示数据元素的信表示数据元素的信息;息;(2)表示各数据元素之间的前后件关系表示各数据元素之间的前后件关系(指逻指逻辑关系,与存储位置无关辑关
6、系,与存储位置无关)。数据的逻辑结构在计算机存储空间中的存放形式数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构称为数据的存储结构,也称数据物理结构。也称数据物理结构。数据的存储结构有顺序、链接、索引等。数据的存储结构有顺序、链接、索引等。线性结构的条件,线性结构的条件,(一个非空数据结构一个非空数据结构):(1)有有且只有一个根结点;且只有一个根结点;(2)每一个结点最多有一个每一个结点最多有一个前件,也最多有一个后件。前件,也最多有一个后件。非线性结构:不满足线性结构条件的数据结构。非线性结构:不满足线性结构条件的数据结构。1.3栈和队列栈和队列 栈栈:限定在一端进行插入与删除
7、的线性表。:限定在一端进行插入与删除的线性表。其其允许插入与删除的一端称为栈顶,用指针允许插入与删除的一端称为栈顶,用指针top表表示栈顶位置。示栈顶位置。不允许插入与删除的另一端称为栈不允许插入与删除的另一端称为栈底,用指针底,用指针bottom表示栈底。表示栈底。栈按照栈按照“先进后先进后出出”(FILO)或)或“后进先出后进先出”(LIFO)组织数)组织数据,栈具有记忆作用。据,栈具有记忆作用。栈的存储方式有顺序存储和链式存储。栈的存储方式有顺序存储和链式存储。栈的基栈的基本运算:本运算:(1)入栈运算,在栈顶位置插入元素;)入栈运算,在栈顶位置插入元素;(2)退栈运算,删除元素退栈运算
8、,删除元素(取出栈顶元素并赋取出栈顶元素并赋给一个指定的变量给一个指定的变量);(3)读栈顶元素,将栈顶元素赋给一个指定的读栈顶元素,将栈顶元素赋给一个指定的变量,此时指针无变化。变量,此时指针无变化。队列队列:指允许在一端(队尾)进入插入,而在另一端:指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。(队头)进行删除的线性表。用用rear指针指向队尾,用指针指向队尾,用front指针指向队头元素的前指针指向队头元素的前一个位置。一个位置。队列是队列是“先进先出先进先出”(FIFO)或)或“后进后出后进后出”(LILO)的线性表。)的线性表。队列运算包括:队列运算包括:(1)入
9、队运算:从队尾插入一个元素;入队运算:从队尾插入一个元素;(2)退队运算:从队头删除一个元素。退队运算:从队头删除一个元素。队列的顺序存储结构一般采用队列循环的形式。队列的顺序存储结构一般采用队列循环的形式。循环队列循环队列s=0表示队列空;表示队列空;s=1且且front=rear表示队列表示队列满。满。计算循环队列的元素个数:计算循环队列的元素个数:“尾指针减头指针尾指针减头指针”,若为负数,再加其容量即可。若为负数,再加其容量即可。计算循环队列长度计算循环队列长度:front=rear,队列长度,队列长度0;frontrear,队列长度,队列长度rear+size-front1.4 树与
10、二叉树树与二叉树 树是一种简单的非线性结构,其所有元素之间具树是一种简单的非线性结构,其所有元素之间具有明显的层次特性。有明显的层次特性。在树结构中,每一个结点只在树结构中,每一个结点只有一个前件,称为父结点。没有前件的结点只有有一个前件,称为父结点。没有前件的结点只有一个,称为树的根结点,简称树的根。每一个结一个,称为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点。没有点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。后件的结点称为叶子结点。在树结构中,一个结在树结构中,一个结点所拥有的直接后件的个数称为该结点的度,所点所拥有的直接后件的个数称为该结点的
11、度,所有结点中最大的度称为树的度。树的最大层次称有结点中最大的度称为树的度。树的最大层次称为树的深度。为树的深度。二叉树二叉树的特点:的特点:(1)非空二叉树只有一个根结点;非空二叉树只有一个根结点;(2)每一个结点最多有两棵子树,且分别称为该每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。结点的左子树与右子树。满二叉树满二叉树是指除最后一是指除最后一层外,每一层上的所有结点有两个子结点,则层外,每一层上的所有结点有两个子结点,则k层上有层上有2k-1个结点,深度为个结点,深度为m的满二叉树有的满二叉树有2m-1个结点。个结点。完全二叉树完全二叉树是指除最后一层外,每一是指除最后一
12、层外,每一层上的结点数均达到最大值,在最后一层上只缺层上的结点数均达到最大值,在最后一层上只缺少右边的若干结点。少右边的若干结点。二叉树基本性质:二叉树基本性质:(1)在二叉树的第在二叉树的第k层上,最多有层上,最多有2k-1(k1)个个结点;结点;(2)深度为深度为m的二叉树最多有的二叉树最多有2m-1个结点;个结点;(3)度为度为0的结点(即叶子结点)总是比度为的结点(即叶子结点)总是比度为2的结点多一个;即的结点多一个;即n0=n2+1(4)具有具有n个结点的二叉树,其深度至少为个结点的二叉树,其深度至少为log2n+1,其中其中log2n表示取表示取log2n的整数部的整数部分分(5)
13、具有具有n个结点的完全二叉树的深度为个结点的完全二叉树的深度为log2n+1;(6)设完全二叉树共有设完全二叉树共有n个结点。如果从根结点开始,按个结点。如果从根结点开始,按层序(每一层从左到右)用自然数层序(每一层从左到右)用自然数1,2,n给结点进行编给结点进行编号(号(k=1,2.n),有以下结论:),有以下结论:若若k=1,则该结,则该结点为根结点,它没有父结点;若点为根结点,它没有父结点;若k1,则该结点的父结点,则该结点的父结点编号为编号为INT(k/2);若若2kn,则,则k结点的左子结点编号为结点的左子结点编号为2k;否;否则该结点无左子结点(也无右子结点);则该结点无左子结点
14、(也无右子结点);若若2k+1n,则编号为,则编号为k的结点的右子结点编的结点的右子结点编号为号为2k+1;否则该结点无右子结点。;否则该结点无右子结点。补充:增加度为补充:增加度为1的结点不会影响二叉树的叶子结点数,的结点不会影响二叉树的叶子结点数,每增加一个度为每增加一个度为2的结点便会增加一个叶子结点,没有度的结点便会增加一个叶子结点,没有度为为2的结点时叶子结点数为的结点时叶子结点数为1。二叉树的遍历:二叉树的遍历:(1)前序遍历前序遍历(DLR),首先访问根结点,然后遍历左),首先访问根结点,然后遍历左子树,最后遍历右子树;(树根在第一,下走不跳结点)子树,最后遍历右子树;(树根在第
15、一,下走不跳结点)(2)中序遍历中序遍历(LDR),首先遍历左子树,然后访问根),首先遍历左子树,然后访问根结点,最后遍历右子树;(有左先左,再寻根,后找右。结点,最后遍历右子树;(有左先左,再寻根,后找右。最左边的结点最先遍历,最右边的结点最后遍历)最左边的结点最先遍历,最右边的结点最后遍历)(3)后序遍历后序遍历(LRD)首先遍历左子树,然后访问遍历)首先遍历左子树,然后访问遍历右子树,最后访问根结点。(有左先左,再找右,后寻根,右子树,最后访问根结点。(有左先左,再找右,后寻根,到最右一路上行,树根在最后)到最右一路上行,树根在最后)二叉树中度为二叉树中度为 0 的节点的个数比度为的节点
16、的个数比度为 2 的节点的个数多的节点的个数多一。一。二叉树遍历总结二叉树遍历总结:前序遍历:最左边的一定是根节点;前序遍历:最左边的一定是根节点;中序遍历:根节点左侧是左子树,右侧是右子树;后续遍中序遍历:根节点左侧是左子树,右侧是右子树;后续遍历:最右边是根结点。历:最右边是根结点。3.2 软件工程基本概念软件工程基本概念 计算机软件是包括程序、数据及相关文档的完整集计算机软件是包括程序、数据及相关文档的完整集合。合。软件的特点包括:软件的特点包括:(1)软件是一种逻辑实体,具有抽象性;软件是一种逻辑实体,具有抽象性;(2)软件的生产与硬件不同,它没有明显的制作软件的生产与硬件不同,它没有
17、明显的制作过程;过程;软件在运行、使用期间不存在磨损、老化问题;软件在运行、使用期间不存在磨损、老化问题;(4)软件的开发、运行对计算机系统具有依赖性,软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;受计算机系统的限制,这导致了软件移植的问题;软件复杂性高,成本昂贵;软件复杂性高,成本昂贵;(6)软件开发涉及诸多的社会因素。软件开发涉及诸多的社会因素。软件按功能分为应用软件、系统软件、支撑软软件按功能分为应用软件、系统软件、支撑软件件(或工具软件或工具软件)。软件危机主要表现在成本、质量、生产率等问软件危机主要表现在成本、质量、生产率等问题。题。软件工程是应
18、用于计算机软件的定义、开发和软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工维护的一整套方法、工具、文档、实践标准和工序。简单的说就是使软件走向工程化。序。简单的说就是使软件走向工程化。软件工程的核心思想是把软件产品看作是一个软件工程的核心思想是把软件产品看作是一个工程产品来处理。工程产品来处理。软件工程包括软件工程包括3个要素:方法、个要素:方法、工具和过程。工具和过程。软件生命周期分三个阶段:软件定义、软件开软件生命周期分三个阶段:软件定义、软件开发、运行维护发、运行维护。结构化分析方法结构化分析方法结构化方法的核心和基础是结构化程序设计理论。结构化方法的
19、核心和基础是结构化程序设计理论。结构化分析的常用工具:数据流图;数据字典;判结构化分析的常用工具:数据流图;数据字典;判定树;判定表。定树;判定表。(1)数据流图(数据流图(DFD图):描述数据处理过程的工图):描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。持系统功能建模。加工(转换)加工(转换)圆框,输入数据经加工变换产生圆框,输入数据经加工变换产生的输出。的输出。数据流数据流箭头,沿箭头方向传递数据的通道,箭头,沿箭头方向传递数据的通道,一般在旁边标注数据流名。一般在旁边标注数据流名。存储文件(数据源)存储文件(
20、数据源)双横线,表示处理过程中双横线,表示处理过程中存放各种数据的文件。存放各种数据的文件。源、潭源、潭方框,表示系统和环境的接口,属系统方框,表示系统和环境的接口,属系统之外的实体。之外的实体。(2)数据字典:对所有与系统相关的数据元素的数据字典:对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。分和中间计算结果有共同的理解。数据字典是结构化分析的核心。数据字典是结构化分析的核心。(3)判定树:从问题定义的文字描述中分
21、清哪些判定树:从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并料中的连接词找出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。列关系、选择关系,根据它们构造判定树。(4)判定表:与判定树相似,当数据流图中的加判定表:与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。的,使用判定表描述比较适宜。结构化
22、设计方法结构化设计方法 软件设计是确定系统的物理模型。软件设计是确定系统的物理模型。软件设计的基本目标是用比较抽象概括的方式确定目标系软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务。统如何完成预定的任务。从技术观点来看,软件设计包括从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。软件结构设计、数据设计、接口设计、过程设计。结构设计:定义软件系统各主要部件之间的关系。结构设计:定义软件系统各主要部件之间的关系。数据设计:将分析时创建的模型转化为数据结构的定义。数据设计:将分析时创建的模型转化为数据结构的定义。接口设计:描述软件内部、软件和协作系统之
23、间以及软接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信。件与人之间如何通信。过程设计:把系统结构部件转换成软件的过程描述。过程设计:把系统结构部件转换成软件的过程描述。从工程管理角度来看,软件设计分两步:概要设计和详细从工程管理角度来看,软件设计分两步:概要设计和详细设计。设计。软件设计的基本原理是:软件设计的基本原理是:(1)抽象;抽象;(2)模块化;模块化;(3)信息隐蔽;信息隐蔽;(4)模块独立性。模块独立性。衡量软件模块独立性使用耦合性和内聚性两个定衡量软件模块独立性使用耦合性和内聚性两个定性的度量标准。性的度量标准。耦合性是模块见相互连接的紧密程度的度量。耦耦合性
24、是模块见相互连接的紧密程度的度量。耦合程度取决于各个模块之间接口的复杂程度、调合程度取决于各个模块之间接口的复杂程度、调用方式以及哪些信息通过接口。用方式以及哪些信息通过接口。内聚性是一个模块内部各个元素间彼此结合的紧内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量。密程度的度量。在程序结构中各模块的内聚性越强,则耦合性越在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚,低耦合,有利于提高模弱。优秀软件应高内聚,低耦合,有利于提高模块的独立性。块的独立性。软件概要设计的基本任务是:软件概要设计的基本任务是:(1)设计软件系统结构;设计软件系统结构;(2)数据结构及数据库设计
25、;数据结构及数据库设计;(3)编写概要设计文档;编写概要设计文档;(4)概要设计文档评审。概要设计文档评审。详细设计:是为软件结构图中的每一个模块确定详细设计:是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达工实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。具表示算法和数据结构的细节。常见的过程设计工具有:常见的过程设计工具有:图形工具(程序流程图图形工具(程序流程图(PFD)、N-S图、图、PAD图、),表格工具(判定表),语言工具图、),表格工具(判定表),语言工具(PDL)。)。程序流程图中:箭头为控制流、方框为加工步骤、程序流程图中:箭头为
26、控制流、方框为加工步骤、菱形为逻辑条件。菱形为逻辑条件。软件测试软件测试软件测试定义:使用人工或自动手段来运行或软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果满足规定的需求或是弄清预期结果与实际结果之间的差别。之间的差别。软件测试的目的:发现错误而执行程序的过程。软件测试的目的:发现错误而执行程序的过程。软件测试方法:静态测试和动态测试。软件测试方法:静态测试和动态测试。静态测试包括代码检查、静态结构分析、代码静态测试包括代码检查、静态结构分析、代码质量度量。不实际运行软件,主要通
27、过人工进质量度量。不实际运行软件,主要通过人工进行。行。动态测试:是基本计算机的测试,主要包括白盒测试方动态测试:是基本计算机的测试,主要包括白盒测试方法和黑盒测试方法。法和黑盒测试方法。白盒测试:也称结构测试或逻辑测试。在程序内部进行,白盒测试:也称结构测试或逻辑测试。在程序内部进行,主要用于完成软件内部操作的验证。白盒测试主要考虑内主要用于完成软件内部操作的验证。白盒测试主要考虑内部的逻辑结构。主要方法有逻辑覆盖、基本路径测试。部的逻辑结构。主要方法有逻辑覆盖、基本路径测试。黑盒测试:也称功能测试或数据驱动测试。是在软件接黑盒测试:也称功能测试或数据驱动测试。是在软件接口处进行,完成功能验
28、证。黑盒测试完全不考虑程序内部口处进行,完成功能验证。黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的设计要求。主要诊断功明,检查程序的功能是否符合它的设计要求。主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错,用于软件确认测试。误、性能错误、初始化和终止条件错,用于软件确认测试。主要方法有等价类划分法、边界值分析法、错误推测法、主要方法有等价类划分法、边界值分析法、错误推测法、因果图等。因果图
29、等。程序的调试程序的调试程序调试的任务是诊断和改正程序中的错误,主程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行。要在开发阶段进行。程序调试的基本步骤:程序调试的基本步骤:(1)错误定位;错误定位;(2)修改修改设计和代码,以排除错误;设计和代码,以排除错误;(3)进行回归测试,进行回归测试,防止引进新的错误。防止引进新的错误。软件调试可分为静态调试和动态调试。静态调试软件调试可分为静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排错,主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态调试。是主要的设计手段,而动态调试是辅助静态调试
30、。主要调试方法有:主要调试方法有:(1)强行排错法;强行排错法;(2)回溯法;回溯法;(3)原因排除法。原因排除法。3.3数据库设计基础数据库设计基础 数据:实际上就是描述事物的符号记录。数据:实际上就是描述事物的符号记录。软件的数据是软件的数据是有一定的结构,有型与值之分,如整型、实型、字符型等。有一定的结构,有型与值之分,如整型、实型、字符型等。而数据的值给出了符合定型的值,如整型值而数据的值给出了符合定型的值,如整型值15。数据库:是指在已有数据库管理系统的基础上建立数据数据库:是指在已有数据库管理系统的基础上建立数据库,是数据的集合,具有统一的结构形式并存放于统一的库,是数据的集合,具
31、有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程存储介质内,是多种应用数据的集成,并可被各个应用程序共享。序共享。数据库存放数据是按数据所提供的数据模式存数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点。放的,具有集成与共享的特点。数据库管理系统:一种系统软件,负责数据库中的数据数据库管理系统:一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,组织、数据操纵、数据维护、控制及保护和数据服务等,数据库系统中实现各种数据管理功能的核心软件称为数据数据库系统中实现各种数据管理功能的核心软件称为数据库管理系统。库管理系统
32、。数据库管理系统提供以下的数据语言:数据库管理系统提供以下的数据语言:(1)数据定义语言数据定义语言(DDL):负责数据的模式定义:负责数据的模式定义与数据的物理存取构建;与数据的物理存取构建;(2)数据操纵语言数据操纵语言(DML):负责数据的操纵,如:负责数据的操纵,如查询与增、删、改等;查询与增、删、改等;(3)数据控制语言数据控制语言(DCL):负责数据完整性、安:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等。全性的定义与检查以及并发控制、故障恢复等。数据语言按其使用方式具有两种结构形式:数据语言按其使用方式具有两种结构形式:交互交互式命令式命令(又称自含型或自主型语言又
33、称自含型或自主型语言);宿主型语言;宿主型语言(一般可嵌入某些宿主语言中)。(一般可嵌入某些宿主语言中)。数据库管理员:对数据库进行规划、设计、维护、数据库管理员:对数据库进行规划、设计、维护、监视等的专业管理人员。监视等的专业管理人员。数据库系统:由数据库(数据)、数据库管理系数据库系统:由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平台统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的运(硬件)、软件平台(软件)五个部分构成的运行实体。行实体。对数据库系统需要操作系统的支持。对数据库系统需要操作系统的支持。数据库应用系统:由数据库系统、
34、应用软件及应数据库应用系统:由数据库系统、应用软件及应用界面三者组成。用界面三者组成。数据管理发展的三个阶段:人工管理阶段,文件数据管理发展的三个阶段:人工管理阶段,文件系统阶段,数据库系统阶段。系统阶段,数据库系统阶段。数据独立性最高的是数据库系统。数据独立性最高的是数据库系统。文件系统阶段:提供了简单的数据共享与数据管文件系统阶段:提供了简单的数据共享与数据管理能力,但是它无法提供完整的、统一的、管理理能力,但是它无法提供完整的、统一的、管理和数据共享的能力。和数据共享的能力。层次数据库与网状数据库系统阶段层次数据库与网状数据库系统阶段:为统一与:为统一与共享数据提供了有力支撑。共享数据提
35、供了有力支撑。数据库系统的基本特点:数据的集成性数据库系统的基本特点:数据的集成性、数据、数据的高共享性与低冗余性的高共享性与低冗余性、数据独立性(物理独立、数据独立性(物理独立性与逻辑独立性)、数据统一管理与控制。性与逻辑独立性)、数据统一管理与控制。物理物理独立性:用户的应用程序与存储在磁盘在磁盘等独立性:用户的应用程序与存储在磁盘在磁盘等介质上的数据库是相互独立的。介质上的数据库是相互独立的。数据库系统的三级模式:数据库系统的三级模式:(1)概念模式:数据库系统中全局数据逻辑结构概念模式:数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图;的描述,全体用户公共数据视图;(2)外模式
36、:也称子模式与用户模式。是用户的外模式:也称子模式与用户模式。是用户的数据视图,也就是用户所见到的数据模式;数据视图,也就是用户所见到的数据模式;(3)内模式:又称物理模式,它给出了数据库物内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。理存储结构与物理存取方法。数据库系统的两级映射:数据库系统的两级映射:(1)概念模式到内模式的映射;概念模式到内模式的映射;(2)外模式到概外模式到概念模式的映射。念模式的映射。数据模型:是数据特征的抽象,从抽象层次上描数据模型:是数据特征的抽象,从抽象层次上描述了系统的静态特征、动态行为和约束条件,为述了系统的静态特征、动态行为和约束条件,为
37、数据库系统的信息表与操作提供一个抽象的框架。数据库系统的信息表与操作提供一个抽象的框架。描述了数据结构、数据操作及数据约束。描述了数据结构、数据操作及数据约束。关系模型属于非格式化模型,而层次模型和网状关系模型属于非格式化模型,而层次模型和网状模型属于格式化模型。模型属于格式化模型。E-R模型模型(实体联系模型实体联系模型)的基本概念:的基本概念:(1)实体:现实世界中的事物;实体:现实世界中的事物;(2)属性:事物的特性;属性:事物的特性;(3)联系:现实世界中事物间的关系。联系:现实世界中事物间的关系。实体集间的联系有一对一、一对多、多对多的联实体集间的联系有一对一、一对多、多对多的联系。
38、系。E-R模型基本概念之间的联接关系:实体是模型基本概念之间的联接关系:实体是概念世界中的基本单位,属性有属性域,每个实概念世界中的基本单位,属性有属性域,每个实体可取属性域内的值。一个实体的所有属性值叫体可取属性域内的值。一个实体的所有属性值叫元组。元组。E-R模型的图示法:模型的图示法:(1)实体集表示法实体集表示法矩形;矩形;(2)属性表法属性表法椭圆形;椭圆形;(3)联系表示法联系表示法菱形。菱形。关系代数关系代数 关系数据库管理系统能实现的专门关系运算包括:关系数据库管理系统能实现的专门关系运算包括:选择、投影、连接。选择、投影、连接。关系模型的基本运算:关系模型的基本运算:(1)插入插入(2)删除删除(3)修改修改(4)查询(包括投查询(包括投影、选择、笛卡尔积运算)影、选择、笛卡尔积运算)还有扩充运算交、除、连接及自然连接运算。在还有扩充运算交、除、连接及自然连接运算。在关系运算中,连接运算后得到的新表的属性是运关系运算中,连接运算后得到的新表的属性是运算前表中属性相加。即多于原来关系中属性的个算前表中属性相加。即多于原来关系中属性的个数。数。