三级数据库背诵数据
第一章 计算机基础知识
1、冯.诺依曼计算机基于存储程序原理,由五个部件组成:运算器、存储器、控制器、输入设备和输出设备。 2.计算机指令系统: 系列计算机:指令系统向下兼容。 复杂指令系统计算机:CISC (Complex Instruction Set Computer) 精简指令系统计算机:RISC (Reduced Instruction Set Computer) 指令系统类型:数据传输指令、算术逻辑指令和判断控制指令。 指令系统的搜索方式:立即搜索(立即搜索),操作数直接在指令中给出。 寄存器搜索地址:寄存器中的操作数。直接搜索地址:操作数地址直接在指令中给出。间接搜索寄存器地址:寄存器给出操作数地址。 寄存器相对地址搜索:指令中给出操作数的地址偏移 3.微处理器分类:通用微处理器、嵌入式微处理器、数字信号处理器等 4、总线: PCI:局部总线不附着特定处理器。 USB:通用串行总线。 1394总线:FireWire,为家用电器开发的高速串行总线。1394总线广泛应用于数字视频设备(数字摄像头)。 5、计算机技术指标: 运算速度MIPS(每秒百万条指令) 影响计算机运行速度的因素很多,主要是CPU存储器的主频和存取周期。 存储容量:基本单位:B(Byte) 1KB=1024Byte 1MB=1024KB 1GB=1024MB 1TB=1024GB 数据传输率:基本单位:bps(每秒传输多少位) 1Kbps=103bps 1Mbps=103Kbps 1Gbps=103Mbps 6.计算机中的信息表示 表示非数字信息:ASCII码 汉字表示:三种代码系统:输入代码,如:拼音代码、五笔字形码等;机器代码;交换代码,如GB2312-80; 7.计算机网络基础 计算机网络的基本特征:资源共享。通过路由器实现广域网与广域网的互联。 传输技术分为: 广播网络(通过公共信道实现)–点式网络(通过存储转发实现)。点式网络和广播网络的重要区别之一是分组存储转发和路由选择 按规模分类:局域网(LAN)、城域网(MAN)、广域网(WAN) 广域网(远程网)以下特点:1 适应大容量和突发通信的要求。 适应综合业务服务的要求。 开放式设备接口和标准化协议。 完善的通信服务和网络管理。 广域网的几个常见特征: X.25:基于低速、高误码率的电缆介质,X.由通信子网完成的25项协议包括错误控制、流量控制和拥塞控制,时间延迟。 FR(帧中继):基于速率高、误码率低的光纤X.简化协议,用户终端完成错误控制。 B-ISDN(宽带综合业务数字网)、N-ISDN(窄带综合业务数字网) ATM(异步传输模式是一种数据传输和分组交换技术,能满足多媒体应用的高速低延迟要求,具有线路交换实时性好、分组交换灵活性好的双重优点。 各种城市网络建设方案有几个相似之处:光纤用于传输介质,交换接点基于IP交换机或ATM交换机在系统结构上采用三层模式:核心交换层、业务聚集层和接入层。城市网络MAN一种介于广域网和局域网之间的高速网络。 8.网络协议分为三部分:(1)语法,即用户数据和控制信息的结构和格式; (2)语义,即需要发送什么样的控制信息,以及完成的动作和响应;(3)时序,即对事件实现顺序的详细说明. 9、Internet结构及组成 协议:TCP/IP协议组 TCP/IP参考模型可分为:应用层、传输层(TCP、UDP协议),互连层(IP协议),主机-网络层 应用层协议分为: a、依靠面向连接TCP协议:主要有: 文件传输协议FTP、电子邮件协议SMTP以及超文本传输协议HTTP等。 b、依赖于面向连接的UDP协议:主要有简单的网络管理协议SNMP;简单的文件传输协议TFTP。 c、既依赖于TCP协议,也可以依赖UDP协议:域名服务DNS等。 d、网络终端协议:Telnet;网络文件系统 NFS;路由信息协议RIP。 10、域名与IP地址:IP地址由网络地址和机器地址组成:IP地址长度为32位,X.X.X.X表示,X为8,表示0-255,(点分十进制地址)。主要分为A类(网络地址7位,机器地址24位),B类别(网络地址14位,机器地址16位)C类别(网络地址21位,机器地址8位);域名 格式 主机名.组名.网点名 www.sina.com 11、Internet 提供的服务 (1)WWW服务:客户机/服务器模式a、超文本和超媒体是WWW信息组织形式 b、HTML(超文本标记语言,网页语言)和HTTP(超文本传输协议)WWW工作的基础 c、URL(统一资源定位器):搜索主页。由协议类型、主机名、文件名和路径三部分组成。 比如:http://www.swpu.edu/index.htm,其中http协议类型,www.swpu.edu.cn为主机名,index.htm文件名和路径 (2)电子邮件服务: 电子邮件发送接收协议:发送协议,简单邮件发送协议(SMTP),邮局协议可用于接收协议(POP3)与交互式邮件存取协议(Interactive Mail Access Protocol,IMAP) 电子邮件内容协议 MIME(Multipurpose Internet Mail Extensions),可传输图像、声音等多媒体信息 12、Internet的接入:ISP(Internet Service Provider,ISP)Internet服务提供商 局部网络接入、电话线接入 ADSL(Asymmetrical Digital Subscriber Loop)基于电话线,上下传输速率不同,非对称数字用户环路可达1Mbps;下行可达8Mbps。 13信息安全基础 信息安全包括四个方面: 信息保密、 完整性、 可用性、 可控性 (1)密码系统:加密或密码系统由五部分组成:明文空间(明文集合)、密文空间(密文集合)、加密密钥空间、解密钥空间、加密和解密算法集 单钥加密系统分为流密码(明文逐位加密)和分组密码(明文分组,分组加密)两类。 密钥的分配和存储是最关键和最困难的问题。 (2)信息认证 在认证实用技术中,主要包括数字签名技术、身份识别技术和信息完整性验证技术(信息认证) (3)恶意软件:特洛依木马、登录陷阱(网络钓鱼、虚假页面)、逻辑炸弹(程序中设置的破环代码) 后门陷阱(程序中设置的绕过登录系统)、缓冲区溢出、僵尸网络:一对多控制 网络防病毒软件:允许用户在3中设置扫描方法: 实时扫描、预置扫描、人工扫描 (4)网络安全 网络安全服务的主要内容:安全攻击、安全机制、安全服务 网络服务攻击分类: 服务攻击和非服务攻击 服务攻击:攻击服务器,丧失服务能力,如对WWW服务器攻击,主页被篡改。拒绝服务DoS或DdoS分布式拒绝服务。 非服务攻击:攻击通信设备,瘫痪设备 网络信息攻击: 攻击类型:截获、窃听、篡改、伪造等 14.操作系统安全 一般可以从隔离、分层、内控三个方面考虑操作系统的安全措施。 隔离可分为:(注意以下解释) ①物理隔离:在不同安全要求的过程中使用不同的物理实体。 ②时间隔离:使不同的过程在不同的时间运行。 ③逻辑隔离:限制程序访问。 ④密码隔离:以其他过程不知道的方式隐藏数据和计算过程。 操作系统安全措施:访问控制、存储保护、文件保护和保密。 访问控制:认证、访问权限、文件保护和审计。存储保护:防止地址越界,防止操作越权。
第二章 数据结构算法
1.数据:数据的基本单位是数据元素。数据元素可以由一个或多个数据项组成。数据项是数据中不可分割的最小单位 2、数据结构:数据逻辑结构、数据存储结构、数据运算 3.主要数据存储方式:顺序存储结构(逻辑与物理相邻,存储密度高)和链式存储结构 顺序存储结构: 顺序存储计算公式 Li=L0+(i-1)×K 可随机访问顺序结构;插入和删除操作会导致相应节点的大量移动 链式存储结构:a、指针域可有多个,可指向空,比顺序存储结构的存储密度小 b、相邻节点在物理上不一定相邻。 c、插入、删除等不需要大量移动节点 4.顺序表:一般来说,如果长度为n的顺序表在任何位置插入或删除的概率相等,元素移动的平均次数为n/2(插入)和(n-1)/2(删除)。 5.链表:线性链表(单链表、双向链表等) 线性链表又称单链表,每个节点只包含一个指针域,每个节点有两个指针域。(注意插入和删除结点) 6.栈:后进先出(LIFO)表。栈的应用:表达式求解、二叉树对称序周游、快速排序算法、实现递归过程等。 7.队列:先进先出线性表。应用:树的层次遍历 8.串:由零个或多个字符组成的有限序列。 9.多维数组的顺序存储:
其他常见的存储方法包括三元组法和十字链表法 11.广义表:由零或多个单元素或子表组成的有限序列。广义表的元素可以是子表,子表的元素也可以是子表 树型结构:非线性结构。常用的树型结构有树和二叉树。 二叉树和树的区别:二叉树不是树的特殊情况。树与二叉树的主要区别是:二叉树节点的子树应区分左右树。即使节点只有一棵子树,也应明确指出子树是左右树。 13.转换树(森林)和二叉树(转换) 14.周游二叉树和树(遍历) 二叉树的周游主要有三种方式:前序法(NLR)、对称序法(LNR)、后序法(LRN) 周游树和树林:深度优先和广度优先。深度优先可分为先根顺序和后根顺序。 树木与二叉树周游之间的对应关系:根据第一个顺序,周游树与前一个顺序对应的二叉树相同,后一个顺序与对应的二叉树相同 按广度优先的方式是层次顺序周游 15.二叉树的储存和线 二叉树的存储结构:二叉树的llink一rlink法存储表示 线索二叉树:在有n个节点的二叉树的且llink - rlink法存储表示中,必定有n+1个空指针域 16、哈夫曼树:一类带权路径长度最短的树。树的带权路径长度为树中所有叶子节点的带权路径长度之和WPL。 17、查找: (1)顺序查找:平均查找长度为(n +1 )/2次,时间复杂度为O(n) (2)二分法查找:线性表节点必须按关键码值排序,且线性表是以顺序存储方式存储的。查找成功比较次数log2n,查找失败比较次数log2n+1 (3)分块查找:先是块间查找,然后块内查找。 (4)散列表(哈希表Hash)的存储和查找:处理冲突的方法:开地址法(线性探测法)、拉链法等 负载因子(装填因子)=表实际存储的结点个数/表的最大能存储结点个数(即表长) 二叉排序树:每个结点左子树的所有关键码值都小于该结点关键码值,右子树所有结点关键码值都大于该结点关键码值。对称周游二叉排序树,得到一个有序序列,时间复杂度O(log2n) B树和B+树:M阶树,每个结点至多有M-1个关键码,至少有M/2(取上界)-1个关键码。B树适合随机查找,不适合顺序查找。B+树适合顺序查找。 18、排序 直接插人排序、希尔排序、直接选择排序、堆排序、起泡排序、快速排序等排序算法要了解。
直接选择排序、希尔排序、快速排序和堆排序是不稳定排序,其他排序为稳定排序
第三章 操作系统
1、操作系统概念:一是管理系统中的各种资源;二是给用户提供一个友好的界面。 2、操作系统包括以下3个基本特征:并发性、共享性、随机性。 3、功能:进程管理、存储管理、作业管理、文件管理、设备管理 4、操作系统类型 (1)批处理操作系统:成批、多道,交互性不强。系统目标:提高资源利用率、作业吞吐量和作业流程自动化。 (2)分时操作系统:多路、交互性、独立性、及时性 (3)实时系统(实时控制、实时信息处理):及时、可靠 (4)嵌入式操作系统:高可靠性、实时性、占资源少、智能化、易连接、低成本等。 5、操作系统与用户的接口:程序级接口:系统调用命令组成。操作级接口:提供操作命令 6、操作系统的硬件环境(CPU、存储体系、中断系统、I/O控制和时钟) (1)CPU:CPU状态:管态(CPU执行操作系统程序)和目态(CPU执行用户程序) 目态到管态的转变的唯一途径是中断,通过修改程序状态字实现管态和目态的转换 (2)中断机制: 中断的实现需要硬件和软件结合完成。中断类型:强迫性中断和自愿性中断。 强迫性中断:不期望或不可预料的中断.如:输入输出中断、硬件故障中断、时钟中断、程序性中断。 自愿性中断:程序有意安排的访管指令或系统调用。 中断向量:中断处理程序的入口地址及运行环境(程序状态字PSW) 中断优先级由硬件规定,中断屏蔽由程序状态字的中断屏蔽位决定。通过中断屏蔽可以调整中断事件的响应次序 (3)定时装置:定时装置硬件时钟通常分为两类:即绝对时钟和相对时钟。 CPU对外部设备的控制方式: 1、循环测试I/O 2、中断 3、DMA(直接内存存取):高速外设与内存批量处理数据 4、通道处理(I/O处理机) 7、进程管理 (1)进程与程序的区别与联系:a.进程是程序的执行,是动态的;而程序是指令的集合,是静态的。 b.进程有生命周期,即进程的存在是有限的,从运行到结束,是暂时的;而程序则是永久存在的。 c.进程包括程序、数据和进程控制块(PCB)。 d.一个程序可以有多个进程,一个进程也可以包含多个程序。 进程控制块PCB是一个数据结构,进程在内存中存在的唯一标志 (2)进程状态: 运行态, 就绪态,等待状态(阻塞状态) (3)线程:CPU调度和分派的基本单位。共享进程资源。 (4)进程的通信 临界资源是指一次只允许一个进程使用的资源:一个进程中访问临界资源的那段程序代码称为临界区。它们不允许两个及以上的进程同时访问或修改。 进程同步:多个进程协同完成任务。进程互斥:多个进程使用同一资源(临界资源)。 低级通信:少量信息的交换(P操作和V操作) 高级通信:大信息交换(消息机制(消息缓冲、信箱通信)、共享内存,管道) 进程(线程)调度:先来先服务、时间片轮转、最高优先级(紧迫度高的进程)、 多级队列反馈算法:综合了FCFS、时间片轮转和可抢占最高优先数算法。 (5)死锁: 产生死锁的必要条件:互斥条件、不可剥夺条件、部分分配、循环等待 死锁的预防: 破环必要条件之一:静态预分配(破坏部分分配)、资源有序分配(破坏环路等待)、 可剥夺资源(破坏不可剥夺性) 死锁的避免:银行家算法 死锁的检测:进程等待时检测、定时检测、系统利用率降低时检测 死锁的解除:资源剥夺和撤销进程 8、存储管理 (1)功能:内存的分配和回收、内存共享、存储保护(防止地址越界和操作越权)、地址映射(地址重定位) 内存扩充:让外存当作内存来使用 (2)碎片管理:解决碎片的方法是移动技术或紧凑(拼接)技术 (3)静态地址重定位:程序装入内存时,进行逻辑地址转换物理地址转换 动态地址重地位:程序运行过程中,要访问指令和数据才进行地址转换,需要硬件地址映射机制(基址寄存器和限长寄存器) (4)空闲分区的分配策略:最先适应算法(地址从小到大找第一个满足进程空间大小的分区) 最佳适应算法:分区表按容量从小到排序;最坏适应算法:分区按容量从大到小排序。 (5)虚拟存储管理:虚拟存储得以实现是由程序的局部性原理来决定的。程序的局部性原理包括时间局部性和空间局部 (6)页面淘汰算法包括以下几种:最佳淘汰算法(OPT)、先进先出淘汰算法(FIFO)、最近最久末使用淘汰算法(LRU) 最近使用最少淘汰算法(LFU)(访问次数少) (7)影响缺页中断次数因素:a、分配给进程的物理页面数 b.页面大小 c.程序本身的编制方法 c、页面淘汰算法:最佳淘汰算法(OPT)能使缺页中断率最低 (8)颠簸(抖动):缺页率高引起。工作集模型解决颠簸(抖动) 9、文件管理 (1)逻辑结构:流式文件(基本单位字符)(如:源程序文件、目标代码文件,Unix的文件)和记录文件(定长和不定长记录),记录包含一个记录键和其他属性 (2)文件的物理结构:连续结钩、链接结构、索引结构及Hash结构等,文件的存取方式与物理结构有关。 UNIX三级索引表的计算:如果一个物理块可以存放256个块号,则三级索引表表示文件的大小 2563+2562+256+10 (3)文件目录:文件系统的最大特点就是“按名”存取 (4)文件控制块FCB是文件在内存中存在的唯一标志,文件目录是文件控制块的有序集合。 (5)多级目录结构,有利于避免文件重名;当前目录:可以提高检索速度。目录项分解法,它可以提高文件检索速度 (6)记录的成组:若干个逻辑记录合成在一个物理块中,每个块中的逻辑记录个数为块因子。 10、设备管理 (1)按设备的工作特性可以分为存储设备和输人/输出设备两种 (2)按照资源分配方式可以分为独享设备、共享设备和虚拟设备3种 虚设备技术,一类设备模拟另一类设备的技术。在高速设备(如高速大容量磁盘)上模拟低速设备 :SPOOLING是典型的虚设备技术,被模拟的设备称为虚拟设备。 (3)按设备的数据组织分类:块设备(磁盘、磁带)和字符设备(打印机)。 (4)通道可以分为以下3种类型:字节多路通道、选择通道和成组多路通道。 (5)单缓冲区,双缓冲区,多缓冲区和缓冲池:解决外设与CPU速度不匹配问题 (6)磁盘调度: 访问磁盘时间:寻道时间、旋转定位时间和数据传输时间。 磁盘调度由移臂调度和旋转调度组成。移臂调度:先来先服务FCFS(大幅度移动)、最短寻道时间优先(饥饿,考虑了寻道优化),扫描算法(考虑方向和距离,考虑了寻道优化) 旋转调度:目的较少旋转延迟时间。
第四章 数据库系统技术基础
1、信息与数据的关系:数据是信息的符号表示,或称载体;信息是数据的内涵,是数据的语义解释 2、数据库系统:一般由数据库、操作系统、数据库管理系统(及其工具)、应用系统、数据库管理人员和用户构成。 3、数据模型: 数据模型是数据库系统的数学形式框架,是数据库系统的核心和基础. 4、数据模型的分类:概念模型,也称信息模型;逻辑模型,主要包括网状模型、层次模型和关系模型等;物理模型 。 5、数据模型的三要素:数据结构、数据操作和完整性约束。 6、概念模型,信息世界建模,E-R模型是常用的概念模型。EER扩充E-R模型,面向对象模型、谓词模型。 E-R图提供了表示实体型、属性和联系的方法。 (1)实体型:用矩形表示,矩形框内写明实体名。 (2)属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 (3)联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型 7、逻辑模型,面向数据库管理系统。传统逻辑模型(层次、网状、关系)基于记录的模型。层次、网状模型用记录和链接表示数据和联系,关系模型用二维表表示数据,记录值表示表间联系。 面向对象的模型,对象-关系模型都属于逻辑模型,面向对象模型既是概念模型又是逻辑模型。 8、数据库系统的三级模式结构:由外模式、模式和内模式三级构成的。 9、模式(Schema):一个数据库只有一个模式;外模式也称子模式或用户模式,一个数据库可以有多个外模式。外模式是保证数据库安全性的一个有力措施。内模式也称存储模式或物理模式,一个数据库只有一个内模式。 10. 数据库的二层映像与数据独立性:外模式/模式映像,包含在各自的外模式描述中。外模式/模式映像保证了数据与程序的逻辑独立性(模式变,外模式不变);模式/内模式映像,包含在模式描述中,模式/内模式映像保证了数据与程序的物理独立性(物理模式变,模式不变,外模式不变)。
第五章 关系数据库系统
1、关系模型由关系数据结构、关系操作集合和关系完整性约束3部分组成。 2、关系模型中的关系操作的理论依据为关系代数和关系演算。 关系操作的特点是集合操作方式。 3、关系数据语言可以分为如下3类:关系代数语言、关系演算语言(包括元组关系演算语言和域关系演算语言)及具有关系代数和关系演算双重特点的SQL语言。 4、关系模型中有3类完整性约束:实体完整性、参照完整性(引用完整性)和域完整性约束(用户自定义的完整性) 5、关系数据库对关系的限定 当关系作为关系数据模型的数据结构时,关系数据库对关系有如下的限制。 (1)列是同质的.即每一列中的分量是同一类型的数据,来自同一个域。 (2)不同的列可以出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。 (3)列的顺序无关紧要,即列的次序可以任意交换。 (4)任意两个元组不能完全相同。 (5)行的顺序无关紧要,即行的次序可以任意交换。 (6)每一个属性是不可分解的这是关系数据库对关系的最基本的一条限定。分量必须取原子值,即每一个分量都必须是不可拆分的数据项。 6、关系模型的完整性约束:实体完整性关系的所有主属性都不能取空值,而不仅是主码整体不能取空值 参照完整性规则:外键要么取空值,要么等于被参照关系中某个元组的主码值。 7、域完整性约束(用户有定义的完整性):对其他属性值域的约束,也称为域完整性规则,包括数据类型、精度、取值范围、是否允许空值等。 8、关系代数(了解操作的执行结果) 并、差、笛卡儿积、投影和选择为五种基本运算。 9、传统的集合运算包括并、交、差和广义笛卡儿积4种运算。 10、专门的关系运算包括:对单个关系进行垂直分解(投影操作)或水平分解(选择操作)和对多个关系进行结合(连接操作)等。 11、广义投影 赋值、外连接(左外连接、右外连接)、半连接,聚集:G表示,外部并
第六章 关系数据库标准语言SQL
1、SQL(Structured Query Language)称为结构化查询语言,SQL已经成为关系数据库领域中的一种主流语言,1987年被国际标准化组织(ISO)采纳为国际标准 1992年公布了SQL92(SQL2),1999年公布了SQL93(SQL3,对象-关系SQL),2003年公布SQL2003(SQL4) 2、SQL 特点:SQL语言集数据查询、数据操纵、数据定义和数据控制功能于一体 综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式(自含式和嵌入式SQL)、语言简洁,易学易用。
3、SQL数据库体系结构:外模式对应于视图和部分基本表、模式对应于基本表,内模式对应于存储文件 基本表是本身独立存在的表,一个关系就是一个基本表(存放实际数据),行对应元组,列对应属性;一个基本表可以跨一个或多个存储文件存放,一个存储文件可以存放多个基本表;所有基本表的集合构成了模式;基本表是模式和外模式的一部分。 一个SQL表可以是一个基本表,也可以是一个视图。视图是一个或几个基本表导出的表,数据库中存放视图的定义,视图的数据仍然在基本表中。视图是一个虚表,是外模式的一部分。 一个SQL表可以有若干索引,索引放在存储文件中。存储文件的逻辑结构组成了SQL数据库的内模式。物理结构由操作系统管理,对用户透明。 SQL用户可以是一个应用程序,可以一个SQL用户。 4、SQL的数据类型:预定义数据类型、构造数据类型、用户定义数据类型 5、基本的SQL定义语句:关系数据库的基本对象是模式、表、视图、索引和域 基本对象 创建 删除 修改 模式 CREATE SCHEMA DROP SCHEMA 基本表 CREATE TABLE DROP TABLE ALTER TABLE 视图 CREATE VIEW DROP TABLE 索引 CREATE INDEX DROP INDEX 域 CREATE DOMAIN DROP DOMAIN 6、基本操作语句 (1)模式的定义与删除 Create Schema <模式名> AUTHORIZATION <用户名> Drop Schema <模式名>|CASCADE|RESTRICT (2)基本表的操作:创建:CREATE TABLE[模式名.]<表名>(<列名><数据类型>(列级完整性约束〕 [,<列名><数据类型>[列级完整性约束]… 〔,<表级完整性约束>〕); <列级完整性约束条件>:涉及相应属性列的完整性约束条件 <表级完整性约束条件>:涉及一个或多个属性列的完整性约束条件 CREATE TABLE S_SC_C.SC (S# CHAR(8),C# CHAR(8),GRADE INT NOT NULL, PRIMARY KEY (S#,C#),FOREIGN KEY(S#) REFERENCES STU(S#) ); PRIMARY KEY (S#,C#),FOREIGN KEY(S#) REFERENCES STU(S#)为表完整性约束 修改:ALTER TABLE<表名> 「ADD<新列名><数据类型>[完整性约束〕〕 [DROP <列名>][<完整性约束名>]〕 [MODIFY<列名><数据类型>」; 删除:当某个基本表不再需要时,可以用DROP TABLE语句进行删除,其格式为: DROP TABLE<表名> 基本表一旦被删除,表中的数据、此表上建立的索引和视图都将自动被删除。因此执行删除基本表的操作时一定要格外小心。DROP TABLE <表名> RESTRICT 视图等关联对象没有事先删除则不能执行删除操作 (3)索引操作 建立索引是加快查询速度的有效手段,提供多种存取路径 UNIQUE 唯一索引,建立的索引其值必须唯一 CLUSTER聚簇索引,表示索引值的顺序与表中记录的物理顺序一致,适合在经常查询的列上建立,不适合在经常更新的列上建立 CREATE [UNIQUE][CLUSTER]INDEX<索引名> ON<表名>(<列名>[<次序>〕[,<列名>[<次序>」…」); <次序>指定索引值的排列次序,可选ASC(升序)或DESC(降序),默认值为ASC 如:CREATE UNIQUE INDEX SCno ON SC( Sno ASC,Cno DESC); 删除索引:DROP INDEX<索引名>;删除索引时,系统会同时从数据字典中删去有关该索引的描述 4、SQL的数据操纵语句 SQL语言的数据操纵包括INSERT(插人)、DELETE(删除)、UPDATE(更新)和SELETE(检索,又称查询)4个语句 SELECT语句是数据操作的核心。 (1)数据查询 SELECT[ALLI DISTINCT]<目标列表达式>〔,<目标列表达式>]… FROM<基本表或视图>[,<基本表或视图>]… [WHERE<条件表达式>] [GROUP BY<列名l>[HAVING<条件表达式>]] [ORDER BY<列名2>[ASC 1 DESC]]; a.简单查询 简单查询涉及数据库中的一个表,包括以下几种: (1)查询表中的若干列。 (2)查询经过计算的值。 (3)消除取值重复的行。DISTINCT (4)查询满足条件的元组。WHERE (5)利用LIKE的查询。_、% (6)涉及空值NULL的查询。IS NULL 、IS NOT NULL (7)对查询结果排序。ORDER BY ASC/DESC (8)使用集函数。Count 、SUM、AVG、MAX、MIN (9)对查询结果分组。Group by having b. 连接查询 外连接的三种类型:左外连接、右外连接、全外连接 左外连接(LEFT OUTER JOIN):结果表中保留连接条件左边关系中的所有元组 右外连接(RIGHT OUTER JOIN): 结果表中保留连接条件右边关系中的所有元组 全外连接(FULL OUTER JOIN): 结果表中保留连接条件左右两边关系中的所有元组 某些系统中用+= 表示左外连接、=+表示右外连接、+=+表示全外连接 c.嵌套查询 (I)由谓词IN引导的子查询:IN是最常用的谓词。 (2)谓词是比较运算符的子查询。 (3)由[NOT]EXISITS谓词引导的子查询。 d.集合查询。 UNION(并)、INTERSECT(交)、EXCEPT(差) 5、SQL的修改语句 (1)插入操作(insert)insert into 表名(字段名,…) values(常量,…) insert into 表名(字段名,…) select … from (2)删除操作(delete)delete from 表名 [where F] 删除表中的数据,表的结构还存在数据字典中 (3)更新操作(update)update 表名 set 列名=表达式,列名=表达式 where F 6、视图 (1)创建视图CREATE VIEW<视图名>〔(<列名>〔,<列名>…〕 AS<子查询> 〔 WITH CHECK OPTION〕: 其中子查询可以是任意复杂的SELECT语句,但通常不允许含有ORDER BY子句和DISTINCT短语。WITH CHECK OPTION表示对视图进行UPDATE、INSERT和DELETE操作时要保证更新、插人或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)。 (2)几种特殊的视图:行列子集视图、表达式视图、分组视图、连接视图 (3)查询视图:将对视图的查询转换为对基本表的查询的过程称为视图的消解(View Resolution)。 视图物化(View Materialization):是指在视图第一次被查询的时候物理地建立一个临时的视图表(实表),但必须保证更新基本表时自动更新视图表,保持物化视图的最新性。 (4)修改视图 为防止用户通过视图对数据进行增、删、改操作时,无意或有意操作不属于视图范围内的基本表数据可在定义视图时加上WITH CHECK OPTION子句,这样在视图上增、删、改数据时,DBMS会进一步检查视图定义中的条件,若不满足条件,则拒绝执行该操作。 改视图包括插入(INSERT)、删除(DELETE)和更新(UPDATE) 3类操作。行列子集视图可以修改,带表达式视图、连接视图和分组视图不能修改。 (5)视图的作用 (1)能够简化用户的操作。 (2)使用户能以多种角度看待同一数据。 (3)对重构数据库提供了一定程度的逻辑独立性。 (4)能够对机密数据提供安全保护。 7、数据控制语句和嵌入式SQL (1)GRANT语句和REVOKE语句实现权限授予和权限回收 GRANT 权限 ON 对象名 to 用户 [with grant option]; with grant option 获得权限的用户允许授予其他用户 (2) REVOKE<权限>[,<权限>]… [ON<对象类型><对象名>] FROM<用户>[,<用户>]…; (3) SQL语言分为独立语言和嵌入式语言 SQL语言嵌入主语言解决的3个问题: SQL语言与主语言的区分:EXEC SQL<SQL语句> 数据库工作单元与程序工作单元的通信(通过主变量) 游标解决集合操作与记录操作的矛盾 DBMS可采用两种方法处理嵌入式SQL,一种是预编译,另一种是修改和扩充主语言 (4)动态SQL:程序在执行过程中动态生成SQL语句。动态SQL的两种执行方式:1、立即执行;2、先准备后执行
第七章 关系数据库的规范化理论与数据库设计
1、“不好”的关系模式有以下4个问题: a、数据冗余 b、更新异常 c、插入异常 d、删除异常 2、函数依赖 数据依赖中重要的是函数依赖和多值依赖 (1)函数依赖定义:设R(U)是属性集U上的一个关系模式,X和Y均为U的子集。若对于R(U)的任一个可能的关系r,r中不可能有两个元组在X中的属性值相等,而在Y中的属性值不等,那么称X函数决定Y X->Y,或Y函数依赖于X, X为决定因素(函数中的一一映射关系) (2)函数依赖包括非平凡的函数依赖、平凡的函数依赖、完全函数依赖、部分函数依赖及传递函数依赖 平凡函数依赖: 非平凡函数依赖: 如果 X→Y,但 Y X, 则称 X→Y 是平凡的函数依赖 完全函数依赖: 在关系模式 R(U)中,如果X→Y,并且对于 X 的任何一个真子集X’,都有 X’ Y, 则称 Y 完全函数依赖于 X,记作: 部分函数依赖: 若X→Y,但Y不完全函数依赖于X,则称 Y 部分函数依赖于X,记作: 传递函数依赖: 在关系模式R(U)中,如果X→Y(Y ÍX),Y→X ,Y→Z,则称 Z 传递函数依赖于X。 (3) 函数依赖的逻辑蕴含 设R<U, F>是一个关系模式,X可以由F推导出Y,则称F逻辑蕴含X→Y (4)码:设 K 为关系模式 R<U,F>中的属性或属性组合。若 ,并且不存在K的真子集决定U,则 K 称为 R 的一个侯选码(Candidate Key)。若关系模式 R 有多个候选码,则选定其中的一个做为主码(Primary key)。 主属性与非主属性 全码(ALL KEY):主码为关系模式所有属性 如何找候选码:a.找出F集合的所有仅出现在左边的属性和左右两边都没出现的属性,组合为U1,U1必包含在候选码中;b.如果U1->U,则U1为一个候选码,否则然后增加其他属性到U1中组成属性组K,使K->U,则K为候选码,再找出其他候选码 (5)函数依赖的公理系统 a.自反律:若Y ÍX Í U,则X-> Y为F所逻辑蕴含。 b.增广律:若X->Y为F所逻辑蕴含,且Z Í U,则XZ->YZ为F所逻辑蕴含。 c.传递律:若X- >Y及Y->Z为F所逻辑蕴含,则X->Z为F所逻辑蕴含。 推论 合并规则:X->Y,X->Z,则X->YZ 伪传递规则:X->Y,WY->Z,则XW->Z 分解规则:X->Y及ZÍY,则X->Z 3、1NF、2NF,3NF,BCNF (1)1NF: 1NF的模式是关系数据库的最基本要求 如果关系模式R的所有属性都是不可再分解的,则称R属于第一范式,简称1NF,记做R∈1NF。 (2) 2NF:若R∈ INF,且每一个非主属性完全函数依赖于码,则R∈2NF (3) 3NF: 关系模式R∈2NF,且每个非主属性都不传递依赖于码,则R∈3NF (4) BCNF: 若关系模式R∈1NF,且对于每个非平凡的函数依赖X-> Y都有X包含码,则R ∈BCNF。在函数依赖的范围内,BCNF达到了最高的规范化程度。 4、多值依赖和4NF (1)多值依赖:设R(U)是一个属性集U上的一个关系模式, X、 Y和Z是U的子集,并且Z=U-X-Y,多值依赖 X→→Y成立当且仅当对R的任一关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关。 平凡多值依赖和非平凡的多值依赖 若X→→Y,而Z=φ,则称 X→→Y为平凡的多值依赖, 否则称X→→Y为非平凡的多值依赖 特性:a.多值依赖具有对称性 若X→→Y,则X→→Z,其中Z=U-X-Y b.函数依赖是多值依赖的特殊情况。若X→Y,则X→→Y。 c. 若函数依赖X→Y在R(U)上成立,则对于任何Y’ Ì Y均有X→Y’ 成立 多值依赖X→→Y若在R(U)上成立,不能断言对于任何Y’ Ì Y有X→→Y’ 成立 d. 多值依赖的有效性与属性集的范围有关. 若X→→Y在U上成立,则在W(X YÍWÍ U)上一定成立;反之则不然,即X→→Y在W(W ÌU)上成立,在U上并不一定成立. (2)4NF关系模式R<U,F>∈1NF,如果对于R的每个非平凡多值依赖X→→Y(Y Í X),X都含有候选码,则R∈4NF。 根据定义:不允许有非平凡且非函数依赖的多值依赖,X包含码,即X->Y,实际就是函数依赖
如果R ∈ 4NF, 则R ∈ BCNF 5、关系模式分解 常用的等价标准有要求分解具有无损连接性的和分解是保持函数依赖的两种。
关于模式分解的几个事实 (1)分解具有无损连接性和分解保持函数依赖是两个互相独立的标准。 (2)若要求分解具有无损连接性,那么模式分解一定可以达到BCNF。 (3)若要求分解保持函数依赖,那么模式分解可以达到3NF,但不一定能达到BCNF。 (4)若要求分解既具有无损连接性,又保持函数数依赖,则模式分解可以达到3NF,但不一定能达到BCNF 6、数据库的分析与设计 (1)数据库设计的6个阶段:需求阶段、概念结构阶段、逻辑结构设计、物理结构设计、数据库实施、运行维护 (2)设计概念结构通常有4类方法:自顶向下、自底向上、由里向外和混合策略。 E-R模型为工具来描述概念结构。最常用的设计策略是自底向上设计策略 E-R方法的步骤 a.设计局部E-R图 b.设计全局E-R图 解决属性冲突、结构冲突、命名冲突 c.全局E-R图的优化 (3) 逻辑结构设计 E-R模型向关系模型转换: a.实体转换为关系,属性转换为关系的属性,实体码转换为关系的码 b.1:1的联系,可以转换为一个关系,也可以与联系的任意一端实体关系模式合并 c.1:n的联系可以转换为一个独立关系(属性为1端和n端实体的码和联系本身属性)(码为n端实体码),也可以与联系的n端实体关系模式合并(加入1端实体码) d.m:n联系转换为一个关系模式(码为各实体码组合) e.3个或3个以上的多元联系转换为一个关系模式,模式的码由联系的实体码组成。 7、物理结构设计 (1)存储记录的格式设计:记录的垂直分割法、记录的水平分割法。 (2)存储方法设计:顺序存放、散列存放和聚簇存放。 (3)存取方法设计:索引是一种非常重要的存取路径(建立在经常查询和连接的属性组上) 8、规范化理论是数据库设计的理论基础,可以应用到数据库设计的不同阶段。
第八章 数据库系统实现技术
1、数据库管理系统概述 (1)DBMS的基本功能:a. 数据库定义功能(DDL):外模式、模式、内模式、完整性、安全保密、索引、视图定义,定义存储在数据字典(系统目录),是DBMS运行的基本依据。 b. 数据操纵功能(DML):检索、插入、更新和删除操作。 c.数据存储和管理: d.事务管理:并发和故障恢复。 e. 通信功能和数据转换功能等 (2)DBMS的程序模块:数据定义模块、数据操纵模块、数据库运行管理模块、数据库组织、存储和管理模块、数据库建立、维护和其他方面模块。 (3)DBMS的层次结构:最上层是应用层位于DBMS核心之外。 (2)第二层是语言翻译处理层它处理的对象是数据库语言 SQL, (3)第三层是数据存取层:该层处理的对象是单个元组。 (4)第四层是数据存储层。该层处理的对象是数据页和系统缓冲区。 (5)操作系统是DBMS的基础。提供的存取原语和基本的存取方法通常作为与DBMS存储层的接口。它处理的对象是数据文件的物理块。 2、数据库管理系统的主要成分: 三个主要成分:存储管理器(负责外存和内存缓冲区管理)、查询处理器(DDL编译、安全定义和查询、完整定义和控制、查询编译优化和执行)、事务管理器(ACID特性,事务管理、并发控制、日志管理和故障恢复) 存储管理器重要模块:存储管理、缓冲区管理、索引/文件/记录管理器 查询处理器重要模块:DDL编译器、查询编译器、执行引擎 事务管理器重要模块:事务管理、日志和恢复、并发控制。 缓冲区和锁表是DBMS管理的重要内存结构。 (1)存储管理器:负责管理的数据包括:目标数据、元数据、索引和日志等。 a.物理存储介质层次:高速缓冲存储器、主存储器、第二级存储器、第三级存储器,依次访问速度降低,价格也降低。 其中高速缓冲存储器、主存储器为基本存储(易失性存储),第二级存储器(例如磁盘)称为辅助存储器或联机存储器,第三级存储器(如磁带、光盘机)也叫脱机存储器。第二级和第三级存储器为外存。 磁盘块为磁盘空间分配的基本单位,也是磁盘与主存传输数据的逻辑单元。 b. 数据组织: 一个数据库映为多个不同文件, 为了将不同大小记录组织在同一个磁盘块中,常采用分槽的页结构,即块开始有块头(包括块中记录个数、块中空闲空间尾指针、记录的位置和大小的数组)、中间为空闲区、尾部为分配的记录。 C. 缓冲区管理:缓冲区替换策略(最近最少使用LRU,先进先出FIFO、时钟算法、系统控制法等. d.数据字典:存储关于数据库的描述信息。必须存储的目录信息包括:关系基本信息、用户信息、索引信息和统计信息。 e. 索引结构:支持对所要求的数据进行快速定位的附加数据结构称为索引。 一个文件可以有多个索引,一个索引包括一个属性和多个属性(查找码或搜索码),以及对应记录的位置。 顺序索引:查找码按顺序存储如B+树索引,在顺序索引中,如果对应的记录也按查找码排列,则称为聚集索引(主索引)。 对单个关系中元组的查询可分为点查询和范围查询: 点查询:查询特定属性上指定值的元组,一般为查询结果为单个记录 比如 select * from student from s#=’001’ 范围查询:查询给定属性值在指定范围的所有元组,一般查询结果为多个记录 select * from student from s# between ‘001’ and ‘009’ 顺序索引支持点查询和范围查询,散列索引支持点查询,不支持范围查询(注意) (2) 查询处理: 查询处理器最主要的模块查询编译器和查询执行引擎. a.查询处理过程:分析查询语句语法(生成语法分析树,翻译为关系表达式,形成初始查询计划)、选择逻辑查询计划(生成逻辑查询计划树或扩展的关系代数表达式)、选择物理查询计划(生成物理查询计划树)、查询执行。 逻辑查询选择:初始查个询计划转化为一个预期执行执行时间较小的等价计划过程。 b.选择逻辑查询计划和选择物理查询计划的步骤通称为查询优化。 物理查询计划选择常采用基于代价的查询计划选择方法(根据选定的逻辑查询计划派生多个不同物理查询计划,并选择代价最小或接近最小的物理查询计划)。 关系代数表达式等价:选择运算对并、交、差具有分配律: σP(E1 ∪ E2)=σP(E1)∪ σP(E2) σP(E1 ∩ E2)=σP(E1)∩ σP(E2) σP(E1 - E2)=σP(E1)- σP(E2) 投影对并运算分配律:∏L(E1 ∪ E2)=∏L(E1) ∪ ∏L(E2) c.查询执行:查询执行的最基本动作是关系运算的执行。选择运算的两种实现方式:全表扫描(依次访问表中的每一块),索引扫描。 (3)事务管理 a.事务的概念:数据库的一些操作的集合通常是一个独立单元,这种具有独立性的逻辑单元即是事务 b.事务的特性: 1)原子性(Atomicity )。事务的所有操作在数据库中是不可分割的,或全部反映出来或全部不反映。 2)一致性( Consistency)。事务执行的结果必须是使数据库从一个一致性状态转变到另一个一致性状态。即数据库中只包含成功事务提交的结果。 3)隔离性(Isolation)。事务的执行不能被其他事务所干扰,一个事务内部的操作及使用的数据对其他并发事务是隔离的,互不影响。 4)持久性(Durability)。事务一旦提交并执行后,它对数据库中数据的改变是永久的。 事务特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(durability)。 原子性、持久性:事务管理器中故障恢复机制责任。一致性:应用程序员的责任。隔离性:事务管理器中并发控制部件责任。 (4)事务的并发控制 a.事务的并发执行 并发执行时可能会破坏数据库的一致性,主要问题包括以下三方面: 1)丢失更新。 2)对未提交更新的依赖。(读脏数据) 3)不一致的分析。(不可重复读) b.并发事务的调度 如果多个事务在某个调度下的执行结果与这些事务在某个串行调度下的执行结果相同,则称这个调度为可串行化的调度。若用等价的概念来表示就是指某个调度等价于一个串行调度。 可串行化是多个事务并发执行的正确性准则。 事务的可恢复调度:对于每对事务Ti和Tj,如果Tj读取了Ti所写的数据,则Ti先于Tj提交。 级联回滚:一个事务导致依赖它的一系列事务回滚的现象。 无级联回滚(调度):由于级联回滚导致大量工作撤销,所以对调度加以限制,避免级联回滚发生,这样的调度为无级联调度。 可串行化且无级联(可恢复)调度保证数据库一致性,是我们所需要的。 (5).封锁 在事务的并发执行过程中为保证数据库的一致性,常采用封锁的方法来限制其他事务对该事务数据项的访问。对数据项加锁的方式主要有两种。 1)共享锁。如果事务T获得了数据项Q上的共享型锁(记为S),则Ti可读Q但不能写e。 2)排他锁。如果事务Ti获得了数据项Q上的排他型锁(记为X),则T既可读Q又可写Q。 注意:加了共享锁的数据项可以再加共享锁,不能加排他锁。 加了排他锁的数据项不能再加共享锁和排他锁。 简言之:共享锁与共享锁相容,与排他锁不相容 排他锁与任何锁不相容。 两阶段封锁协议保证可串行性,它要求每个事务分两个阶段提出加锁和解锁申请。可保证可串行化。 1)增长阶段。事务可以获得锁,但不能释放锁。 2)缩减阶段。事务可以释放锁,但不能获得新锁。 两阶段封锁增强协议:严格两阶段封锁协议和强两阶段封锁协议 严格两阶段封锁协议:在遵循两阶段封锁协议下,要求事务的排他锁在事务提交后才能释放。 强两阶段封锁协议:在遵循两阶段封锁协议下,要求事务的所有锁在事务提交前不能释放。 两阶段封锁协议不能保证死锁发生。 (6)故障恢复 a.故障的类型 1)事务故障可分为逻辑错误和系统错误,它们都可能造成事务执行失败。事务没有达到预期的终点。 2)系统故障:硬件故障或者是数据库软件或操作系统的错误,致使系统停止运行。主存储器内容丢失,而外存储器完好无损。 3)磁盘故障。数据传送操作过程中由于磁头损坏或故障而造成的数据内容丢失。 b.基于日志的恢复 日志包括事务开始日志记录、更新日志记录、事务提交日志记录和事务终止日志记录。 登记日志记录原则:先写日志原则 发生事务故障后,事务故障恢复的步骤如下: (1)反向扫描日志,查找该事务的更新记录C (2)对事务的更新操作执行逆操作,将日志记录中的“改前值”写人数据库。 (3)反复进行直到恢复到该事务的开始日志,则事务故障恢复结束。 对于系统的故障恢复步骤如下: (1)正向扫描日志文件,将在故障发生前提交的事务的标识记入REDO队列;将故障发生时尚未完成的事务的标识记人UNDO队列。 (2)对UNDO队列中的事务进行反向扫描,执行逆操作。 (3)对REDO队列中的事务进行正向扫描,重新执行日志记录登记操作。 介质故障恢复:系统备份后,装入后备副本和日志副本,由系统恢复。
第九章 主流关系数据库管理系统、工具及新技术
第一部分 主流关系数据库管理系统
1、主要的关系数据库产品:前流行的数据库管理系统绝大多数是关系型数据库管理系统,一般可分为如下3类: (1)以PC机、微型机系统为运行环境的数据库管理系统。 (2)以Oracle为代表的数据库管理系统,这类系统还有IBM DB2,Sybase,Microsoft SQI. Server等,也被称为主流数据库管理系统。 2、新应用需求对关系DBMS的挑战: 高可靠和高安全,多媒体、大容量、复杂数据应用,可伸缩协同服务,高性能管理大系统能力,支持互联能力,联机事务处理和决策、联机分析处理能力。 3、关系DBMS发展趋势:智能化、集成化,支持互联网应用,产品系列化,支持扩展关系,保证安全性。 4、SQL Server 2000 体系结构:支持客户机/服务器体系结构 (1)三部分组成:客户机端组件、服务器端组件和通信服务组件。 (2)客户机端组件:企业管理器、查询分析器、数据传输服务DTS、客户端网络实用工具、联机丛书。 (3)服务端组件:SQL服务器服务、SQL服务器代理、分布式事务协调服务、服务器网络使用工具 通信组件: (4)、SQL Server2000功能特点:1)充分的Web支持 2)高度可伸缩和可靠性 3)完善的数据库功能 4)数据仓库功能 5)易于使用和管理 6)网络无关性 (5)、SQL数据库组成:系统数据库(Master(基本配置信息)、Model(用户数据库模版)、Tempdb(临时表)、Msdb(调度和历史作业)和用户数据库。 (6)SQL Server2000中常用数据库对象:表、数据类型、约束、规则、视图、索引、默认值、触发器、存储过程和用户自定义函数。 SQL Server 2000多版本支持 SQL Server 2000提供了各种不同的版本,包括SQL Server 2000企业版、SQL Server 2000标准版、SQLServer 2000个人版、SQL Server 2000开发人员版,SQL Server 2000企业评估版,SQL Server 2000桌面引擎和SQL Server 2000 Windows CE版。 (7)从Internet访问SQL Server2000数据库:1)Windows2000和IIS作为Internet平台 2)用ISAPI(Internet Server API函数调用集)访问SQL Server 3)ASP(Active Server Pages服务端脚本)访问SQL Server 4)XML(可扩展标记语言,交换数据和文件的标准)访问SQL Server 5、Oracle数据库系统 (1)目前比较新的版本为 Oracle 11g,Oracle最初被设计为关系数据库管理系统,自版本8起,Oracle定位成一个对象-关系数据库管理系统。 (2)Oracle体系结构 Oracle服务器由Oracle数据库(Oracle Database)和Oracle实例(Oracle Instantce)组成。Oracle数据库是存储数据的集合,包括日志文件和控制文件。Oracle实例包括系统进程和该数据库的所有用户进程。 (3)Oracle数据库结构 Oracle数据库的逻辑结构由数据库定义构成,涉及模式对象和多个表空间。 Oracle的表空间、段和盘区用于描述Oracle物理存储结构的术语。 1)数据库、表空间和数据文件的关系 表空间是逻辑存储单元,有如下特性: 每个Oracle数据库由被分成一个或多个表空间,分为一个SYSTEM表空间和至少一个用户表空间。 每个表空间包括一个或多个数据文件,是一对多的关系。 一个Oracle数据库总存储容量是该数据库所有表空间的存储容量之和。 Oracle数据库的物理存储按数据块、盘区和段来组织。Oracle使用以下四种类型段:数据段、索引段、临时段和回滚段。 (5)Oracle实例 Oracle实例:由系统全局区(SGA)、用户进程和Oracle进程(分为服务器进程和后台进程)组成。 (6) Oracle数据库服务器包括标准服务器和许多可选的服务器选件。标准服务器主要具有下列特色:多进程多线索的体系结构、高性能核心技术、高可用性和SQL的实现。 (7)Oracle的系统开发工具及其功能: 1)Developer/2000:包括Oracle Forms(快速基于屏幕的应用), Oracle Reports(快速生成报表),Oracle Graphics(快速生成图形)和Oracle Books(生成联机文档) 2)Designer/2000:CASE工具,BPR、Modellers、Generators等组成。 3)Discoverer/2000:OLAP工具,主要用于支持数据仓库应用。 4)Oracle Office和InterOffice,办公自动化。 (8)Oracle的连接产品及功能:SQL*NET和NET8,客户机与服务器的网络通信产品。Oracle网关、Oracle数据装载器。 (9)Oracle数据仓库解决方案:服务端Oracle Express Server和客户端Oracle Express Objects和Oracle Express Analyzer等 (10)Oracle的Internet解决方案:产品Oracle WebServer,由Oracle WebListener、Oracle WebAgent和Oracle 服务器三部分组成。 (11)Oracle的对象-关系特性(新增加的内容) Oracle的核心是关系型数据库,面向对象功能通过对关系功能扩充实现 引入抽象数据类型、对象视图、可变数组(表示多值属性)、嵌套表和大对象(BLOB(二进制大对象)、CLOB(字符型大对象)、BFILE(存储在数据库外的只读二进制数据文件,数据库中只存储它的目录名)和NCLOB(固定宽度多字节CLOB)及它们的复合使用来实现对象-关系型数据库。(新增内容) (12)SQL Server和Oracle的安全性共性 1)权限和授权 Oracle权限分为数据库系统权限和数据库对象权限,SQL Server权限分为服务器权限和数据库权限,服务器权限只能授予DBA,数据库权限分为数据库语句权限和数据库对象权限。数据库语句权限对应Oracle数据库系统权限,数据库对象权限对应Oracle数据库对象权限。 2)、角色(数据库系统角色和用户定义角色)3、用户标识和身份认证(系统登录、数据库连接和数据库对象访问):MS SQL Server两种验证模式:Windows模式和混合模式。 4)、自主访问控制(用访问控制矩阵模型实现) 5)、审计(固定和选择两种方式,Oracle的三种审计类型:登录审计、操作审计和对象审计) 6)、视图、存储过程和触发器
第二部分 新一代数据库系统工具
1、数据库系统工具分类:数据库管理工具(加载工具、备份工具、文件重组工具和性能监控工具等)和数据库系统设计和开发工具(CASE工具、应用开发工具、通讯接口)。 4GL语言具有“面向问题”,“非过程化程度高”等特点,如PowerBuilder、Delphi、Visual Basic等。 浏览器/服务器开发面向Internet应用系统,主要工具有:ASP,JSP,PHP等。Web Service解决异构平台互操作。 2、新一代数据库系统工具的特征:支持与多种数据库连接、支持独立于特定的DBMS开发、支持可视化图形用户界面、支持面向对象的程序设计、拥有完善的数据对象、支持开放性、功能完备和集成化。 3、应用开发工其的发展趋势:采用3层客户/服务器结构、支持Web应用、开放的、构件式的分布式计算环境。 4、当前开发工具存在的问题: (1)开发过程过于复杂,涉及过多低层技术实现。 (2)难于满足要求稳定的大规模的企业级业务处理。 (3)难于快速适应低层技术的更新和业务逻辑变化。 5、基于浏览器/服务器结构软件开发模式 (1)信息系统的层次结构划分:分为表现层(界面)、应用逻辑层(应用处理逻辑)、数据逻辑层(数据存取),关键是应用逻辑层。 (2)浏览器/服务器模式可归纳为三种结构:以Web服务器为中心、以应用服务器为中心(主流软件结构)、以数据库服务器为中心。 Web服务器为中心的结构是早期Web数据库应用开发最主要方式。应用逻辑在Web服务器扩展程序中(CGI,Web API接口),CGI公共网关接口,独立进程在服务器运行,Web API动态加载到服务器进程执行,效率高 与传统客户机/服务器比较,有如下缺点:1)、用户界面受HTML语言限制 2)、Web服务器负载过重 3)、HTTP协议效率低。 以应用服务器为中心的软件结构把web技术与三层客户机/服务器有机结合,是目前信息系统采用的主流软件结构。 该软件结构可分为四部分:客户机、Web服务器、应用服务器、数据库服务器 6、CASE工具 (1) PowerDesigner的6个模块介绍如下: I)PowerDesigner ProcessAnalyst。用于数据分析或数据发现,(产生数据字典、数据流程图等) 2)PowerDesigner DataArchitect。概念层和物理层数据库设计和数据库构造。可生成多种数据库管理系统的数据库。 3)PowerDesigner AppModeler。物理建模和应用对象和敏感组件生成。 4)PowerDesigner MetaWorks。通过模型共享支持高级团队开发。 5)PowerDesigner WarehouseArchitect。数据仓库和数据集市的建模和实现 6)PowerDesigner Viewer。只读、图形化方式访问整个企业模型信息 (2) Delphi支持数据库开发四种技术:BDE、ADO、dbExpress、InterBase技术。 (3) PowerBuilder: PowerBuilder10.0提供对J2EE和Microsoft .NET环境支持, 具有数据窗口(Data Window)”对象专利。为使用.NET开发工具的用户提供了一套DataWindow.NET,为简化应用开发设计,缩短了开发时间,降低对复杂数据处理及对SQL知识的要求。 (4)Microsoft .NET 开发工具:版本:Visual studio .NET 2003(支持. NET 1.1)、Visual studio .NET 2005(支持.NET2.0)、Visual studio .NET 2008(支持.NET3.5) .NET的通用语言框架机制:CLR(Common Language Runtime):在同一项目中支持不同语言开发的组件。 Visual studio .NET 2008新增功能: 1、多定向技术:同一项目绑定多个.NET Framework版本 Visual studio .NET 2008是第一个允许开发人员针对多个.NET Framework版本开发的Visual Studio版本 2、HTML/CSS编辑器 实现Dreamwaver网页编辑功能 3、AJAX和Javascript支持 4、ADO.NET改进(LINQ用来进行数据访问的编程模型。提供对象到关系的映射) 5、Silverlight和XAML(跨平台、跨浏览器的.NET插件,建造丰富的媒体体验和RIA应用)。 6、拼写检查器:加入FXCop拼写检查器 7、数据库发布向导
第三部分 数据库技术的发展
1、数据库技术的发展阶段 (1)第一代数据库系统是指层次模型数据库系统(基于树形结构)和网状模型数据库系统(基于有向图结构) (2)第二代数据库系统指支持关系模型的关系数据库系统(最先由E.F.Codd提出关系模型)。 (3) 面向对象的技术与数据库技术相结合便产生了第三代数据库系统。 2、数据库系统体系结构 (1)集中式数据库系统:数据库的全部功能在一台计算机上运行,不与其他计算机交互。 (2)并行数据库系统:并行操作时,许多操作是同时执行的,通过并行地使用多个CPU来提高处理速度。 所有的处理器共享一个公共的主存储器。并行机器的体系结构模式主要有: 1)共享内存。2)共享磁盘。3)无共享。4)层次模式。它是前几种体系结构的混合。 并行数据库物理存储结构常用的划分技术有轮转法、散列分布和范围分布。 (3)分布式数据库系统 一个分布式数据库系统是一个节点的集合,其中每一个节点是一个独立的数据库系统节点。 1)特点:每一个节点是一个独立的数据库系统节点 分布式数据库系统必须看起来像非分布式系统 分布式数据库系统的用户的操作与非分布式系统完全相同 分布式系统的所有问题是内部的、实现级别的问题,而不是外部的、用户级别的问题 2)分布式数据库系统数据管理技术: 分布式数据库系统的分片是全局的,分配是局部的,分片、分配和副本信息保存在全局目录中 3)分布式查询:可以基于半连接的操作 4)分布式系统的并发控制和恢复解决的问题:多个副本的一致性,分布式提交、分布式死锁。分布式系统具有位置透明性、复制透明性和分片透明性 3、客户机/服务器数据库系统体系结构 客户与服务器之间相连要满足一系列的标准(ODBC开放数据库互连标准和面向JAVA的标准JDBC)。 面向WEB应用的数据库系统:客户机、web server、数据库服务器组成,三层体系结构 4、面向对象的数据库系统 (1)面向对象的概念有:对象、属性、方法、消息、封装、类、继承(子类对象拥有超类对象的全部属性和方法)和多继承等。 (2)对象涉及的概念:对象标识符OID唯一。 对象结构:三种基本类型构造器:原子、元组和集合,其他构造器:列表、包和数组。 (3)继承:多重继承(继承多个超类成员) 复杂对象:结构化复杂对象