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