资源描述
三级数据库背诵资料
第一章 计算机基础知识
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位);域名 格式 主机名.组名.网点名 .com
11、Internet 提供的服务
(1)WWW服务:采用客户机/服务器模式a、超文本和超媒体是WWW的信息组织形式
b、HTML(超文本标记语言,网页语言)和HTTP(超文本传输协议)是WWW工作的基础
c、URL(统一资源定位器):查找主页。由三部分组成:协议类型,主机名和文献名及途径
比如:http://.edu/index.htm,其中http为协议类型,为主机名,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表达,外部并
第六章 关系数据库标准语言SQL
1、SQL(Structured Query Language)称为结构化查询语言,SQL已经成为关系数据库领域中的一种主流语言,1987年被国际标准化组织(ISO)采纳为国际标准
1992年公布了SQL92(SQL2),1999年公布了SQL93(SQL3,对象-关系SQL),2023年公布SQL2023(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∈1
展开阅读全文