三级数据库背诵资料
第一章 计算机基础知识
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 适应大容量与突发性通信的要求。2 适应综合业务服务的要求。3 开放的设备接口与规范化的协议。4 完善的通
信服务与网络管理。
几种常见的广域网的特点:
X.25:建立在速率低、误码率高的电缆介质上,X.25协议包括差错控制、流量控制和拥塞控制等,由通信子网完成,有时间延迟。
FR(帧中继):建立在速率高、误码率低的光纤上,对X.25协议进行简化,差错控制由用户终端完成。
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)密码体制:加密或密码体制由5部分组成:明文空间(明文的集合)、密文空间(密文集合)、加密密钥空间、解密密钥空间、加密和解密算法
集
单钥加密体制分为两类:流密码(明文逐位加密)和分组密码(明文分组,逐组加密)。
密钥的分配和存储是最关键和困难的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
。
(2)信息认证
有关认证的实用技术中,主要的有数字签名技术、身份识别技术和信息的完整性校验技术(消息认证)
(3)恶意软件:特洛依木马、登录陷阱(网络钓鱼,虚假页面)、逻辑炸弹(在程序中设置的破环代码)
后门陷阱(在程序中设置的绕开登录进入系统)、缓冲区溢出、僵尸网络:一对多进行控制
网络防病毒软件:允许用户设置3中扫描方式: 实时扫描、预置扫描、人工扫描
(4)网络安全
网络安全服务的主要内容:安全攻击、安全机制、安全服务
网络服务攻击分类: 服务攻击和非服务攻击
服务攻击:对服务器发起攻击,丧失服务能力,比如对WWW服务器攻击,主页被篡改。拒绝服务DoS或DdoS分布式拒绝服务。
非服务攻击:对通信设备攻击,使设备瘫痪
网络信息攻击: 攻击类型:截获、窃听、篡改和伪造等
14、操作系统安全
操作系统的安全措施一般可以从隔离、分层和内控3个方面来进行考虑。
隔离可分为:(注意后面的解释)
①物理隔离:使不同安全要求的进程使用不同物理实体。
②时间隔离:使不同进程在不同时间运行。
③逻辑隔离:限制程序存取。
④密码隔离:进程以其他进程不知的方式隐蔽数据和计算。
操作系统安全措施:访问控制、存储保护及文件保护与保密。
访问控制:认证、访问权限、文件保护、审计。存储保护:防止地址越界、防止操作越权。
第二章 数据结构算法
1、数据:数据的基本单位是数据元素。数据元素可由一个或多个数据项组成。数据项是数据的不可分割的最小单位
2、数据结构:数据的逻辑结构、数据的存储结构、数据的运算
3、主要的数据存储方式:顺序存储结构(逻辑和物理相邻,存储密度大)和链式存储结构
顺序存储结构:
顺序存储计算公式 Li=L0+(i-1)×K 顺序结构可以进行随机存取;插人、删除运算会引起相应节点的大量移动
链式存储结构:a、指针域可以有多个,可以指向空,比比顺序存储结构的存储密度小
b、逻辑上相邻的节点物理上不一定相邻。 c、插人、删除等不需要大量移动节点
4、顺序表:一般情况下,若长度为n的顺序表,在任何位置插入或删除的概率相等,元素移动的平均次数为n/2(插入)和(n-1)/2(删除)。
5、链表:线性链表(单链表和双向链表等等)和非线性链表
线性链表也称为单链表,其每个一节点中只包含一个指针域,双链表中,每个节点中设置有两个指针域。(注意结点的插入和删除操作)
6、栈:“后进先出”(LIFO)表。栈的应用:表达式求解、二叉树对称序周游、快速排序算法、递归过程的实现等
7、队列:“先进先出”线性表。应用:树的层次遍历
8、串:由零个或多个字符组成的有限序列。
9、多维数组的顺序存储:
10、稀疏矩阵的存储:下三角矩阵顺序存储
其他常见的存储方法还有三元组法和十字链表法
11、广义表:由零个或多个单元素或子表所组成的有限序列。广义表的元素可以是子表,而子表的元素还可以是子表
12、树型结构:非线性结构。常用的树型结构有树和二叉树。
二叉树与树的区别:二叉树不是树的特殊情况,树和二叉树之间最主要的区别是:二叉树的节点的子树要区分左子树和右子树,即使在节点只有一棵
子树的情况下也要明确指出该子树是左子树还是右子树。
13、树(森林)与二叉树之间的转换(要会转换)
14、二叉树和树的周游(遍历)
二叉树的周游主要有以下3种方式:前序法(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表示,外部并
第六章 关系数据库
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
语言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)使用集
函数
excel方差函数excelsd函数已知函数 2 f x m x mx m 2 1 4 2拉格朗日函数pdf函数公式下载
。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
数据库工作单元与程序工作单元的通信(通过主变量)
游标解决集合操作与记录操作的矛盾
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中的属性或属性组合。若 ,并且不存在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∈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)缩减阶段。事务可以释放锁,但不能获得新锁。
两阶段封锁增强协议:严格两阶段封锁协议和强两阶段封锁协议
严格两阶段封锁协议:在遵循两阶段封锁协议下,要求事务的排他锁在事务提交后才能释放。