公共基础部分_第1页
公共基础部分_第2页
公共基础部分_第3页
公共基础部分_第4页
公共基础部分_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全国计算机等级考试——二级公共基础知识部分目录PAGE目录第1章数据结构与算法 11、算法 12、数据结构的基本概念 23、线性表及其存储结构 24、栈和队列 35、线性链表 36、树与二叉树 47、查找技术 58、排序技术 5第2章程序设计基础 61、程序设计方法与风格 62、结构化程序设计 63、面向对象的程序设计 7第3章软件工程基础 71、软件工程基础概念 72、结构化分析方法 83、结构化设计方法 94、软件测试 95、程序的调试 9第4章数据库设计基础 101、数据库系统的基本概念 102、数据模型 113、关系代数 124、数据设计与管理 12 第1章数据结构与算法PAGE5数据结构与算法算法算法的概念:是指解题方案的准确而完整的描述。算法的基本特征:可行性确定性有穷性拥有足够的情报算法的基本要素算法中对数据的运算和操作算术运算逻辑运算关系运算数据传输算法的控制结构顺序结构选择结构(分支结构)循环结构算法设计基本方法列举法:根据提出的问题列举所有可能的情况,并用问题中给定的条件进行检验,找出答案。学用于解决“是否存在”或“有多少种可能”等类型的问题。归纳法:通过列举少量的特殊情况,经过分析,最后找出一般的关系。递推:指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。(本质上也属于归纳法)递归:将问题逐层分解,最后归结为一些最简单的问题。直接递归:一个算法P显式调用自己间接递归:算法P调用另一算法Q,而算法Q又调用算法P。减半递推技术:指将问题的规模减半,而问题的性质不变(即减半)并重复进行(即递推)。回溯法:通过对问题的分析,找出一个解决问题的线索,然后沿着这个线索逐步试探,每步试探成功则继续,直至问题解决,否则换路线再试探。算法的复杂度算法的时间复杂度:指执行算法所需要的计算工作量。计算方法(P4):用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数:算法的工作量=f(n)其中n是问题的规模。同一问题规模下分析算法的工作量方法:平均性态(P5):指用各种特定输入下的基本运算次数的加权平均值来度量算法的工作量。最坏情况复杂性(P5):指在规模为n时,算法所执行的基本运算的最大次数。算法的空间复杂度:指执行这个算法所需要的内存空间。数据结构的基本概念数据结构学科讨论的三个问题:数据集合中各数据之间所固有的逻辑关系,即数据的逻辑结构;对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;对各种数据结构进行的运算。研究数据结构的目的:提高数据处理的效率提高数据处理的速度尽量减少数据处理过程中占用的计算机存储空间。什么是数据结构:数据结构的概念:反映数据元素之间关系的数据元素集合的表示(或指带有结构的数据元素的集合),至少应包含以下信息:表示数据元素的信息;表示各数据元素之间的前后件关系。数据的逻辑结构:指反映数据元素之间逻辑关系的数据结构,它有两个要素:(P9)B=(D,R)D={1,2,3,4}R={(1,2),(2,3),(3,4)}数据元素的集合,通常记为D;数据元素集合上的关系(即反映D中各数据元素之间前后件的关系),通常记为R数据的存储结构:数据的逻辑结构在计算机存储空间中的存放形式(即数据的物理结构)。常见的存储结构有4种:顺序存储、链式存储、索引存储和散列存储。数据结构的图形表示(P11例1.8)线性结构与非线性结构:根据数据结构中各数据元素之间前后件关系的复杂程度可分为两大类型,即线性结构和非线性结构。线性结构:一个非空的数据结构满足以下两个条件即为线性结构,或称线性表。线性结构中插入或删除任何一个结点后还是线性结构。常见的线性表如:线性表、线性链表、栈、队列等。有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件。在一个线性结构中插入或删除任何一个结点后还是线性结构。非线性结构:不符合线性结构规则的数据结构称非线性结构。如树、二叉树和图等。线性表及其顺序存储结构线性表的基本概念线性表:由n(n>=0)个数据元素组成的一个有限序列,表中每一个数据元素除第一个外,有且只有一个前件,除最后一个外,有且只有一个后件。线性表也可以是一个空表,即n=0。线性表顺序存储两个基本特点:线性表中所有元素所占的存储空间是连续的;线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。顺序表:用顺序存储方式形成的线性表称顺序表,顺序表的结构简单,适合存放元素不经常变动的线性表。顺序存储方式:把逻辑上相邻的结点存储在物理位置相邻的存储单元中,可以实现随机存取。顺序表的插入运算:在顺序表中插入元素,会使插入位置后的其它元素依次后移,如插入时系统为线性表开辟的存储空间已满,则会造成“上溢”错误。顺序表较长时,插入运算的效率很低。顺序表的删除运算:删除顺序表的一个元素,会使删除位置后的其它元素依次前移。顺序表较长时,删除运算的效率也很低。栈和队列栈:只允许在一端进行插入与删除元素操作的线性表称“栈”也称“堆栈”。允许插入与删除的一端称“栈顶”,不允许进行插入与删除的一端称“栈底”。栈按照“先进后出、后进先出”的原则组织数据。栈的顺序存储:可以用一维数组作为栈的顺序存储空间,另需用一个变量作栈顶指针,记录栈顶位置。栈的运算:入栈运算:往栈中插入一个元素。首先将栈顶指针进一,然后将新元素插入到栈顶指针指向的位置。如栈顶指针已经指向存储空间的最后一个位置则栈满,再进行入栈操作就会造成“上溢”错误。退栈(出栈):从栈中删除一个元素。首先将栈顶元素的值赋给一个指定的变量,然后将栈顶指针退一。如栈顶指针为0则栈空,如再进行退栈操作则会造成“下溢”错误。读栈顶元素:将栈顶元素赋给一个指定的变量。读栈操作不会改变栈顶指针,即不删除栈顶元素。如栈顶指针为0则因栈空而读不到栈顶元素。队列:允许在一端进行插入而在另一端进行删除的线性表。允许插入的一端称为队尾,允许删除的一端称为排头(也称队头)。队列按照“先进先出、后进后出”的原则组织数据。队列的顺序存储:队列也可以用一维数组作为队列的顺序存储空间。另需一个变量记录队尾位置(rear),另一个变量记录排头前一个位置(front),还有一个变量记录队中元素个数。循环队列:将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间。循环队列的初始状态为空,即队尾、排头都指向数组的最后一个单元,队列元素个数为0。循环队列的运算:入队运算:首先将队尾加1(如超过最后一个单元位置时变为1),队列元素记录变量也加1,然后将新元素插入到队尾指向的位置,当队列非空,而队尾等于排头时则队列已满,再入队就会“上溢”错误;退队(出队)运算:首先将排头加1(如排头超过最后一个单元位置时就变为1),队列元素记录变量减1,然后将排头指向的元素值赋给指定的变量,当队列为空时再进行退队操作就会“下溢”错误。线性链表基本概念:指针:用来存放存储位置的存储单元(变量)称指针。结点:假设数据结构中的每个数据结点对应于一个存储单元,这种存储单元称为存储结点,简称结点。链式存储方式:由存放数据元素值的数据域和存放指针的指针域两部分构成结点,指针域记录前后结点的位置,形成像链条一样的存储方式称为链式存储方式。链式存储方式中存储单元可以是不连续的,但访问必须顺序进行。线性链表:用链式存储结构存储线性表称为线性链表。在链表中有一个头结点(HEAD),它是为方便运算的实现而增加的。线性单链表:即指针域只记录前结点位置或后结点位置形成的线性链表。线性双向链表:即指针域同时记录前后结点位置形成的线性链表。其中一个称为左指针用于指向前件结点,另一个称右指针,用于指向后件结点。带链的栈和队列:使用链式存储结构存储栈和队列。线性链表的基本运算:在线性链表中查找指定元素线性链表的插入线性链表的删除循环链表循环链表:在链表中增加头结点,并让最后一个结点的指针批向头结点,形成一个环状链;基本运算:插入与删除结点。树与二叉树树:概念:每个结点只有一个前件(父结点),而后件(子结点)可以有多个。没有前件的结点称树根,没有后件的结点称叶子。度:一个结点所拥有的后件个数称为该结点的度,所有结点中的最大的度称为树的度。层:树的结构是分层的,树的最大层次称为树的深度。子树:以某结点的一个子结点为根构成的树称为该结点的一棵子树。二叉树:概念:只有一个根结点,每个结点最多只有两棵子树(左子树与右子树),这样的树称二叉树。基本性质:性质1:第k层上最多有2k-1(k>=1)个结点。性质2:深度为m的二叉树最多有2m-1个结点。性质3:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。性质4:具有n个结点的二叉树中,其深度到少为(Log2N)+1的整数值。性质5:具有n个结点的完全二叉树的深度为[log2n]+1性质6:设完全二叉树共有n个结点。如果从根结点开始,按层序(每层从左到右)用自然数列给结点进行编号,则对于编号为k的结点有以下结论:若k=1,则该结点为根结点;若k>1则该结点的父结点编号为Int(k/2)。若2k<=n,则编号为k的结点的左子结点编号为2k;否则该结点无左子结点。若2k+1<=n,则编号为k的结点的右子结点编号为2k+1;否则该结点无右子结点。满二叉树:除最后一层外,每一层上的所有结点都有两个子结点,则该二叉树称满二叉树。满二叉树每层上的结点数都达到最大值,即第k层上有2k-1个结点,且深度为m的满二叉树有2m-1个结点。完全二叉树:除最后一层外,每个层上的结点数均达到最大值,而最后一层上只缺少右边的若干结点。完全二叉树的叶子结点数为:总结点数-int(总结点数/2)二叉树的存储结构:二叉树通常用链式结构存储。二叉树的遍历:不重复地访问二叉树中所有结点称遍历。遍历二叉树的过程是一个递归的过程。前序遍历:先访问根结点,然后访问左子树,最好访问右子树。中序遍历:首先遍历左子树,然后访问根结点,最后遍历右子树。后序遍历:首先遍历左子树,然后遍历右子树,最后访问根结点。查找技术顺序查找:又称顺序搜索,指从第一个元素开始在线性表中查找指定的元素。对大的线性表顺序查找的效率很低,但在下列两种情况下只能采用顺序查找:如果线性表为无序表;采用链式结构的有序线性表。二分查找:从有序表的中间开始查找,如比中间小则在前半部分的中间再找,否则从后半部分的中间再找,重复上面的过程,直至找到指定的元素。二分查找只能查找顺序存储的有序表,查找效率比顺序查找高得多,长度为n的有序线性线最坏情况下二分查找只要比较log2n次,而顺序查找需比较n次。排序技术:指将一个无序序列整理成按值非递减顺序排列的有序序列。交换类排序法:指通过互相交换数据元素值方法进行排序。常见有以下两种:冒泡排序法:依次扫描线性表,把表相阾两个元素中较大的元素往后移(每次移动称消去一个逆序),直到把最大的元素移到表尾,然后再重复上面过程,在剩下的线性表中进行排序,直到剩下的线性表为空。所以冒泡排序又称下沉排序。假设线性表长度为n,冒泡排序的最坏情况需要经过n(n-1)/2遍比较。快速排序法:从线性表中选取一个元素T作为标准,把比T小的元素移到前面,比T大的元素移到后面,结果就将线性表分成了两个子表,然后对子表分别重复上面的过程,直至各子表为空。具体实现如下:首先在表的第一、中间一个和最后一个元素中选取一个中项(设为p(k)元素),并用变量T记住P(k)的值,再将第一个元素移动到p(k)位置上,然后设置两个指针I和j,I记录表的起始位置,j记录表的结束位置;将j逐渐减小,并不断比较p(j)与T,如发现p(j)<T则P(j)移到p(i)位置上;将I逐渐增大,并不断比较p(i)与T,如发现p(i)>T,将p(i)移动到p(j)位置上。不断重复b)中的操作,直至指针I与j相等(即指向同一位置),将T移到p(i)位置上。插入类排序法:指将无序序列中的各元素依次插入到已经有序的线性表中而完成的排序操作。简单插入排序法:把第一个元素看作一个有序子表。用T记住剩下线性表的第一个元素值。从有序子表最后一个元素开始扫描,把比T大的元素依次后移一个位置,直至发现不大于T的元素或没有发现不大于T的元素为止,把T插入到有序子表中空出来的位置上,使有序子表长度加1。重复上面的操作,直至有序子表长度与线性表相同。排序效率与冒泡排序一样,最坏情况下,长度为n的线性表使用简单插入排序需要n(n-1)/2次比较。希尔排序法:将整个无序序列分割成若干个小的子序列,然后分别进行插入排序。具体实现时一般会先以序列的一半长度作为分割子序列单位,然后再逐次减小分割单位,直至分割单位为1。本排序的效率与所选取的增量序列有关,按上述增量最坏情况下希尔排序所需要的比较次数为O(n1.5)。选择类排序法:扫描整个线性表,选出最小的元素将它交换到表的最前面;然后在剩下的子表中重复使用这个操作,直至子表为空。简单选择排序法:最坏情况下需要比较n(n-1)/2次堆排序法P38:最坏情况下,堆排序需要比较的次数为O(nlog2n)。*归并排序:指将两个或两个以上的有序表组合成一个新的有序表。它的内存量较前面几种都要大。几个补充算法分析:是指对一个算法的运行时间和占用空间做定量分析,目的是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。*强连通图:在有向图中若任意两个顶点都连通,则该图为强连通图。有n个顶点的强连通图到少有n条边。链表与顺序表比较:顺序表访问方便,可以随机访问;链表插入删除结点比顺序方便。第2章程序设计基础程序设计基础程序设计方法与风格当今主导的程序设计风格:清晰第一,效率第二。形成良好程序设计风格:源程序文档化数据说明的次序规范,变量安排有序,使用注释。语句的结构输入和输出尽可能方便用户使用。结构化程序设计结构化程序设计的原则自顶向下:程序设计时从总体到细节,从全局目标到局部目标。逐步求精:对复杂问题应设计一些子目标作过渡,逐步细化。模块化:总目标分解为人目标,再进一步分解为具体的小目标,每个小目标称为一个模块。限制使用goto语句。结构化程序的基本结构与特点顺序结构:是最基本、最常用的结构,按程序语句的自然顺序一条一条地执行。选择结构:又称分支结构,包括简单选择和多分支选择结构。根据设定的条件选择其中一条分支来执行相应的语句序列。重复结构:又称循环结构。根据给定的条件,重复执行同一相同或类似的程序段,直到允许循环的条件被破坏为止。总之,遵循结构化程序的设计原则可以有以下优点:易于理解使用和维护;提高编程工作的效率,降低开发成本。结构化程序设计原则和方法的应用使用顺序、选择和循环等有限的控制结构表示程序的控制逻辑;选用的控制结构只许有一个入口和一个出口;程序块组成要容易识别,每块只有一个入口和一个出口;使用基本控制结构进行嵌套与组合来实现复杂结构;用前后一致的方法来模拟三种基本结构以外的控制结构;严格控制GOTO语句的使用。面向对象的程序设计面向对象方法的本质:系统中的对象以及对象之间的关系能够如实地反映问题域中固有事物及关系。面向对象模型最基本的概念为对象和类。基本原理:使用现实世界的抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法,鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思考。面向对象方法的优点:与人类习惯的思维方法一致,面向对象的核心是对象。稳定性好可重用性好:可继承父类的所有属性和方法。易于开发大型软件产品可维护性好稳定性好容易修改容易理解易于测试和调试面向对象方法的基本概念对象(object):应用领域中有意义的、与所要解决的问题有关系的任何事物都可以作为对象,它既可以是具体的物理实体的抽象,也可以是人为的概念。对象的基本特点:标识惟一性分类性多态性封装性模块独立性好类和实例类:指具有共同属性、方法的对象的集合。实例:类的其中一个具体应用就是一个实例。消息:实例之间相互传递的信息叫消息,传送的消息实质上是接受对象所具有的操作/方法名称,有时还包括相应参数。继承:使用已有的类定义作基础建立新类的定义技术。它是面向对象方法的一个主要特征。继续分为单继承与多重继承。单继承:指一个类只允许有一个父类。多重继承:指一个类允许有多个父类。多态性:指同样的消息被不同的对象接受时可导致完全不同行动的现象。第3章软件工程基础软件工程基础软件工程的基本概念软件:是计算机系统中与硬件相互储存的程序、数据及相关文档的完整集合。所以软件由机器可以执行的程序和数据,及是机器不可执行的相关文档两部分构成。程序:是软件开发人员根据用户需求开发的、用程序设计语言描述的、适合计算机执行的指令(语句)序列。数据:是使程序能正常操纵信息的数据结构。文档:是与程序开发、维护和使用有关的图文资料。软件的特点软件是一种逻辑实体,不是物理实体,具有抽象性。软件的生产与硬件不同,没有明显的制作过程。软件的运行与使用不存在磨损与老化问题。软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制。软件复杂性高,成本昂贵。软件开发涉及诸多的社会因素。软件的分类:按功能分可为应用软件、系统软件、支撑软件(工具软件)。软件危机与软件工程软件危机:泛指在计算机软件的开发和维护过程中所遇到的一系列严重问题。归结起来为成本、质量、生产率等问题。软件工程:是应用于计算机软件的定义、开发和维护的一整套方法、工具、文档实践标准和工序。软件工程三要素:方法、工具和过程。软件工程的核心思想:把软件产品看作是一个工程产品来处理。软件工程过程:是把输入转化为输出的一组彼此相关的资源和活动。软件工程过程是指为获得软件产品,在软件工具运行下由软件工程师完成的一系列软件工程活动。包括4种基本活动:软件规格说明、软件开发、软件确认、软件演进。从软件开发的观点看,它是使用适当的资源为开发软件进行的一组开发活动,在过程结束时将输入转化为输出。软件生命周期:通常将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。可以粗略划分为软件定义、软件开发、和软件运行维护三个阶段。软件生命周期的主要活动阶段是:可行性研究与计划制定:确定开发目标和总的要求,给出可行方案,制定开发计划。需求分析:根据用户的需求进行分析并给出详细定义,即确定软件系统的功能。软件设计:在反复理解软件需求的基础上给出软件结构、模块划分、功能分配及处理流程。软件实现:把软件设计转换成计算机可以接受的程序代码,即完成源程序的编码和相关用户文档,编写单元测试计划。软件测试:检验软件的各个组成部分,编写测试分析报告。运行和维护:交付使用,并不断进行维护,根据新需求进行扩充和删改。本阶段所花的费用远远大于开发阶段。软件的维护分改正性维护、适应性维护、完善性维护和预防性维护4种。软件工程的目标与原则软件工程的目标:在给定成本、进度的前提下,开发出具有有效性、可靠性、可理解性、可维护性、可重用性、可适应性、可移植性、可追踪性和可互操作性且满足用户需求的产品。软件工程的理论和技术研究的主要包括:软件开发技术和软件工程管理。软件工程的原则:抽象、信息隐蔽、模块化、局部化、确定性、一致性、完备性和可验证性。这也是软件设计所必须遵循的原则。P54软件开发环境:是全面支持软件开发全过程的软件工具集合。计算机辅助软件工程缩写CASE结构化分析方法软件开发方法:是软件开发过程所遵循的方法和步骤。包括分析方法、设计方法和程序设计方法。结构化分析方法:其核心和基础是结构化程序设计理论,包括结构化分析方法、结构化设计方法和结构化编程方法。需求分析与其方法需求分析:指用户对目标软件系统在功能、行为、性能、设计约束等方面的期望。有四个方面的工作:需求获取、需求分析、编写需求规格说明书和需求评审。需求分析方法:结构分析方法:包括面向数据流的结构化分析方法、面向数据结构的Jackson方法、面向数据结构的结构化数据系统开发方法。面向对象的分析方法按需求分析建立的模型特性分可分为静态分析方法和动态分析方法。结构化分析方法:是结构化程序设计理论在软件需求分析阶段的运用。数据流图P56:是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模。数据字典:是结构化分析方法的核心,是对所有与系统相关的数据元素的一个有组织的列表。判定树、判定表软件需求规格说明书:是需求分析阶段的最后成果,是软件开发中的重要文档之一。其作用为便于理解与交流作为软件开发的基础和依据作为确认测试和验收的依据结构需求分析的常用工具:数据流图(DFD):用于描述数据处理过程。主要的描述图符有加工(转换)“○”、数据流“→”、存储文件(数据源)“〓”、源和潭“□”。数据字典(DD):是各类数据描述的集合,通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。判定树判定表结构化设计方法软件设计的基本概念软件设计的构成:软件结构设计:定义软件系统各主要部件之间的关系;数据设计:将分析时创建的模型转化为数据结构的定义;接口设计:描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计:把系统结构部件转换成软件的过程性描述。软件设计的步骤:从工程管理角度,软件设计分两步完成:概要设计和详细设计。概要设计:即总体设计或结构设计基本任务:设计软件系统结构、数据结构及数据库设计、编写概要设计文档和概要设计文档评审等,在需求分析基础上把复杂的系统功能分解成一系列比较简单的功能。数据流类型:变换型和事务型常用的软件结构设计工具是结构图,也称程序结构图(由四种模块构成:传入模块、传出模块、变换模块和协调模块)。详细设计:其任务是为软件结构图的每一个模块确定实现算法和局部数据结构,用某种选定的表达工具表示算法和数据结构的细节。常用的表达工具有:程序流程图(PFD)、N-S、PAD、HIPO、判定表和PDL(伪码)等。程序流程图:也称程序框图,其中箭头表示控制流,方块表示加工步骤,菱形表示逻辑条件。N-S图:用方框图来代替传统的程序流程图。软件设计的一般过程:软件设计是一个迭代的过程,先进行高层次的结构设计,后进行低层次的过程设计,中间穿插进行数据设计和接口设计。软件设计的基本原理P61结构化设计方法:采用最佳的可能方法设计系统的各个组成部分以及各成分之间的内部联系的技术。软件测试:是保证软件质量的重要手段,包括需求定义阶段的需求测试、编码阶段的单元测试、集成阶段以及后期的确认测试、系统测试,以验证软件是否合格、能否交付用户使用等。测试的目的:发现错误。测试的准则:所有测试都应追溯到需求严格执行测试计划,排队测试的随意性充分注意测试中的群集现象程序员应避免检查自己的程序穷举测试不可能妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。测试技术与方法P72按是否需要执行被测试软件分为静态测试和动态测试。按功能划分可分为白盒和黑盒测试。白盒测试:用于测试程序内部结构,此方法将程序看作逻辑路径的集合。有逻辑覆盖、基本路径测试等,其中逻辑覆盖分语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断-条件覆盖;黑盒测试:是对软件已经实现的功能是否满足需求进行测试和验证。分等价划分法、边界值分析法、错误推测法。软件测试的过程:单元测试、集成测试、验收测试(确认测试)和系统测试。单元测试:对软件的最小设计单元-模块进行正确性检验的测试。集成测试:是测试和组装软件的测试,目的是发现与接口有关的错误。验收测试:即确认测试,是验证软件的功能和性能及其他特性是否满足需求规格说明中确定的各种需求,以及软件配置是否完全、正确。系统测试:是将通过测试确认的软件加入的整个计算机系统中进行测试,目的是在真实的系统工作环境下检验软件是否能与系统正确连接,发现软件与系统需求不一致地方。程序的调试基本概念程序调试活动的组成:根据错误的迹象确定程序中错误的确切性质、原因和位置,对程序进行修改排队这个错误。其目的是诊断和改正程序中的错误。程序调试的基本步骤错误定位修改设计和代码,以排除错误进行回归测试,防止引进新的错误程序调试的原则P81软件调试方法强行排错法回溯法原因排除法第4章数据库设计基础数据库设计基础数据库系统的基本概念数据(Date):描述事物的符号记录。数据一般分临时性数据与持久性数据两类。处理数据的最小单位是数据项,若干数据项组成数据元素。数据库(DataBase):是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。也就是说它是一个结构化的数据集合,具有集成、共享之特点。数据库管理系统(DBMS):是一种系统软件,是数据库的机构,是数据库系统的核心,负责数据库的数据组织、数据操纵、数据维护、控制及保护和数据服务等。主要有以下六方面功能:数据模式定义数据存取的物理构建数据操纵数据的完整性、安全性定义与检查数据库的并发控制与故障恢复数据的服务几个相关缩写:数据定义语言(DDL)、数据操纵语言(DML)、数据控制语言(DCL)数据库管理员(DBA):主要工作为数据库设计数据库维护改善系统性能,提高系统效率。数据库系统(DBS):以数据库为核心的由数据库、数据库管理系统数据库管理员系统软、硬件平台五部分构成的完整的运行实体。数据库应用系统(DBAS):在数据库系统基础上加上应用软件及应用界面,包括数据库、数据库管理系统、数据库管理员、系统软、硬件平台、应用软件、应用界面七部分构成的有机整体。数据库管理的发展三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。数据库系统的发展三个阶段:文件系统阶段、层次数据库和网状数据库系统阶段和关系数据库系统阶段。目前三种比较重要的数据库技术:面向对象数据库系统、知识库系统、关系数据库系统的扩充。数据库系统的基本特点:数据的集成性数据的高共享性与低冗余性数据高独立性数据统一管理与控制数据库系统的内部结构体系三级模式:数据模式是数据库系统中数据结构的一种表示形式。概念模式:是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)数据视图。以概念模式为框架所组成的数据为叫概念数据库。外模式:也称子模式或用户模式,是用户的数据视图。以外模式为框架所组成数据库叫用户数据库。内模式:又称物理模式,是数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等。是数据的物理结构在计算机存储空间中的存放形式。它的设计直接影响数据库的性能。以内模式为框架所组成的数据库叫物理数据库。二级映射:概念模式到内模式的映射外模式到概念模式的映射数据模型数据模型的基本概念数据模式的内容数据结构数据操作数据约束数据模型的应用层次概念数据模型逻辑数据模型物理数据模型E-R模型(实体联系模型):由实体、联系和属性三者结合起来表示现实世界。基本概念实体:是概念世界的基本单位,是客观存在的且又能被相互区别的事物。属性:实体的特征联系:事物之间的关联,也就是实体间的函数关系,常见的函数关系有一对一(实体间一一对应)、一对多(实体A对应多个其它实体,而其他实体只对应实体A)、多对多(多个实体间相互有多个关系)。E-R图示法实体集表示法属性表示法联系表示法实体集(联系)与属性间的联接关系实体集与联系间的联接关系层次模型:以树形结构表示现实世界,具有以下特性:每棵树有且仅有一个无双亲结点,称为根树中除根外所有结点有且仅有一个双亲。网状模型P95关系模型:关系的数据结构:用二维表表示,简称表。二维表由表框架和表的元组组成。表框架上按行可以存放数据,每行数据称为元组,一个元组由n个元组分量组成,每个元组分量是表框架上每个属性的投影值。满足下列7个性质的二维表称关系:元组个数有限性元组的惟一性元组的次序无关性元组分量的原子性属性名惟一性属性的次序无关性分量值域的同一性关系的操纵:是建立在关系上的数据操纵,一般有查询

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论