版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机软件计算机软件基础知识基础知识第三讲第三讲 基本组成基本组成3.13.1数据结构与算法数据结构与算法 1.1 1.1 算法算法算法算法:是一组有穷指令集,:是一组有穷指令集,是解题方案的准确而完整的是解题方案的准确而完整的描述。描述。通俗地说,算法就是计算机解题的过程。算法不等通俗地说,算法就是计算机解题的过程。算法不等于程序,也不等于计算方法,程序的编制不可能优于算法于程序,也不等于计算方法,程序的编制不可能优于算法的设计。的设计。 算法是一组严谨地定义运算顺序的规则,每一算法是一组严谨地定义运算顺序的规则,每一个规则都是有效的,且是明确的,此顺序将在有限的次数个规则都是有效的,且是明
2、确的,此顺序将在有限的次数下终止。所以其下终止。所以其四个基本特征四个基本特征包括:包括: (1) (1) 确定性,算法中每一步骤都必须有明确定义,不允确定性,算法中每一步骤都必须有明确定义,不允许有模棱两可的解释,不允许有多义性;许有模棱两可的解释,不允许有多义性; (2) (2) 有穷性,算法必须能在有限的时间内做完,即能在有穷性,算法必须能在有限的时间内做完,即能在执行有限个步骤后终止;执行有限个步骤后终止; (3) (3) 可行性,算法原则上能够精确地执行;可行性,算法原则上能够精确地执行; (4) (4) 拥有足够的情报。拥有足够的情报。 算法的基本要素:一是算法的基本要素:一是对数
3、据对象的运算和对数据对象的运算和操作操作;二是;二是算法的控制结构算法的控制结构。 指令系统:一个计算机系统能执行的所有指指令系统:一个计算机系统能执行的所有指令的集合。令的集合。 基本运算和操作包括:算术运算、逻辑运算、基本运算和操作包括:算术运算、逻辑运算、关系运算、数据传输。关系运算、数据传输。 算法的三种基本控制结构算法的三种基本控制结构:顺序结构、选择结:顺序结构、选择结构、循环结构。构、循环结构。 算法基本设计方法:列举法、归纳法、递推、算法基本设计方法:列举法、归纳法、递推、递归、减半递推技术、回溯法。递归、减半递推技术、回溯法。 算法效率的度量算法效率的度量算法复杂度算法复杂度
4、:算法时间复杂算法时间复杂度和算法空间复杂度。度和算法空间复杂度。 算法时间复杂度:算法时间复杂度:指执行算法所需要的计算工指执行算法所需要的计算工作量。即算法执行过程中所需要的基本运算次数。作量。即算法执行过程中所需要的基本运算次数。通常,一个算法所用的时间包括编译时间和运行通常,一个算法所用的时间包括编译时间和运行时间。时间。 算法空间复杂度:算法空间复杂度:指执行这个算法所需要的内指执行这个算法所需要的内存空间。包括算法程序所占的空间,输入的初始存空间。包括算法程序所占的空间,输入的初始数据所占的空间,算法执行过程中所需的额外空数据所占的空间,算法执行过程中所需的额外空间。间。1.2 1
5、.2 数据结构的基本概念数据结构的基本概念数据结构:指相互有关联的数据元素的集合。数据结构:指相互有关联的数据元素的集合。 数数据结构研究的三个方面:据结构研究的三个方面: (1) (1) 数据集合中各数据元素之间所固有的逻辑关数据集合中各数据元素之间所固有的逻辑关系,即系,即数据的逻辑结构数据的逻辑结构; (2) (2) 在对数据进行处理时,各数据元素在计算机在对数据进行处理时,各数据元素在计算机中的存储关系,即中的存储关系,即数据的存储结构数据的存储结构; (3) (3) 对各种数据结构进行的运算。对各种数据结构进行的运算。数据的逻辑结构应包含:数据的逻辑结构应包含: (1) (1) 表示
6、数据元素的信表示数据元素的信息;息; (2) (2) 表示各数据元素之间的前后件关系表示各数据元素之间的前后件关系( (指逻指逻辑关系,与存储位置无关辑关系,与存储位置无关) )。 数据的逻辑结构在计算机存储空间中的存放形式数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构称为数据的存储结构, ,也称数据物理结构。也称数据物理结构。 数据的存储结构有顺序、链接、索引等。数据的存储结构有顺序、链接、索引等。 线性结构的条件,线性结构的条件,( (一个非空数据结构一个非空数据结构) ): (1) (1) 有有且只有一个根结点;且只有一个根结点; (2) (2) 每一个结点最多有一个每一个
7、结点最多有一个前件,也最多有一个后件。前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。非线性结构:不满足线性结构条件的数据结构。 1.31.3栈和队列栈和队列 栈栈:限定在一端进行插入与删除的线性表。:限定在一端进行插入与删除的线性表。 其其允许插入与删除的一端称为栈顶,用指针允许插入与删除的一端称为栈顶,用指针toptop表表示栈顶位置。示栈顶位置。 不允许插入与删除的另一端称为栈不允许插入与删除的另一端称为栈底,用指针底,用指针bottombottom表示栈底。表示栈底。 栈按照栈按照“先进后先进后出出”(FILOFILO)或)或“后进先出后进先出”(LIFOLIFO)
8、组织数)组织数据,栈具有记忆作用。据,栈具有记忆作用。 栈的存储方式有顺序存储和链式存储。栈的存储方式有顺序存储和链式存储。 栈的基栈的基本运算:本运算:(1 1)入栈运算,在栈顶位置插入元素;)入栈运算,在栈顶位置插入元素; (2 2) 退栈运算,删除元素退栈运算,删除元素( (取出栈顶元素并赋取出栈顶元素并赋给一个指定的变量给一个指定的变量) );(3 3) 读栈顶元素,将栈顶元素赋给一个指定读栈顶元素,将栈顶元素赋给一个指定的变量,此时指针无变化。的变量,此时指针无变化。 队列队列:指允许在一端(队尾)进入插入,而在另一端:指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表
9、。(队头)进行删除的线性表。 用用rearrear指针指向队尾,用指针指向队尾,用frontfront指针指向队头元素的前指针指向队头元素的前一个位置。一个位置。 队列是队列是“先进先出先进先出”(FIFOFIFO)或)或“后进后出后进后出”(LILOLILO)的线性表。)的线性表。 队列运算包括:队列运算包括:(1) (1) 入队运算:从队尾插入一个元素;入队运算:从队尾插入一个元素; (2) (2) 退队运算:从队头删除一个元素。退队运算:从队头删除一个元素。 队列的顺序存储结构一般采用队列循环的形式。队列的顺序存储结构一般采用队列循环的形式。 循环队列循环队列s=0s=0表示队列空;表示
10、队列空;s=1s=1且且front=rearfront=rear表示队列表示队列满。满。 计算循环队列的元素个数:计算循环队列的元素个数:“尾指针减头指针尾指针减头指针”,若为负数,再加其容量即可。若为负数,再加其容量即可。 计算循环队列长度计算循环队列长度: front=rearfront=rear,队列长度,队列长度0 0; frontrearfrontrearfrontrear,队列长度,队列长度rear+sizerear+size -front -front1.4 1.4 树与二叉树树与二叉树 树是一种简单的非线性结构,其所有元素之间树是一种简单的非线性结构,其所有元素之间具有明显的层
11、次特性。具有明显的层次特性。 在树结构中,每一个结点在树结构中,每一个结点只有一个前件,称为父结点。没有前件的结点只只有一个前件,称为父结点。没有前件的结点只有一个,称为树的根结点,简称树的根。每一个有一个,称为树的根结点,简称树的根。每一个结点可以有多个后件,称为该结点的子结点。没结点可以有多个后件,称为该结点的子结点。没有后件的结点称为叶子结点。有后件的结点称为叶子结点。 在树结构中,一个在树结构中,一个结点所拥有的直接后件的个数称为该结点的度,结点所拥有的直接后件的个数称为该结点的度,所有结点中最大的度称为树的度。树的最大层次所有结点中最大的度称为树的度。树的最大层次称为树的深度。称为树
12、的深度。二叉树二叉树的特点:的特点: (1) (1) 非空二叉树只有一个根结点;非空二叉树只有一个根结点;(2) (2) 每一个结点最多有两棵子树,且分别称为该每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。结点的左子树与右子树。 满二叉树满二叉树是指除最后一是指除最后一层外,每一层上的所有结点有两个子结点,则层外,每一层上的所有结点有两个子结点,则k k层上有层上有2k-12k-1个结点,深度为个结点,深度为mm的满二叉树有的满二叉树有2m-2m-1 1个结点。个结点。 完全二叉树完全二叉树是指除最后一层外,每一是指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺层上
13、的结点数均达到最大值,在最后一层上只缺少右边的若干结点。少右边的若干结点。 二叉树基本性质:二叉树基本性质: (1) (1) 在二叉树的第在二叉树的第k k层上,最多有层上,最多有2k-1(k1)2k-1(k1)个个结点;结点; (2) (2) 深度为深度为mm的二叉树最多有的二叉树最多有2m-12m-1个结点;个结点; (3) (3) 度为度为0 0的结点(即叶子结点)总是比度为的结点(即叶子结点)总是比度为2 2的结点多一个;即的结点多一个;即n0=n2+1 n0=n2+1 (4) (4) 具有具有n n个结点的二叉树,其深度至少为个结点的二叉树,其深度至少为log2n+1,log2n+1
14、,其中其中log2nlog2n表示取表示取log2nlog2n的整数部的整数部分分 (5) (5) 具有具有n n个结点的完全二叉树的深度为个结点的完全二叉树的深度为log2n+1log2n+1;(6) (6) 设完全二叉树共有设完全二叉树共有n n个结点。如果从根结点开始,按个结点。如果从根结点开始,按层序(每一层从左到右)用自然数层序(每一层从左到右)用自然数1,2,1,2,n n给结点进行编给结点进行编号(号(k=1,2k=1,2.n.n),有以下结论:),有以下结论: 若若k=1k=1,则该结,则该结点为根结点,它没有父结点;若点为根结点,它没有父结点;若k1k1,则该结点的父结点,则
15、该结点的父结点编号为编号为INT(k/2)INT(k/2); 若若2kn2kn,则,则k k结点的左子结点编号为结点的左子结点编号为2k2k;否;否则该结点无左子结点(也无右子结点);则该结点无左子结点(也无右子结点); 若若2k+1n2k+1n,则编号为,则编号为k k的结点的右子结点编的结点的右子结点编号为号为2k+12k+1;否则该结点无右子结点。;否则该结点无右子结点。 补充:增加度为补充:增加度为1 1的结点不会影响二叉树的叶子结点数,的结点不会影响二叉树的叶子结点数,每增加一个度为每增加一个度为2 2的结点便会增加一个叶子结点,没有度的结点便会增加一个叶子结点,没有度为为2 2的结
16、点时叶子结点数为的结点时叶子结点数为1 1。 二叉树的遍历:二叉树的遍历: (1) (1) 前序遍历前序遍历(DLRDLR),首先访问根结点,然后遍历左),首先访问根结点,然后遍历左子树,最后遍历右子树;(树根在第一,下走不跳结点)子树,最后遍历右子树;(树根在第一,下走不跳结点)(2) (2) 中序遍历中序遍历(LDRLDR),首先遍历左子树,然后访问根),首先遍历左子树,然后访问根结点,最后遍历右子树;(有左先左,再寻根,后找右。结点,最后遍历右子树;(有左先左,再寻根,后找右。最左边的结点最先遍历,最右边的结点最后遍历)最左边的结点最先遍历,最右边的结点最后遍历) (3) (3) 后序遍
17、历后序遍历(LRDLRD)首先遍历左子树,然后访问遍历)首先遍历左子树,然后访问遍历右子树,最后访问根结点。(有左先左,再找右,后寻根,右子树,最后访问根结点。(有左先左,再找右,后寻根,到最右一路上行,树根在最后)到最右一路上行,树根在最后) 二叉树中度为二叉树中度为 0 0 的节点的个数比度为的节点的个数比度为 2 2 的节点的个数的节点的个数多一。多一。二叉树遍历总结二叉树遍历总结: 前序遍历:最左边的一定是根节点;前序遍历:最左边的一定是根节点;中序遍历:根节点左侧是左子树,右侧是右子树;后续遍中序遍历:根节点左侧是左子树,右侧是右子树;后续遍历:最右边是根结点。历:最右边是根结点。
18、3.2 3.2 软件工程基本概念软件工程基本概念 计算机软件是包括程序、数据及相关文档的完整集计算机软件是包括程序、数据及相关文档的完整集合。合。 软件的特点包括:软件的特点包括: (1) 软件是一种逻辑实体,具有抽象性;软件是一种逻辑实体,具有抽象性; (2) 软件的生产与硬件不同,它没有明显的制作软件的生产与硬件不同,它没有明显的制作过程;过程; 软件在运行、使用期间不存在磨损、老化问题;软件在运行、使用期间不存在磨损、老化问题; (4) 软件的开发、运行对计算机系统具有依赖性,软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移植的问题;受计算机系统的限制,这导致了
19、软件移植的问题; 软件复杂性高,成本昂贵;软件复杂性高,成本昂贵; (6) 软件开发涉及诸多的社会因素。软件开发涉及诸多的社会因素。 软件按功能分为应用软件、系统软件、支撑软软件按功能分为应用软件、系统软件、支撑软件件( (或工具软件或工具软件) )。 软件危机主要表现在成本、质量、生产率等问软件危机主要表现在成本、质量、生产率等问题。题。 软件工程是应用于计算机软件的定义、开发和软件工程是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档、实践标准和工维护的一整套方法、工具、文档、实践标准和工序。简单的说就是使软件走向工程化。序。简单的说就是使软件走向工程化。软件工程的核心思想是把软
20、件产品看作是一个软件工程的核心思想是把软件产品看作是一个工程产品来处理。工程产品来处理。 软件工程包括软件工程包括3 3个要素:方法、个要素:方法、工具和过程。工具和过程。软件生命周期分三个阶段:软件定义、软件开软件生命周期分三个阶段:软件定义、软件开发、运行维护发、运行维护 。 结构化分析方法结构化分析方法结构化方法的核心和基础是结构化程序设计理论。结构化方法的核心和基础是结构化程序设计理论。结构化分析的常用工具:数据流图;数据字典;判结构化分析的常用工具:数据流图;数据字典;判定树;判定表。定树;判定表。 (1) (1) 数据流图(数据流图(DFDDFD图):描述数据处理过程的工图):描述
21、数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支具,是需求理解的逻辑模型的图形表示,它直接支持系统功能建模。持系统功能建模。 加工(转换)加工(转换)圆框,输入数据经加工变换产生圆框,输入数据经加工变换产生的输出。的输出。 数据流数据流箭头,沿箭头方向传递数据的通道,箭头,沿箭头方向传递数据的通道,一般在旁边标注数据流名。一般在旁边标注数据流名。 存储文件(数据源)存储文件(数据源)双横线,表示处理过程中双横线,表示处理过程中存放各种数据的文件。存放各种数据的文件。 源、潭源、潭方框,表示系统和环境的接口,属系统方框,表示系统和环境的接口,属系统之外的实体。之外的实体。 (2) (
22、2) 数据字典:对所有与系统相关的数据元素的数据字典:对所有与系统相关的数据元素的一个有组织的列表,以及精确的、严格的定义,一个有组织的列表,以及精确的、严格的定义,使得用户和系统分析员对于输入、输出、存储成使得用户和系统分析员对于输入、输出、存储成分和中间计算结果有共同的理解。分和中间计算结果有共同的理解。 数据字典是结构化分析的核心。数据字典是结构化分析的核心。(3) (3) 判定树:从问题定义的文字描述中分清哪些判定树:从问题定义的文字描述中分清哪些是判定的条件,哪些是判定的结论,根据描述材是判定的条件,哪些是判定的结论,根据描述材料中的连接词找出判定条件之间的从属关系、并料中的连接词找
23、出判定条件之间的从属关系、并列关系、选择关系,根据它们构造判定树。列关系、选择关系,根据它们构造判定树。 (4) (4) 判定表:与判定树相似,当数据流图中的加判定表:与判定树相似,当数据流图中的加工要依赖于多个逻辑条件的取值,即完成该加工工要依赖于多个逻辑条件的取值,即完成该加工的一组动作是由于某一组条件取值的组合而引发的一组动作是由于某一组条件取值的组合而引发的,使用判定表描述比较适宜。的,使用判定表描述比较适宜。 结构化设计方法结构化设计方法 软件设计是确定系统的物理模型。软件设计是确定系统的物理模型。 软件设计的基本目标是用比较抽象概括的方式确定目标系软件设计的基本目标是用比较抽象概括
24、的方式确定目标系统如何完成预定的任务。统如何完成预定的任务。 从技术观点来看,软件设计包括从技术观点来看,软件设计包括软件结构设计、数据设计、接口设计、过程设计。软件结构设计、数据设计、接口设计、过程设计。 结构设计:定义软件系统各主要部件之间的关系。结构设计:定义软件系统各主要部件之间的关系。数据设计:将分析时创建的模型转化为数据结构的定义。数据设计:将分析时创建的模型转化为数据结构的定义。 接口设计:描述软件内部、软件和协作系统之间以及软接口设计:描述软件内部、软件和协作系统之间以及软件与人之间如何通信。件与人之间如何通信。 过程设计:把系统结构部件转换成软件的过程描述。过程设计:把系统结
25、构部件转换成软件的过程描述。 从工程管理角度来看,软件设计分两步:概要设计和详细从工程管理角度来看,软件设计分两步:概要设计和详细设计。设计。 软件设计的基本原理是:软件设计的基本原理是:(1) (1) 抽象;抽象; (2) (2) 模块化;模块化; (3) (3) 信息隐蔽;信息隐蔽; (4) (4) 模块独立性。模块独立性。 衡量软件模块独立性使用耦合性和内聚性两个衡量软件模块独立性使用耦合性和内聚性两个定性的度量标准。定性的度量标准。 耦合性是模块见相互连接的紧密程度的度量。耦合性是模块见相互连接的紧密程度的度量。耦合程度取决于各个模块之间接口的复杂程度、耦合程度取决于各个模块之间接口的
26、复杂程度、调用方式以及哪些信息通过接口。调用方式以及哪些信息通过接口。 内聚性是一个模块内部各个元素间彼此结合的内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量。紧密程度的度量。在程序结构中各模块的内聚性越强,则耦合性在程序结构中各模块的内聚性越强,则耦合性越弱。优秀软件应高内聚,低耦合,有利于提高越弱。优秀软件应高内聚,低耦合,有利于提高模块的独立性。模块的独立性。 软件概要设计的基本任务是:软件概要设计的基本任务是: (1) (1) 设计软件系统结构;设计软件系统结构;(2) (2) 数据结构及数据库设计;数据结构及数据库设计;(3) (3) 编写概要设计文档;编写概要设计文档;(4
27、) (4) 概要设计文档评审。概要设计文档评审。 详细设计:是为软件结构图中的每一个模块确详细设计:是为软件结构图中的每一个模块确定实现算法和局部数据结构,用某种选定的表达定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。工具表示算法和数据结构的细节。 常见的过程设计工具有:常见的过程设计工具有: 图形工具(程序流程图图形工具(程序流程图(PFD)(PFD)、N-SN-S图、图、 PADPAD图、),表格工具(判定表),语言工具图、),表格工具(判定表),语言工具(PDLPDL)。)。 程序流程图中:箭头为控制流、方框为加工步程序流程图中:箭头为控制流、方框为加工步骤、菱
28、形为逻辑条件。骤、菱形为逻辑条件。 软件测试软件测试软件测试定义:使用人工或自动手段来运行或软件测试定义:使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它是否测定某个系统的过程,其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果满足规定的需求或是弄清预期结果与实际结果之间的差别。之间的差别。 软件测试的目的:发现错误而执行程序的过程。软件测试的目的:发现错误而执行程序的过程。 软件测试方法:静态测试和动态测试。软件测试方法:静态测试和动态测试。 静态测试包括代码检查、静态结构分析、代码静态测试包括代码检查、静态结构分析、代码质量度量。不实际运行软件,主要通过人工进质量度
29、量。不实际运行软件,主要通过人工进行。行。 动态测试:是基本计算机的测试,主要包括白盒测试方动态测试:是基本计算机的测试,主要包括白盒测试方法和黑盒测试方法。法和黑盒测试方法。 白盒测试:也称结构测试或逻辑测试。在程序内部进行,白盒测试:也称结构测试或逻辑测试。在程序内部进行,主要用于完成软件内部操作的验证。白盒测试主要考虑内主要用于完成软件内部操作的验证。白盒测试主要考虑内部的逻辑结构。主要方法有逻辑覆盖、基本路径测试。部的逻辑结构。主要方法有逻辑覆盖、基本路径测试。 黑盒测试:也称功能测试或数据驱动测试。是在软件接黑盒测试:也称功能测试或数据驱动测试。是在软件接口处进行,完成功能验证。黑盒
30、测试完全不考虑程序内部口处进行,完成功能验证。黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求和功能规格说的逻辑结构和内部特性,只依据程序的需求和功能规格说明,检查程序的功能是否符合它的设计要求。主要诊断功明,检查程序的功能是否符合它的设计要求。主要诊断功能不对或遗漏、界面错误、数据结构或外部数据库访问错能不对或遗漏、界面错误、数据结构或外部数据库访问错误、性能错误、初始化和终止条件错,用于软件确认测试。误、性能错误、初始化和终止条件错,用于软件确认测试。主要方法有等价类划分法、边界值分析法、错误推测法、主要方法有等价类划分法、边界值分析法、错误推测法、因果图等。因果图等。程序
31、的调试程序的调试程序调试的任务是诊断和改正程序中的错误,程序调试的任务是诊断和改正程序中的错误,主要在开发阶段进行。主要在开发阶段进行。程序调试的基本步骤:程序调试的基本步骤:(1) (1) 错误定位;错误定位;(2) (2) 修改修改设计和代码,以排除错误;设计和代码,以排除错误;(3) (3) 进行回归测试,进行回归测试,防止引进新的错误。防止引进新的错误。软件调试可分为静态调试和动态调试。静态调软件调试可分为静态调试和动态调试。静态调试主要是指通过人的思维来分析源程序代码和排试主要是指通过人的思维来分析源程序代码和排错,是主要的设计手段,而动态调试是辅助静态错,是主要的设计手段,而动态调
32、试是辅助静态调试。调试。主要调试方法有:主要调试方法有:(1) (1) 强行排错法;强行排错法;(2) (2) 回溯法;回溯法;(3) (3) 原因排除法。原因排除法。 3.3 3.3数据库设计基础数据库设计基础 数据:实际上就是描述事物的符号记录。数据:实际上就是描述事物的符号记录。 软件的数据是软件的数据是有一定的结构,有型与值之分,如整型、实型、字符型等。有一定的结构,有型与值之分,如整型、实型、字符型等。而数据的值给出了符合定型的值,如整型值而数据的值给出了符合定型的值,如整型值1515。 数据库:是指在已有数据库管理系统的基础上建立数据数据库:是指在已有数据库管理系统的基础上建立数据
33、库,是数据的集合,具有统一的结构形式并存放于统一的库,是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程存储介质内,是多种应用数据的集成,并可被各个应用程序共享。序共享。 数据库存放数据是按数据所提供的数据模式存数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点。放的,具有集成与共享的特点。 数据库管理系统:一种系统软件,负责数据库中的数据数据库管理系统:一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,组织、数据操纵、数据维护、控制及保护和数据服务等,数据库系统中实现各种数据管理功能的核心软件称为数
34、据数据库系统中实现各种数据管理功能的核心软件称为数据库管理系统。库管理系统。 数据库管理系统提供以下的数据语言:数据库管理系统提供以下的数据语言: (1) (1) 数据定义语言数据定义语言(DDL)(DDL):负责数据的模式定义:负责数据的模式定义与数据的物理存取构建;与数据的物理存取构建;(2) (2) 数据操纵语言数据操纵语言(DML)(DML):负责数据的操纵,如:负责数据的操纵,如查询与增、删、改等;查询与增、删、改等; (3) (3) 数据控制语言数据控制语言(DCL)(DCL):负责数据完整性、安:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等。全性的定义与检查以及并发
35、控制、故障恢复等。 数据语言按其使用方式具有两种结构形式:数据语言按其使用方式具有两种结构形式: 交互交互式命令式命令( (又称自含型或自主型语言又称自含型或自主型语言) );宿主型语言;宿主型语言(一般可嵌入某些宿主语言中)。(一般可嵌入某些宿主语言中)。 数据库管理员:对数据库进行规划、设计、维数据库管理员:对数据库进行规划、设计、维护、监视等的专业管理人员。护、监视等的专业管理人员。 数据库系统:由数据库(数据)、数据库管理数据库系统:由数据库(数据)、数据库管理系统(软件)、数据库管理员(人员)、硬件平系统(软件)、数据库管理员(人员)、硬件平台(硬件)、软件平台(软件)五个部分构成的
36、台(硬件)、软件平台(软件)五个部分构成的运行实体。运行实体。 对数据库系统需要操作系统的支持。对数据库系统需要操作系统的支持。数据库应用系统:由数据库系统、应用软件及数据库应用系统:由数据库系统、应用软件及应用界面三者组成。应用界面三者组成。 数据管理发展的三个阶段:人工管理阶段,文数据管理发展的三个阶段:人工管理阶段,文件系统阶段,数据库系统阶段。件系统阶段,数据库系统阶段。数据独立性最高的是数据库系统。数据独立性最高的是数据库系统。 文件系统阶段:提供了简单的数据共享与数据文件系统阶段:提供了简单的数据共享与数据管理能力,但是它无法提供完整的、统一的、管管理能力,但是它无法提供完整的、统
37、一的、管理和数据共享的能力。理和数据共享的能力。 层次数据库与网状数据库系统阶段层次数据库与网状数据库系统阶段 :为统一与:为统一与共享数据提供了有力支撑。共享数据提供了有力支撑。 数据库系统的基本特点:数据的集成性数据库系统的基本特点:数据的集成性 、数据、数据的高共享性与低冗余性的高共享性与低冗余性 、数据独立性(物理独立、数据独立性(物理独立性与逻辑独立性)、数据统一管理与控制。性与逻辑独立性)、数据统一管理与控制。 物理物理独立性:用户的应用程序与存储在磁盘在磁盘等独立性:用户的应用程序与存储在磁盘在磁盘等介质上的数据库是相互独立的。介质上的数据库是相互独立的。 数据库系统的三级模式:数据库系统的三级模式: (1) (1) 概念模式:数据库系统中全局数据逻辑结构概念模式:数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金乡安全生产培训课件
- 郭沫若《白鹭》课件介绍
- 护理面试试讲中的护理心理支持技巧
- 高中地理一轮总复习-第1章-行星地球-1.1.1-经纬网和地图习题讲义-新人教版必修
- 郑州工地工人安全培训班课件
- CN120263411A 数据加密方法、装置、设备及介质 (平安科技(深圳)有限公司)
- 安徽省合肥市滨湖区2025年初中毕业班模拟地理试卷
- 郑州交通安全课件
- 邵阳餐饮安全培训中心课件
- 邯郸安全生产月培训内容课件
- T/CMMA 8-2020镁质胶凝材料制品硫氧镁平板
- JJG 878-2025 熔体流动速率仪检定规程
- 《重庆市北碚区高标准农田建设规划2021-2030年》
- 教科版小学科学三年级上册单元测试题附答案(全册)
- 《细胞的增殖》说课课件-2024-2025学年高一上学期生物人教版(2019)必修1
- 中考数学选择填空压轴题:函数的几何综合问题
- 2024年重庆市普通高中学业水平考试信息技术练习题及答案
- 房产盘活工作总结
- 全文版曼娜回忆录
- 第29课+中国特色社会主义进入新时代高一历史中外历史纲要上册
- GB/T 14781-2023土方机械轮式机器转向要求
评论
0/150
提交评论