软考数据库系统工程师复习资料(完全版)_第1页
软考数据库系统工程师复习资料(完全版)_第2页
软考数据库系统工程师复习资料(完全版)_第3页
软考数据库系统工程师复习资料(完全版)_第4页
软考数据库系统工程师复习资料(完全版)_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

目录第一章 计算机系统知识 2第二章 数据结构与算法 5第三章 操作系统知识 6第四章 程序设计基础 7第五章 网络基础知识 7第六章 多媒体基础知识 7第七章 数据库技术基础 8第八章 关系数据库 12第九章 SQL语言 16第十章 系统开发与运行 22第十一章 数据库设计 23第十二章 数据库运行与管理 27第十三章 网络与数据库 27第十四章 数据库发展趋势与新技术 28计算机系统知识计算机软件=程序+数据+相关文档。操作数包含在指令中是立即寻址,操作数的地址包含在指令中是直接寻址。计算机硬件的典型结构:单总线结构、双总线结构、采用通道的大型系统结构。CPU由运算器和控制器组成;控制器由程序计数器(PC)、指令寄存器(IR)、指令译码器(ID)、状态条件寄存器、时序产生器和微操作信号发生器组成。PC: pc自动增加一个值,指向下一条要执行的指令,当程序转移时将转移地址送入PC。IR:用于存放当前要执行的指令。ID:对现行的指令进行分析,确定指令类型、指令要完成的操作和寻址方式。指令执行的过程:取指令:控制器首先按程序计数器所指出的指令地址从内存中取出一条指令。指令译码:将指令的操作码部分送入指令译码器中进行分析,然后根据指令的功能发出控制命令。按指令操作码执行。形成下一条指令地址。CPU的基本功能:程序控制操作控制时间控制数据处理——CPU的根本任务计算机体系结构和计算机组成的区别:体系结构要解决的问题是计算机系统在总体上、功能上需要解决的问题,而计算机组成要解决的是逻辑上如何具体实现的问题。计算机体系结构分类(指令流、数据流、多倍性):Flynn分类:传统的顺序执行的计算机在同一时刻只能执行一条指令(即只有一个控制流)、处理一个数据(即只有一个数据流),因此被称为单指令流单数据流计算机SingleInstructionSingleData即SISD计算机)。而对于大多数并行计算机而言,多个处理单元都是根据不同的控制流程执行不同的操作,处理不同的数据,因此,它们被称作是多指令流多数据流计算机,即MIMD(MultipleInstructionMultipleData)计算机。曾经在很长一段时间内成为超级并行计算机主流的向量计算机除了标量处理单元之外,最重要的是具有能进行向量计算的硬件单元。在执行向量操作时,一条指令可以同时对多个数据(组成一个向量)进行运算,这就是单指令流多数据流(SingleInstructionMultipleData,SIMD)的概念。因此,我们将向量计算机称为SIMD计算机。第四种类型即所谓的多指令流单数据(MultipleInstructionSingleData)计算机。在这种计算机中,各个处理单元组成一个线性阵列,分别执行不同的指令流,而同一个数据流则顺次通过这个阵列中的各个处理单元。这种系统结构只适用于某些特定的算法。相对而言,SIMD和MISD模型更适合于专用计算。在商用并行计算机中,MIMD模型最为通用,SIMD次之,而MISD最少用。存储器的分类:按存储器的位置:内存(主存)和外存(辅存)。按存储器的材料:磁存储器、半导体存储器(静态和动态)和光存储器。按工作方式:读写存储器和只读存储器。只读存储器(ROM/PROM/EPROM/EEPROM/闪存)按访问方式:按地址访问的存储器和按内容访问的存储器(相连存储器)。按寻址方式:随机存储器(RAM)、顺序存储器(ASM)—磁带、直接存储器(DAM)—磁盘就是直接存储器。输入/输出:直接程序控制、中断方式、直接存储器存取(DMA)。流水线技术吞吐率和建立时间是流水线技术的两个重要技术指标。吞吐率是指单位时间内流水线处理机流出的结果数;流水线开始工作经过一段时间(建立时间)才能到达最大的吞吐率。若m个子过程所用的时间都是t0则建立时间是m*t0,否则t0取子过程中的最长时间。那么n条指令执行完成需要的时间为第一条完全执行的时间加上后n-1条所用的时间(n-1)*m*t0。虚拟存储器:页式:页表硬件少,查表速度快,主存零头少;分页无逻辑性,不利于存储保护。段式:段页式:地址变换速度比较慢。只有20%的指令经常应用频率达80%→RISC(精简指令集计算机)简化了CPU的控制器,提高了处理速度,特点有:信息安全的基本要素:计算机安全等级(技术安全性、管理安全性、政策法律安全性):分为四组七个等级。组安全级别1A12B3B2B13C2C14D(最低级)计算机病毒的特点:寄生性隐蔽性非法性传染性破坏性计算机病毒的类型:系统引导型病毒————BOOT型病毒文件外壳型病毒————攻击文件混合型病毒————Flip病毒、OneHalf病毒(幽灵)目录型病毒————改变目录项不敢变相关文件宏病毒————用宏的word或是excel文件计算机可靠性:平均无故障时间(MATBF=1/λ);计算机正常工作的概率(可用/靠性)A=MTBFMTBF+MTRF(MTRF失效率:单位时间内失效的元件数与元件总数的比例,用λ表示。可靠性和是效率的关系是:R(t)=e-λt。计算机可靠模型:串联系统:可靠性等于R=R1R2…RN;失效率λ=λ1+λ2+…+λN并联系统:可靠性等于R=1-(1-R1)(1-R2)…(1-RN);失效率u=m模冗余系统:可靠性i=n+1对称加密技术:加密密钥和解密密钥相同。DES(数据加密标准算法):采用替换和移位方法加密,用56位进行对64位数据加密(也就是说只有56是有效的),每次加密对64位数据进行16次的编码,密钥长度为64位。它加密速度快,密钥容易产生。由于DES的密钥较短,不能抵抗对密钥的穷举搜索攻击。RC-5算法。IDEA算法:明文和密文的长度都为64位,密钥为128位。非对称加密技术:运用公钥加密和私钥解密。RSA算法:RAS技术是指可靠性(R)、可用性(A)、可维性(S)信息摘要是一个单向散列函数,经过散列函数得到一个固定的散列值,常用的信息摘要算法有MD5、SHA算法,散列值分别为128和160位。数字签名:用私钥进行加密用公钥解密。数字时间戳技术:电子商务安全服务项目之一,能提供电子文件的日期和时间信息的安全保护。它是在数据加密上加上了时间,有摘要、文件的日期和时间及数据签名组成。信息传输加密:链路加密:对传输途径进行加密;节点加密:端到端加密:SSL安全协议:主要应用于提高应用程序之间数据的安全系数。提供的服务有:用户和服务器的合法性认证。加密数据以隐藏被传送的数据。保护数据的完整性。DES与RAS的比较:计算机故障诊断技术计算机的故障:永久性故障间隙性故障瞬时性故障

内存容量=末地址-首地址+1。存储相关计算问题:计算磁道数:磁道数=(外半径-内半径)×道密度×记录面数。注:硬盘的第一面和最后一面是保护用的要减掉,即有n个双面的盘片记录面数为n×2-2。非格式化磁盘容量:容量=位密度×π×最内圈直径×总磁道数。注:每道位密度是不通的,但是容量是相同的,其中0道是最外面的磁道位密度最小。格式化磁盘容量:容量=每道扇区数×扇区容量×总磁道数。(格式化)平均数据传输率:传输率=每道扇区数×扇区容量×盘片转速。存取时间=寻道时间﹢等待时间。其中:寻道时间是指磁头移动所需的时间;等待时间为等待读写的扇区转到磁头下方所需的时间。(非格式化)平均数据传输率:传输率=最内直径×π(3.14)×位密度×盘片转速。注:一般采用非格式化。数制运算码制反码:正数的反码与原码相同,负数反码为原码按位取反(符号位不变)。补码:正数的补码与原码相同,负数的补码为反码末位加1(即除去符号位按位取反末位加1)。移码(增码):将补码的符号位求反。[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补-[Y]补[-Y]补=-[Y]补校验码:循环校验码(CRC):模二除法:指在除法运算的过程中不计其进位的除法。海明校验码:根据信息位数,确定校验位数,2r≥k+r+1。k为信息位数,r为校验位数,求出满足不等式的最小r即为校验位数。数据结构与算法数据结构指数据元素的组织形式。线性表的顺序存储结构:特点是物理位置上的邻接关系来表示结点的逻辑关系,具有可以随机存取表中的任一结点的,但插入删除不方便。查找表中第i个元素 LOC(ai)=LOC(a1)+(i-1)*L线性表的链式存储结构:用一组任意的存储单元来存放线性表的数据元素,链表中的结点的逻辑次序和物理次序不一定相同。数据域指针域线性表的插入和删除顺序存储:Einsert=n/2Edelete=(n-1)/2链式存储:栈的顺序存储:采用两个顺序栈共享一个数据空间:(先进后出)栈底1栈顶1…栈顶2栈底2队列:只允许在表的一端插入元素(队尾),另一端删除元素(队头)。(先进先出)子串包含在它的主串中的位置是子串的第一个字符首次出现的位置。广义表二叉树的性质:二叉树第i层上的结点数目最多为2i-1(i≥1)。深度为K的二叉树至多有2k-1个结点(k≥1)。在任意一颗二叉树中,若终端结点的个数为n0,度为2的节点数为n2,则n0=n2+1。具有n个结点的完全二叉树的深度为log2树与二叉树的转换:左孩子不变,其兄弟结点变为左孩子的右孩子;或是将树置保留左孩子结点,其它全删去,然后将各层的兄弟结点连起来。如:树的前序遍历与二叉树的先序遍历一样;树的后序与二叉树的中序遍历一样。散列就是把任意长度的输入通过散列算法,变换成固定长度的输出,该输出就是散列值,如此建立的表为散列表,散列表是可以动态创建的。二分查找(折半查找):要求关键字必须采用顺序存储结构,并且必须按关键字的大小有序排序。查找二叉树(二叉排序树)——动态查找表:或者为空树或者满足:查找树的左右子树各是一颗查找树。若查找树的左子树非空,则其左子树上各节点的值均小于根结点的值。若查找树的右子树非空,则其右子树上各节点的值均大于根结点的值。平衡二叉树:或者是空树,或者是满足:树中任一节点左右子树的深度相差不超过1。结点的平衡度:其右子树的深度减去左子树的深度(因此平衡度只能为1,0,-1)。有向图中所有顶点的出度数之和等于入度数之和。在图中,边数等于所有顶点的度数之和的一半.在有向图中顶点为n的边数等于n×(n-1)2,无向图中边数等于n×(n-1)C语言中,struct中各成员都占有自己的内存空间,总长度为所有成员的长度之和,而union中的长度等于最长的成员的长度。操作系统知识操作系统的类型:批处理操作系统(单道和多道)分时系统(多路性(同时性)、独立性、交互性、及时性)注:UNIX是多用户多任务的分时系统。实时系统——高可靠性网络操作系统分布式操作系统微机操作系统嵌入式操作系统利用PV操作实现进程的互斥和同步。网络操作系统集中模式客户机/服务器模式对等模式中断响应时间:从发出中断请求到进入中断处理所用的时间。中断响应时间=关中断的最长时间+保护CPU内部寄存器的时间+进入中断服务函数的执行时间+开始执行中断服务例程(ISR)的第一条指令时间。在磁盘驱动器向盘片的磁性涂层写入数据时,均是以串行方式一位接着一位的顺序记录在盘片的磁道上。高速缓存的组成:Cache由两个部分组成:控制部分和Cache存储器部分。Cache与主存之间的地址映像,就是把CPU送来的主存地址转换成Cache地址。有三种方式:直接映像:它把主存空间按Cache大小等分成区,每区内的各块只能按位置一一对应到Cache的相应块位置上。主存地址:主存区号+块号B+块内地址WCache地址:块号b+块内地址w对应关系:块号B=块号b,块内地址W=块内地址w全相联映像:主存中的每一页可以映像到Cache中的任意一页。主存地址:块号B+块内地址WCache地址:块号b+块内地址w对应关系:块号B通过地址变换表对应于块号b,块内地址W=块内地址w组相联映像:是直接映像和全相联映像的折中方案。即组间直接映像,组内全相联映像。主存地址:区号E+组号G+组内块号B+块内地址WCache地址:组号g+组内块号b+块内地址w组间是直接映射关系,组内是全相连映射关系对应关系:组号G=组号g,组内块号B通过地址变换表对应于组内块号b,块内地址W=块内地址wCache存储器:命中率:t3=μ×t1﹢﹙1-μ﹚×t2。其中:μ为Cache的访问命中率(1﹣μ)为未命中率,t1表示Cache的周期时间,t2表示主存储器的周期时间,t3为“Cache+主存储器”的平均周期。使用Cache后提高的倍数:r=t2/t3。替换算法:目标就是使Cache获得最高的命中率。常用算法如下:随机替换算法。就是用随机数发生器产生一个要替换的块号,将该块替换出去;先进先出算法。就是将最先进入Cache的信息块替换出去。此法简单但并不能说最先进入的就不经常使用;近期最少使用算法。这种方法是将近期最少使用的Cache中的信息块替换出去。该算法较先进先出算法要好一些。但此法也不能保证过去不常用将来也不常用。优化替换算法。使用这种方法时必须先执行一次程序,统计Cache的替换情况。注:/share/detail/30866296局部性理论和Denning的工作集理论:虚拟存储管理系统的基础是程序的局部性理论:程序的局部性表现在时间局部性和空间局部性上。时间局部性是指最近被访问的存储单元可能马上又要被访问。空间局部性是指马上被访问的存储单元,其相邻或附近单元也可能马上被访问。根据程序的局部性理论,Denning提出了工作集理论:在进程运行时,如果能保证它的工作集页面都在主存储器内,就会大大减少进程的缺页次数,使进程高效地运行;否则将会因某些工作页面不在内存而出现频繁的页面调入/调出现象,造成系统性能急剧下降,严重时会出现“抖动”现象。进程状态进程不发生死锁的条件:系统资源数=进程数*(每个进程所需资源数-1)+1。前趋图是一个有向无循环图。PV操作:生产者和消费者问题。临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机。临界区:每个进程中访问临界资源的那段程序代码。s:信号量;P操作:使S=S-1,若S<0,进程暂停执行,放入信号量的等待队列;V操作:使s=s+1,若s≤0,唤醒等待队列中的一个进程。进入临界区时进行P操作,退出临界区是进行V操作。进程通信(间接通信)发送信件:如果指定信箱未满,则将信件送入信箱中由指针所指示的位置,并释放等待该信箱中信件的等待者;否则发送信件者被置成等待信箱状态。接收信件:如果指定信箱中有信,则取出一封信件,并释放等待信箱的等待者,否则接收信件者被置成等待信箱中信件的状态进程通信。存储管理:页式存储管理:逻辑地址分为页号+页内地址,页表分为页号+块号,块号对应内存块号。物理地址=块号+页内地址。页内地址由每页的大小决定,如逻辑地址有16K=214,页面大小为2K=211则页内地址为11位,也号为3位。即:P=INT[A/L];d=[A]MODL.其中逻辑地址为A。页面大小为L页号P,页内地址d。段式存储管理方式:逻辑地址分为段号+段内地址,段表分为段号+段长+基址。基址对应内存地址。物理地址=基址+段内地址。段页式存储管理方式:逻辑地址分为段号(s)+段内页号(P)+页内地址(w)。由一个段表和多个(一组页表)组成。物理地址=块号+页内地址。在多道环境下,每道程序还需要一个基号作为用户标识。那么物理地址=(基号+段号+页号)*2n+页内地址。其中2n是将n位的页内地址拼接到后面。文件系统的主要功能是:实现对文件的按名存取,使用打开文件(open)将文件的控制信息从辅存读到内存。FAT16文件系统中磁盘分区容量=簇的大小×216。Spooling技术是用一类物理设备模拟另一类物理设备的技术,实现这种技术的功能模块称做斯普林系统。Spooling系统的特点:提高了I/O速度。将独占设备改造成共享设备。实现了虚拟设备的功能。程序设计基础程序设计语言的种类:命令式程序设计语言:基于动作的语言,如fortran、pascal和c。面向对象程序设计语言:java、C++。函数式程序设计语言:主要用于符号数据处理,如积分演算、数理逻辑、游戏推演和人工智能等领域。逻辑程序设计语言:不需要描述具体的接替过程,只需给出一些必要的事实和规则,作为专家系统的开发工具。程序语言的基本成分:数据成分:常量和变量、全局量和局部量、数据类型。运算成分:控制成分:顺序结构、选择结构和循环结构。函数:函数定义、函数声明、函数调用。面向对象程序设计语言的基本特征:抽象数据对象;支持模版操作,具体有函数模版和类模版,即泛型编程。支持动态性;支持继承——与其它语言的主要区别。类库是衡量成熟与否的标识。C语言的特点是过程式程序设计属于静态语言所有成分可在编译时确定。脚本语言是动态语言,可在运行时可改变不能产生独立的目标程序。编写程序时的错误有:动态错误:指源程序中的逻辑错误,发生在程序运行时错误,如除数为0数组下标出界。静态错误:分为语法错误和语义错误。网络基础知识TCP是第四层(传输层)的传输控制协议;IPSec是第三层(网络层)的VPN协议;PPOE工作于第二层(数据链路层);SSL是工作于TCP协议之上的安全协议。FTP传输需建立:控制连接:文件传输命令,由客户端向服务器端请求。数据连接:文件的传输,主动模式由服务器端主动连接,被动模式服务器等待客户端来连接。端口号:端口号服务进程说明20FTP文件传输协议(数据连接)21FTP文件传输协议(控制连接)23TELNET虚拟终端网络25SMTP简单邮件传输协议53DNS域名服务器80HTTP超文本传输协议110POP3邮局协议(简单邮件读取)111RPC远程过程调用143IMAP交互式存取协议(报文存取)电子商务交易:通过身份认证可以确定一个实体的身份,防止一个实体假装成另一个实体;认证与授权相结合,可以防止他人对数据进行非授权的修改、破坏;保护信息的机密性可以防止信息从被监视的通信过程中泄漏出去。抗抵赖性防止参与此交易的一方否认曾经发生过此次交易网络安全技术:信息存取的保障有用户的标识和验证、用户存取权限控制、系统安全监控、计算机病毒的防治、数据加密。VPN技术:通过隧道将两个内部网络通过公共网络进行连接使其成为一个总体网络。防火墙技术:类型有包过滤防火墙(屏蔽路由器):将路由器放置于内部网络中,网络层安全。应用代理防火墙:也就是双宿主机防火墙,应用层安全。状态检测技术防火墙:以上两种技术的综合,屏蔽路由器置于外部网络,双宿主机置于内部网络。屏蔽子网防火墙:设置DMZ(非军事区)由屏蔽路由器和双宿主机构成。多模光纤的特点是:成本低、宽芯线、聚光好、耗散大、低效,用于低速短距离的通信。单模光纤的特点是:成本高、窄芯线、需要激光源、耗散小、高效,用于高速长距离的通信。ping命令:判断用户与外部站点的连通性,一、ping(本地循环地址),无法ping则说明本机TCP/IP协议不能正常工作,二、ping+本机IP不通则说明网络适配器(网卡/MODEM)出现故障,三、ping+同一网段计算机的IP不通则说明网络线路出现故障;netstat命令:用于显示TCP、UDP、IP、ICMP协议相关统计数据,一般用于检验本机网络端口的连接情况;ARP命令:可以查看和修改本地计算机的ARP表项,和查看ARP缓存和解决地址解析问题非常使用。Tracert命令:可以跟踪网络连接,Tracert(路由跟踪)是路由跟踪程序,用于确定IP数据报访问目标所采取的路径,可以查看哪段路由出现连接问题。DHCP(动态主机配置协议):用于网络中的主机动态分配IP地址,默认情况下客户机采用最先达到的DHCP服务器分配的IP地址。Internet协议:TCP/IP协议:是Internet协议的核心协议,基本特性(逻辑编址、路由选择、域名解析协议、错误检测和流量控制)ARP(地址解析协议)和RARP(反地址解析协议)。ARP将IP地址转换为物理地址(MAC地址)。网络设计原则:先进性:采用先进的技术;实用性:采用成熟可靠的技术和设备达到使用有效的目的;开放性:网路系统采用开放的标准和技术;经济性:在满足需求的基础上尽量节省费用;高可用/靠性:系统具有很高的平均无故障时间,如:金融、铁路证券等。多媒体基础知识衡量声音特性的属性(三要素):音量:也叫音强,衡量声音的强弱程度。音调:声音频率。音色:由混入基音的泛音决定。声音的带宽:声音信号的频率范围。人耳能听到(其它声音)的音频范围:20HZ~20KHZ人的说话声音音频范围:300~3400HZ乐器的音频范围:20HZ~20KHZ声音信号的数字化:——取样-量化法采样:信号测量记录。注:语音信号的采样频率一般为8KHz,音乐信号的采样频率则应该在40KHz以上。数字信号是离散的,模拟信号是连续的。量化(数模转换):A/D转换图形图像的区别:图形放大不会失真,图像放大会失真。色彩的三要素:亮度:明亮程度的感觉。色调:反映的是颜色的种类。饱和度:颜色的纯度,即掺入白光的程度,颜色的鲜明程度。彩色空间:RGB彩色空间:计算机。红黄绿CMY彩色空间:打印。青、品红、黄YUV彩色空间:电视。图像文件的大小计算:已知像素和位数:容量=像素*位数/8B已知像素和色数:容量=像素*位数/8B(2位数=色数即n位数能表示2位数种颜色)音频文件的大小计算:未经过压缩的:数据传输率(b/s)=采样频率(Hz)*量化位数(采样位数)(b)*声道数(如果求的是字节则应再除以8)经过数字化后所需的存储空间(容量):声音信号数据量=数据传输率(b/s)*持续时间/8(B)视频文件的大小计算:存储容量的(字节数)=每帧图像的容量(B)*每秒帧数*时间注:每帧图像的容量(B)与图像文件容量计算方式一样。播放时的传输速率=每张图像的容量*每秒传输的图像数常见视频标准:音视频编码技术MPEG-1:MPEG-1层1是对复合编码如:数字盒式录音带;MPEG-1层2是对视频编码如:DAB,VCD;MPEG-1层3是对音频进行编码,如Internet,MP3音乐;层4是用来检查。数字电视标准。音视频编码技术MPEG-2:对交互式多媒体的应用。DVD,数字电视标准。MPEG-4:多种不同的视频格式,虚拟现实、远程教育和交互式视频等的应用。多媒体应用的标准。MPEG-7:MPEG-7并不是一种压缩编码方法,其正规的名字叫做多媒体内容描述接口,其目的是生成一种用来描述多媒体内容的标准,这个标准将对信息含义的解释提供一定的自由度,可以被传送给设备和电脑程序,或者被设备或电脑程序查取。MPEG-21:“多媒体框架”或“数字视听框架”,它以将标准集成起来支持协调的技术以管理多媒体商务为目标,目的就是理解如何将不同的技术和标准结合在一起需要什么新的标准以及完成不同标准的结合工作。CIF视频格式的图像分辨率为:352*288(常用标准化的图像格式);QCIF:176*141;DCIF:528*384MPEG-1编码器输出视频的数据率为15Mbps;PAL制式下其图像的分辨率为352×288,帧速率为25帧/秒。图像文件格式静态格式:GIF/BMP/TIF/PCX/JPG/PSD动态格式:AVI/MPG/AVS目前图像使用的编码和压缩标准:JPEG/MPEG/H.261。音频格式WAVE/MOD/MP3(MPEG-1的第三层)/REALAUDIO/MIDI/CDAUDIO音频文件通常分为声音文件和MIDI文件。声音文件是通过声音录入设备录制的原始声音;MIDI是一种音乐演奏指令序列,相当于乐谱,由电子乐器进行演奏,不包含声音数据,文件较小。压缩技术多媒体数据中存在的冗余:时间冗余、空间冗余、视觉冗余、信息熵冗余、结构冗余、知识冗余。视频图像压缩技术基本思想和方法:在空间上,图像数据压缩采用JPEG压缩方法来去除冗余信息,主要方法包括帧内预测编码和变换编码;在时间上,图像数据压缩采用帧间预测编码和运动补偿算法来去除冗余信息。无损压缩也叫冗余压缩法或是熵编码法;有损压缩也叫熵压缩法。区别是无损压缩可以还原。霍夫曼编码和行程编码方法属于无损压缩,而预测编码、变换编码和运动补偿属于有损压缩。熵编码:熵编码即编码过程中按熵原理不丢失任何信息的编码,常见的熵编码有:LZW编码、香农(Shannon)编码、哈夫曼(Huffman)编码和算术编码(arithmeticcoding)。数据库技术基础数据库(DB)是指长期存储在计算机内的,有组织的,可共享的数据的集合。数据库系统(DBS)由数据库、硬件、软件和人员组成。数据库技术的发展:人工管理阶段文件管理阶段数据库系统阶段(有较高的数据独立性)数据模型的三要素:数据结构数据操作数据的约束条件对数据操作的有:DDL语言(CREATE/ALTER/DROP/完整性约束)、DML语言(SELECT/INSERT/DELETE/UPDATE);对权限的操作有DCL语言。数据模型分为:概念数据模型(E-R模型)和基本数据模型(层次、网状、关系模型)和目前提出的对象模型。实体属性简单属性(不可再分)和复合属性(可分如地址(省份、市…))单值属性(只有一个值)和多值属性(如电话号码可有多个)NULL属性(没有或是未知)派生属性(从其他属性可推出来)E-R法的构件:扩充的E-R模型弱实体(要依赖另一个实体而存在)特殊化————P375数据库系统的体系结构三级模式结构(三层两映像)数据物理独立性数据逻辑独立性集中式数据库系统:两段提交协议:封锁阶段(扩展阶段)和解锁阶段(收缩阶段)客户/服务器数据库体系结构并行数据库系统(多个CPU)————P387共享内存式多处理器无共享式并行体系结构分布式数据库系统:两段提交协议:表决阶段和执行阶段Web数据库全码:指关系模型中所有的属性组是这个关系模式的候选键。数据库的控制功能事物管理(不可分割的逻辑工作单位)原子性:要么都做要么都不做一致性:只包含成功提交的是事物隔离性:多个事物并发执行时是相互隔离的持久性:一旦事物成功提交则永久的反应到数据库中故障恢复事物内部故障系统故障介质故障计算机病毒恢复方法:静态转存和动态转存、海量转存和增量转存、日志文件事物恢复步骤:反向扫描文件日志、对事物的更新操作执行逆操作、继续反向扫描日志文件,直到事物的开始标志数据库镜像并发控制并发操作带来的问题:带来数据的不一致性(丢失更新、不可重复读和读脏数据);破坏了事物的隔离性。并发控制的技术:封锁,排他锁(X锁)和共享锁(S锁)三级封锁协议:一级:解决丢失更新;二级:解决读脏数据;三级:解决不可重复读并发调度的可串行性:可串行化是并发事物正确性准则,当且仅当可串行化时才是正确的并发调度封锁的粒度:封锁的范围事物是不能嵌套的,因为违背了事物的原子性;当且仅当当前没有事物执行时才能开始执行事物。安全性和授权安全性违例(未经授权读取、修改、破坏数据)授权read:允许读取,不许修改insert:允许插入,不许修改update:允许修改,不许删除delete:允许删除index:允许创建或删除索引resource:允许创建新关系alteration:允许添加或删除关系中的属性drop:允许删除关系事物的执行状态:活动状态:事物的初始状态。部分提交状态:全部执行完。失败状态:由于硬件或是逻辑上的错误,使事物不能在继续进行,处于失败状态的事物必须回滚。然后事物就进入了中止态。中止状态:事物回滚并数据库恢复到开始执行前的状态。提交状态:当事物成功完成后,事物处于提交状态,只有事物处于提交状态,才能说明事物已经提交。事物的隔离级别(高到低):可串行化(读幻影):SERIALIZABLE可重复读:REPEATABLEREAD读提交数据:READCOMMITTED可以读未提交数据:READUNCOMMITTEDSQL语句定义:SET RANSACTION SOLATON LEVELa)/b)/c)/d)幻影现象:同一事物对数据对象的两次访问得到的数据记录不同,不可重复读问题数据仓库DW的基本特性:面向主题的、数据是集成的、数据是先对稳定的、数据是反映历史变化的(时限一般5~10年)。数据模式——事实表,多维数据模式包括(星型模式、雪花模式、事实星状模式)数据仓库体系结构通常采用:数据仓库服务器、OLAP(联机分析处理)、前端服务器从结构的角度:企业仓库、数据集市、虚拟仓库数据仓库的设计:数据仓库的数据模型与操作行数据库的区别:eq\o\ac(○,1)不包含纯操作型的数据;eq\o\ac(○,2)扩充了码结构,增加了时间属性作为码的一部分;eq\o\ac(○,3)增加了一些导出数据。数据仓库的物理设计:主要提高I/O性能,通过粒度划分和数据分割来提高系统的性能。数据挖掘技术:海量数据搜集、强大的多处理计算机和数据挖掘算法。数据挖掘中常用的技术:人工神经网络、决策树、遗传算法、近邻算法和规则推倒。数据挖掘的应用过程确定挖掘对象准备数据(数据挖掘工作量的60%),包括eq\o\ac(○,1)数据选择;eq\o\ac(○,2)数据预处理(清洗);eq\o\ac(○,3)数据转换。建立模型数据挖掘结果分析知识应用数据转储:DBA定期地将整个数据库复制到磁带或另一个磁盘上保存起来的过程。动态转储:指转储期间允许对数据库进行存取或修改。即转储和用户事务可以并发执行。静态转储:在系统中无运行事务时进行的转储操作。增量转储:指每次只转储上一次转储后更新过的数据。海量转储:指每次转储全部数据库。从恢复角度看,使用海量转储得到的后备副本进行恢复一般说来会更方便些。但如果数据库很大,事务处理又十分频繁,则增量转储方式更实用更有效。OLAP(联机分析处理):通常用于对数据仓库进行数据挖掘;OLTP(联机事物处理)是面向事物程序的执行,通常对应密集型更新事物的程序,应用于对数据库的操作。OLAP没有严格的时间要求,OLTP是面向业务的,对时效要求比较高。OLAP用于数据挖掘以提供决策支持,OLTP用于具体的业务。关系数据库关系模型是关系数据库的基础,由关系数据结构、关系操作集合和关系完整性规则组成。关系的度是指关系中属性的个数,关系的势指关系中元组的个数。在关系模型中所有的域都应该是原子数据(1NF)。关系的三种类型:基本表、查询表、视图表完整性约束:实体完整性、参照完整性、用户定义完整性。在关系代数中对传统的的集合运算要求参与运算的关系具有相同的度且对应属性取自同一个域。关系运算:关系代数语言关系演算语言具有以上两种双重特点的语言(SQL)关系代数中的查询优化准则:尽可能早的执行选择运算尽可能早的执行投影运算避免直接做笛卡尔乘积,把笛卡尔乘积之前的操作和之后的一连串选择和投影合并起来一起做。关系模式的设计问题:数据冗余:同一数据重复出现多次。操作异常(更新异常):修改异常、插入异常和删除异常。规范化的一个原则:“关系模式有冗余问题,就分解它”。关系模式的非形式化设计准则:关系模式的设计尽可能只包含直接联系的属性,不要包含有间接联系的属性。尽可能的不出现插入、删除和操作异常。尽可能的避免放置经常为空值的属性。尽可能的使等值连接在主键和外键上进行,并保证不会产生额外的元组。函数依赖:如果函数依赖集的闭包相等则函数依赖相等。若存在FDW→A,如果W的任一个子集X没有X→A,则称W→A是完全函数依赖。否则叫局部函数依赖。传递函数依赖:如果X→Y,Y→A,且Y不→X,A不∈Y,则X→A是传递函数依赖。FD和关键码:设模式R的属性集U,X是U的一个子集,如果X→U在R上成立,那么X是R的一个超键。如果X→U在R上成立,但是对于任一真子集X1都有X1→U不成立(说明:不含多余属性),那么X是R的一个候选键。如果A是关系模式R中的候选键中的属性,那么称A是R的主属性,否则是非主属性。最小函数依赖:(不包含多余的函数依赖)满足一下三个条件(最小函数依赖集G):G中的每个FD的右边都是单属性。G中没有冗余的FD。G中的左边没有冗余的属性。关系模式的范式—规范化1NF:如果关系R的每个关系r的属性值都是不可分的原子值。(规范化关系)1NF存在的问题:冗余度大和更新异常。2NF:如果每个非主属性完全函数依赖于候选键。3NF扶沟每个非主属性都不传递依赖R的候选键。BCNF:如果每个属性都不传递函数依赖与R的候选键。4NF:设R是一个关系模式,D是R上的多值依赖函数,如果D中成立非平凡多值依赖X→→Y时(即X、Y在D中),X必是超键,那么R是4NF。关系模式R分解成2NF模式集:如果关系模式R中,存在FDW→Z,X→Z,X⊆W,其中w是主键,Z是非主属性,则有W→Z是局部函数依赖。分解成R1(XZ),主键是X;R2(Y),Y=U-Z,主键是W,外键是X。将模式R分解成3NF:如果关系模式R中,存在FDW→Z,X→Z,X不是候选键,其中w是主键,Z是非主属性,Z不⊆X,则有W→Z是传递依赖。分解正R1(XZ),主键是X,R2(Y),Y=U-Z,主键是W,外键是X。模式的分解有三种等价情况:分解具有无损连接性分解要保持函数依赖分解既要无损连接又要保持函数依赖无损分解的充要条件是:如果p(R1,R2)是R的一个分解则要满足:(R1∩R2)→(R1-R2)或是(R1∩R2)→(R2-R1),或是R1∩R2是R1或是R2的超键,则是无损分解。保持函数依赖:设p(R1,R2...Rk)是R的一个分解,F是R上FD,如果有i=1kπ无损连接的测试:设关系模式R=A1,…,An,R上成立的FD集F,R的一个分解p={R1,…,Rk}。无损连接分解的判断步骤如下:(1)构造一张k行n列的表格,每列对应一个属性Aj(1≤j≤n),每行对应一个模式Ri(1≤i≤k)。如果Aj在Ri中,那么在表格的第i行第j列处填上符号aj,否则填上符号bij。(2)把表格看成模式R的一个关系,反复检查F中每个FD在表格中是否成立,若不成立,则修改表格中的元素。修改方法如下:对于F中一个FD:X→Y,如果表格中有两行在X分量上相等,在Y分量上不相等,那么把这两行在Y分量上改成相等。如果Y的分量中有一个是aj,那么另一个也改成aj;如果没有aj,那么用其中的一个bij替换另一个(尽量把ij改成较小的数,亦即取i值较小的那个)。(3)若在修改的过程中,发现表格中有一行全是a,即a1,a2,…,an,那么可立即断定p相对于F是无损连接分解,此时不必再继续修改。若经过多次修改直到表格不能修改之后,发现表格中不存在有一行全是a的情况,那么分解就是有损的。特别要注意,这里有个循环反复修改的过程,因为一次修改可能导致表格能继续修改。候选关键字的判断:L类属性:只在函数依赖的左半部出现的属性;R类属性:只在函数依赖的左半部出现的属性;LR类属性,出现在函数依赖左右两边的属性;N类属性,两边都没出现的属性。eq\o\ac(○,1)将关系模式R中的所有属性分为以上四类,用X表示L、N两类,用Y表示LR类。eq\o\ac(○,2)求X+,若X+包含关系模式的全部属性,则X为R唯一的候选键,否则下一步。eq\o\ac(○,3)在Y中取一属性A,求(XA)+,若包含R的全部属性,则转下一步,否则换另一个属性。eq\o\ac(○,4)若找到所有的候选键则结束,否则在Y中取两个、三个…,求他们属性的闭包,直到求出所有的候选键。SQL语言建立基本表:CREATETABLEC(C# CHAR(4) eq\o\ac(○,1)NOTNULLUNIQUE/eq\o\ac(○,2)NOTNULLPRIMARY/eq\o\ac(○,3)PRIMARYKEY,CNAMECHAR(10)NOTNULL)CRATETABLEC(C# CHAR(4)eq\o\ac(○,1),CNAME CHAR(10) NOTNULL,PRIMARYKEY(C#))注:此时可省略eq\o\ac(○,1)定义外键时,可以合起来写:T# CHAR(4)FOREIGNKEY(T#)REFERENCEST(T#),也可以分两行写T# CHAR(4),FOREIGNKEY(T#)REFERENCEST(T#),定义级联删除,在定义B表外键(A表的主键)属性时加上ON DELETE CASCADE。此时删除A表的主键时,其主键在相应表中是外键(B表的外键)会被同时删除。也可以定义触发器。基本表的修改:增加新的列:ALTER TABLE<基本表名>ADD<列名><类型>{可设置缺省值0,——DEFAULT=0}删除列:ALTER TABLE<基本表名>DROP COLUMN<列名>[完整性约束条件CASCADE|RESTRICT]修改数据类型:eq\o\ac(○,1)ALTER TABLE<基本表名>ALTER COLUMN<列名><类型>eq\o\ac(○,2)ALTER TABLE<基本表名>MODIFY<列名><类型>基本表的撤销:DROP TABLE<基本表名>[CASCADE|RESTRICT]数据删除:DELETE FROM <基本表名> WHERE<条件表达式>注:CASCADE表示所有约束和视图也自动删除,RESTRICT表示没有视图和约束时才能删除。数据修改:UPDATE<基本表名> SET<列名>=<值表达式>WHERE<条件表达式>创建索引:索引的作用:通过创建唯一的索引,可以保证数据的唯一性;提高数据的检索速度;可以加速表与表之间的连接,对于实现数据的参照完整性有很重要的意义;使用ORDER BY和GROUP BY检索时可减少查询中组和排序的时间。聚簇索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚簇索引与数据是混为一体的,它的也节点中存放的是实际的数据。非聚簇索引是具有完全独立于数据行的结构,不用将物理数据页中的数据按列排序,节点中存放的是索引的关键字值和行定位置。创建索引:CREATE [UNIQUE][CLUSTERE] INDEX<索引名>ON<基本表名>(<列名[DESC][ASC]>,<列名[DESC][ASC]>,….)删除索引:DROP INDEX<索引名>,<索引名>,…视图的操作:视图是建立在查询的基础上的,是一张虚拟表,视图的数据必不是按视图存储结构保存在数据库中,而是存储在视图所引用的表中。视图的优缺点:视图更新数据实时、安全、存储空间只占用代码的空间,但是执行过程有些慢。视图的创建:CREATE VIEW<视图名>(<列名序列>)AS <SELECT查询语句>[WITHCHECKOPTION]注:子查询(SELECT语句)中通常不允许出现ORDERBY子句和DISTINCT。WITHCHECKOPTION允许用户更新视图。其中列名要么全部省略要么全部指定。视图删除:DROPVIEW<视图名>视图更新(只有行列子集视图(视图是从单个基本表只使用选择、投影操作导出的))数据定义语言(DDL):CREATE、ALTRE、DROP;数据操作语言(DML):SELECT、INSERT、DELETE、UPDATE;数据控制语言(DCL):约束权限查询语句:UNION操作符用于合并两个或多个SELECT语句的结果集。默认地,UNION操作符选取不同的值。如果允许重复的值,请使用UNIONALL。如:SELECTcolumn_name(s)FROMtable_name1UNIONSELECTcolumn_name(s)FROMtable_name2SQL的左连接等:/afirefly/archive/2010/10/08/1845906.html字符使用:snamelike’王%’匹配‘王’后面任意个字符;snamelike‘王_’匹配‘王’后面一个字符;如果模式中包含特殊字符就要用到转意符,用关键字escape来定义,如:SQL中完整性约束:越约束:定义一个新域COLOR CERATEDOMAINCOLORCHAR(6)DEFAULT’???’—将颜色默认设置为???CONSTRANINTCOLORS—表示为这个域约束起名为colorsCHECK(VALUEIN(’Red’,’Yellow’.’Blue’.’Green’,???’))基本表的约束:主键、外键、检查(CHECK)断言(ASSERTIONS):CERATEASSERTION<断言名>CHEC0(<条件>)DROPASSERTION<断言名>SQL中的安全性机制:视图、权限、角色、审计。SQL中的完整性约束:域约束、基本表约束、断言、触发器。权限用户权限(6种):select、insert、delete、update、references、usage其中references表示允许用户定义新的关系,引用其它关系的主键做为外键;usage允许用户使用已定义的域。授权语句:GRANT<权限表>ON<数据库元素>TO<用户名表>[WITHGEANTOPTION]WITHGEANTOPTION表示获得的权限还能获得传递权限,装权限授给别的用户。如:其中ALLPRIVILEGES表示用全部权限(以上6种)。回收语句:REVOKE<权限表>ON<数据库元素>FROM<用户名表>[RESTRICT|CASCADE]CASCADE表示连锁回收,RESTRICT不存在连锁回收时才能进行回收。如:PUBLIC表示多有当前的或是将来的可能出现的所有用户。触发器的使用;触发器是一个由系统自动执行的对数据库进行修改的语句。触发器由事件、条件和动作三个部分组成。创建触发器:CERATE TRIGGER<名>删除触发器:DROPTRIGGER<名>嵌入式SQL区分SQL语句和主语言语句(格式):EXECSQL<SQL语句>END_SQL(C语言中用;而不用END_SQL)主语言工作单元与数据库工作单元的通信:SQL通信区(SQLCA):向主语言传递SQL语句执行的状态信息,是主语言能够根据次信息控制程序流程。共享变量(主变量):主语言通过主变量向sql语句提供参数,由主语言定义,sql中DECLARE语句说明。游标(CURSOR):主语言是面向记录的而sql语言是面向集合的,通过游标可获取多条记录或获取指定的记录。定义游标:打开游标:推进游标:游标推进一行并把当前值送到主变量中,关闭游标:动态SQL语句:存储过程:由SQL语句和流程控制语句编写的模块,经过编译和优化后存储在数据库服务器端的数据库中。具有一下优点:提高运行速度。增强了SQL的功能和灵活性。可降低网络的通信量。减轻了程序编写的工作量。间接实现安全控制功能。屏蔽表的细节,简化用户操作。系统开发与运行软件生存周期的六个阶段:项目计划、需求分析、设计、编码、测试、运行和维护。软件开发模型:瀑布模型:最早,采用结构化分析与设计方法。演化模型:全局开发模型,也叫快速原型模型。螺旋模型:结合瀑布模型和快速原型模型,增加了风险分析,使用与大型系统。喷泉模型:以用户需求为动力,以对象驱动的模型,采用面像对象开发。需求分析阶段是软件工程的重要阶段,它为一个新系统定义业务需求。需求分析阶段的关键是描述一个系统是什么,或者一个系统必须做什么,而不是系统应该如何实现。具体来说,需求分析阶段需完成以下要求:► 确定软件系统的功能需求和非功能需求;► 分析软件系统的数据要求;► 导出系统的逻辑模型;► 修正项目开发计划; ► 如有必要,可以开发一个原型系统。软件设计通常可分为概要设计和详细设计。概要设计的任务是确定软件系统的结构、进行模块划分、确定每个模块的功能、接口以及模块间的调用关系。设计软件系统的结构,主要任务是确定模块间的组成关系。系统测试是将软件系统与硬件、外设和网络等其他因素结合在一起,进行信息系统的各种组装测试和确认测试,其目的是通过与系统地需求相比较,发现所开发的系统与用户需求不符或矛盾的地方。常见的系统测试主要有恢复测试、安全性测试、强度测试、性能测试、可靠性测试和安装测试。软件项目估算:代码行、功能点和工作量估算是最基本项目估算内容。IBM估算模型:基于代码行的静态单变量模型。CoCoMo(构造性成本)模型:分为基本、中级和详细3个级别,将软件项目类型分为组织型、半独立型和嵌入型。Putnam模型:动态多变量模型。风险分析:风险识别:性能风险、成本风险、支持风险、进度风险。建立风险条目检查表。风险预测:建立风险表,估计风险对项目的影响。风险评估:进一步审查在风险预测阶段所做的估算的精确度,试图为所发现的风险排出优先次序,并开始考虑如何控制和/或避免可能发生的风险。风险控制:风险避免、风险监控、风险管理及监控计划。进度管理(安排)通常使用Grant(甘特图)和PERT(计划评审技术)图。PERT图和Gantt图是两种常用的项目管理工具。PERT(项目评估与评审技术)图是一种图形化的网络模型,描述一个项目中的任务和任务之间的关系。Gantt图是一种简单的水平条形图,它以一个日历为基准描述项目任务。Gantt图中横坐标表示时间(如时、天、周、月、年等),纵坐标表示任务,图中的水平线段表示对一个任务的进度安排,线段的起点和终点对应在横坐标上的时间分别表示该任务的开始时间和结束时间,线段的长度表示完成该任务所需的时间。Grant不能反应出个任务之间的依赖关系。PERT不能反映任务之间的并行性。CMM是对软件组织进化阶段的描述,随着软件组织定义、实施、测量、控制和改进其软件过程,软件组织的能力经过这些阶段逐步前进。CMM将软件过程的成熟度分为5个等级,分别为:► 初始级。软件过程的特点是杂乱无章,有时甚至很混乱,几乎没有明确定义的步骤,成功完全依赖个人努力和英雄式的核心任务。► 可重复级。建立了基本的项目管理过程来跟踪成本、进度和机能,有必要的过程准则来重复以往在同类项目中的成功。► 定义级。管理和工程的软件过程已经文档化、标准化,并综合成整个软件开发组织的标准软件过程。所有的项目都采用根据实际情况修改后得到的标准软件过程来发展和维护软件。► 管理级。制定了软件工程和产品质量的详细度量标准。软件过程和产品的质量都被开发组织的成员所理解和控制。►优化级。加强了定量分析,通过来自过程质量反馈和来自新观念、新技术的反馈使过程能持续不断地改进。软件开发方法:结构化方法、面向数据结构方法、原型法、对象建模。软件质量特特性:第一层:质量特性第二层:质量子特性第三层:量度指标系统分析阶段的主要工作:对当前系统进行详细调查,收集数据。建立当前系统的逻辑模型对现状进行分析,提出改进意见和新系统应达到的目标建立新系统的逻辑模型编写系统方案的说明书系统分析的方法:结构化分析方法面向对象分析方法面向数据结构的分析和设计(Jackson):设计原则是使程序结构与数据结构(问题结构)相对应;以数据结构作为设计基础,根据输入/输出数据结构导出程序结构,使用与规模不大的数据处理系统。UML:用例图;静态图(类图、对象图、包图);行为图(状态图、活动图);交互图(顺序图、协作图);实现图(构建图、部署图)。聚合关系——整体-部分关系;泛化关系——一般-特殊关系。软件测试:白盒测试(结构测试):根据程序内部结构和逻辑结构及相关信息设计测试用例,检查程序中所有逻辑路径是否满足要求。黑盒测试(行为测试):不必考虑程序内部的逻辑结构和内部特性,只需根据程序的需求规格说明书,检查是否满足要求。CVS是一种版本控制工具。数据库设计数据库系统生命周期:数据库规划、需求分析与收集、数据库设计、数据库系统实现、测试阶段、运行维护数据字典:是对用户信息要求的整理和描述(需求分析阶段)。包括数据项、数据结构、数据流、数据存储和处理过程。需求分析阶段的任务:eq\o\ac(○,1)分析用户活动,产生业务流图;eq\o\ac(○,2)确定系统范围,产生系统关联图;eq\o\ac(○,3)分析用户活动涉及的数据,产生数据流图;eq\o\ac(○,4)分析系统数据产生数据字典。需求分析阶段的成果是系统说明书,包括数据流图、数据字典和各种说明性文档等。数据流图(DFD):顶层DFD确定系统边界,将待开发的系统看做是一个加工,因此只有唯一一个加工和一些外部实体以及两者之间的输入输出数据流。0层DFD确定数据存储。面向数据结构的方法(Jackson方法)设计思想:以数据结构作为设计基础,它根据输入/输出数据结构导出程序结构,适用于规模不大的数据处理系统。基本思想:从问题的数据结构导出它的程序结构.作为独立的系统设计方法主要用于小规模数据处理的开发.考虑问题的出发点是:数据结构.最终目标:得出程序的过程性描述.最佳适用范围:详细设计中,确定部分或全部模块的逻辑过程.遵守结构程序设计“由顶向下”逐步细化的原则,并以其为共同的基础;“程序结构必须适应问题结构”的基本原则,各自拥有从问题结构(包括数据结构)服从导出程序结构的一组映射规则.画DFD的注意事项:1)应适当的为数据流、加工、数据存储以及外部实体命名,名字应该反映该成分的实际含义,避免使用空洞的名字。2)画数据流图,不是画控制流。3)一个加工的输出数据流,不应与输入数据流同名,及时他们的组成完全相同。4)允许一个加工有多条数据流流向另一个加工,也允许一个加工有两条相同的输出数据流流向不同的加工。5)保持父图与子图的平衡。也就是说,父图中的某加工的输入输出流必须与他的子图的输入输出数据流在数量上和名字上相同。值得注意的是,如果父图中的一个输入(输出)数据流对应于子图中的几个输入(输出)数据流,而子图中组成这些数据流的数据项的全体正好是父图中的这一个数据流,那么他们仍然算是平衡的。6)在自顶向下的分解过程中,若一个数据存储首次出现时,只与一个加工有关系,那么这个数据存储应作为这个加工的内部文件而不必画出。7)保持数据守恒,也就是,一个加工的所有输出数据流中的数据必须能从该加工的输出流中直接获得,或者通过该加工能产生的数据。8)每个加工必须既有输入数据流,又有输出数据流。9)在整套数据流图中,每个数据存储必须既有读的数据流,又有写的数据流。但是在某张子图中,可能只有读没有写,或者只有写没有读。10)数据流必须通过加工(也就是外部实体与外部实体,外部实体与数据存储之间不能存在数据流)概念设计阶段——E-R图对现实事物的抽象的三种方法:分类(固有的共同特征和行为,如:学生和教师是不通的分类)、聚集(定义某一类型的所具有的属性,如:学生的学号、姓名等)和概括(由已知类型定义一个新的类型,即得到一个子类,如:研究生是学生的子类,从学生类型中延伸出来)。用E-R图建立概念模型:进行数据抽象:根据数据流图使用以上三种抽象方法进行抽象,从高层(对数据的引用笼统)到低层(比较细致)。设计局部概念模型:确定局部应用中的实体、实体的属性、实体标识符和实体间的联系。注意:1)属性不可再分;2)属性不能与其它实体之间有直接联系。将局部模型综合成全局模型:其中要消除冲突,属性冲突(类型等)、结构冲突(抽象不同、属性组成不同等)和命名冲突(实体名、属性名和联系名等)。全局ER模型的优化eq\o\ac(○,1)合并实体类型:eq\o\ac(○,2)消除冗余属性eq\o\ac(○,3)消除冗余联系逻辑设计阶段——E-R图向关系模式的转换逻辑设计阶段的主要任务:确定数据模型、将ER模型转换为制定的数据模型、确定完整性约束、确定用户视图。E-R图向关系模式的转换(转换成计算机能识别的):实体类型的转换:将每个实体类型转换成关系模式,实体名对应模式名,属性对应模式的属性,实体标识符对应模式的键。联系类型的转换(二元联系):eq\o\ac(○,1)若实体间的联系是1:1的,在转换好的两个关系模式中任意一个模式的属性中加入另一个的主键(作为当前模式的外键)和联系的属性。eq\o\ac(○,2)若实体类型之间的联系是1:N,则在N端转换来的模式中加入1端实体类型的主键(作为当前模式的外键)和联系的属性。eq\o\ac(○,3)若实体间的联系是M:N,则将联系类型也转换成关系模式,其属性为实体两端的实体类型的键加上联系类型的实行,主键为两端实体的之间的组合(同时两个主键也是外键)。三元联系的转换:eq\o\ac(○,1)若实体间的联系是1:1:1,则转换得的3个模式中任意一个中加入另外两个的主键(作为当前模式的外键)和联系类型的属性。eq\o\ac(○,2)若实体间的联系是1:1:N,则在N端加入两个1端的主键(作为当前模式的外键)和联系类型的属性。eq\o\ac(○,3)若实体间的联系是1:N:M,则联系类型也要转换成关系模式,其属性为M端和N端的实体类型的主键(作为外键)加上联系类型的属性,主键为M和N端的主键的组合。eq\o\ac(○,4)若实体间的联系是M:N:P,则联系类型也转换成关系模式,其属性为三端实体类型的主键(作为外键)加上联系类型的属性,而主键为三端实体主键的组合。关系模式的规范化根据语义确定关系模式都的数据依赖。根据数据依赖确定关系模式的范式。如果不符合要求则根据模式的分解算法进行分解到达3NF、BCNF或是4NF。关系模式的评价与修正。消除冗余更新异常等。确定完整性约束。确定用户视图(设计子模式)。提高数据的安全性和独立性。物理设计阶段——数据库的存储结构和存取方法(确定数据分布、确定存储结构、确定存取方式)存储记录的结构设计确定数据的存放位置存取方法的设计完整性和安全性的考虑程序设计数据库的实现:用DDL定义数据库的结构组织数据入库编制与调试应用程序数据库试运行数据库的安全性措施:权限机制视图机制数据加密在绘制数据流图的加工时可能会出现输入和输出错误:只有输入没有输出或者是黑洞;只有输出没有输入或者是奇迹输入的数据流无法通过加工产生输出流活着是灰洞输入的数据流与输出的数据流名称相同数据库的并发控制:并发操作带来的问题:数据的不一致性(丢失修改、读脏数据和不可重复读问题)。解决问题的方法:从保证事物的隔离性入手。解决问题的焦点:事物在读取数据时不加控制而相互干扰。封锁协议:两段封锁协议,缩短了持锁时间,提高了并发度,同时解决了数据的不一致性。为了事物并发调度的正确使用两段封锁协议。可串行化(性)是并发事物的正确性准则。类图是显示一组类、接口、协作以及它们之间关系的图。

温馨提示

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

评论

0/150

提交评论