分布式数据库总结(1600字)

发表于:2018.1.29来自:www.ttfanwen.com字数:1600 手机看范文

分布式数据库介绍

自学、整理、备忘

它和集中式操作系统的区别在于资源管理、进程通信和系统结构等方面。 分布式程序设计语言用于编写运行于分布式计算机系统上的分布式程序。一个分布式程序由若干个可以独立执行的程序模块组成,它们分布于一个分布式处理系统的多台计算机上被同时执行。它与集中式的程序设计语言相比有三个特点:分布性、通信性和稳健性。 分布式文件系统具有执行远程文件存取的能力,并以透明方式对分布在网络上的文件进行管理和存取。 分布式数据库系统由分布于多个计算机结点上的若干个数据库系统组成,它提供有效的存取手段来操纵这些结点上的子数据库。分布式数据库在使用上可视为一个完整的数据库,而实际上它是分布在地理分散的各个结点上。当然,分布在各个结点上的子数据库在逻辑上是相关的。

主要特点:

?

?

?

? 多数处理就地完成 各地的计算机由数据通信网络相联系 克服了中心数据库的弱点:降低了数据传输代价 提高了系统的可靠性,局部系统发生故障,其他部分还可继续工

? 各个数据库的位置是透明的,方便系统的扩充

? 为了协调整个系统的事务活动,事务管理的性能花费高

体系结构:

分布式数据库系统抽象为4层的结构模式,4层模式划分为全局外层、全局概念层、局部概念层和局部内层,在各层间还有相应的层间映射。这种4层模式适用于同构型分布式数据库系统,也适用于异构型分布式数据库系统

数据分片类型:

1)水平分片:按一定的条件把全局关系的所有元组划分成若干不相交的子集,每个子集为关系的一个片段。

(2)垂直分片:把一个全局关系的属性集分成若干子集,并在这些子集上作投影运算,每个投影称为垂直分片。

(3)导出分片:又称为导出水平分片,即水平分片的条件不是本关系属性的条件,而是其他关系属性的条件。

(4)混合分片:以上三种方法的混合。可以先水平分片再垂直分片,或先垂直分片再水平分片,或其他形式,但他们的结果是不相同的。 条件:

(1)完备性条件:必须把全局关系的所有数据映射到片段中,决不允许有属于全局关系的数据却不属于它的任何一个片段。

(2)可重构条件:必须保证能够由同一个全局关系的各个片段来重建该全局关系。对于水平分片可用并操作重构全局关系;对于垂直分片可用联接操作重构全局关系。

(3)不相交条件:要求一个全局关系被分割后所得的各个数据片段互不重叠(对垂直分片的主键除外)。

数据分配方式:

(1)集中式:所有数据片段都安排在同一个场地上。

(2)分割式:所有数据只有一份,它被分割成若干逻辑片段,每个逻辑片段被指派在一个特定的场地上。

(3)全复制式:数据在每个场地重复存储。也就是每个场地上都有一个完整的数据副本。

(4)混合式:这是一种介乎于分割式和全复制式之间的分配方式。

目前分布式数据库分配的设计,越来越多的采用寻找最优解的算法,比如遗传算法、退火机制等

查询优化:

指在执行分布式查询时选择查询执行计划的方法和关系运算符的实现算法。根据系统环境的不同,查询优化所使用的算法也有所不同,通常分为远程广域网环境和高速局域网环境,其区别主要在网络的带宽。对于一元运算符可以采用集中式数据库中的查询优化方法。而对于二元运算符,由于涉及场地间的数据传输,因此必须考虑通信代价。分布式查询中常见的连接运算执行策略包括:

(1)半连接方法:利用半连接运算的转换方法R∞S=(RµS)∞S。假设场地1和场地2上分别有关系R和关系S,首先在S上执行连接属性上的投影并将结果传输至场地1,在场地1上执行关系R与投影的连接操作,再将结果传输至场地2与关系S执行连接操作。这种方法能够降低执行连接运算时的网络通信代价,主要适用于带宽较低的远程广域网络。

(2)枚举法方法:指枚举关系运算符的物理执行计划,通过对比执行计划的代价选择执行算法的方法。其中,连接运算符的物理执行计划包括嵌套循环方法、哈希连接法和归并连接法。枚举法主要适用于以磁盘IO代价为主的高速局域网环境。

------------------ 完 --------------------------




第二篇:分布式数据库总结 6700字

分布式数据库系统及其应用复习大纲

第一章 分布式数据库系统概

1、理解分布式数据库系统的特点

分布式数据库系统的定义:

分布式数据库系统,通俗地说,是物理上分散而逻辑上集中的数据库系统。分布式数据库

系统使用计算机网络将地理位置分散而管理和控制又需要不同程度集中的多个逻辑单位(通

常是集中是数据库系统)连接起来,共同组成一个统一的数据库系统。

分布式数据库系统的特点:1物理分布性:数据不是存放在一个站点上2逻辑整体性:是

与分散式数据库系统的区别3站点自治性:是与多处理机系统的区别4数据分布透明性5集

中与自治相结合的控制机制6存在适当的数据冗余度7事务管理的分布性

2、能够按照不同标准描述分布式数据库系统的分类

按局部数据库管理系统的数据模型分类:同构性(homogeneous)(分为同构同质型和

同构异质型)DDBS和异构性(heterogeneous)DDBS

按分布式数据库系统的全局控制系统类型分类:全局控制集中型DDBS,全局控制分散型

DDBS,全局控制可变型DDBS。

3、理解分布式数据库中数据的独立性和分布透明性

所谓数据独立性是指用户或用户程序使用分布式数据库如同使用集中式数据库那样,不必

关心全局数据的分布情况,包括全局数据的逻辑分片情况、逻辑片段站点位置的分配情况,

以及各站点上数据库的数据模型等。也就是说,全局数据的逻辑分片、片段的物理位置分配,

各站点数据库的数据模型等情况对用户和用户程序透明。所以,在分布式数据库中分布独立

性也称为分布透明性。

分布透明性包括三个层次:分片透明性(完全分布透明性):映像2

位置透明性(中级分布透明性):映像3

局部数据模型透明性(低级分布透明性):映像4

无分布透明性:异构数据

第二章 分布式数据库系统设计

1、理解分布式数据库的设计目标

分布式数据库设计的目标1分布式数据库的本地性或近地性2控制数据的适当冗余3工作负

荷分布4存储的能力和费用

2、理解水平分片的定义、分类和应用

水平分片是对全局关系执行“选择操作”,把具有相同性质的元组进行分组,构成若干个不

相交的子集。水平分片的方法可归为初级分片和导出分片两类。

初级分片:以关系自身的属性性质为基础,执行“选择”操作,将关系分为若干个不相交的

片段。例子2.1

S(S#,SNAME, AGE, SEX)

Define fragment S1 as select * from where sex=’M’

Define fragment S2 as select * from where sex=’F’

导出分片:全局关系的导出分片不是以其自身的属性性质为基础,而是从另一个关系的属性

性质或水平片段推导出来的。采用导出分片可片可使片段与片段之间的“连接”变得更容易。

例2.3 设全局关系SC(S#,C#,GRADE),S(S#,SNAME, AGE, SEX)若要将SC划分

为男生的各门课成绩和女生的各门课成绩,这就不可能从SC本身的属性性质来执行选择,必须从关系S的属性性质或水平片段来导出。

Define fragment SC1 as select SC.S#,C#,GRADE from SC,S where SC.S#=S.S# and SEX=’M’ Define fragment SC2 as select SC.S#,C#,GRADE from SC,S where SC.S#=S.S# and SEX=’F’

如果S已经进行水平分片,分为SF和SM,分别为男生全体和女生全体,则上述的片段定义可以基于片段SF和SM导出:

Define fragment SC1 as select * from SC where S# in(select SF.S# from SF)

Define fragment SC2 as select * from SC where S# in(select SM.S# from SM)

3、理解垂直分片的定义和应用

一个全局关系的垂直分片是通过“投影”操作把它的属性分为若干组。确定一个全局关系R的垂直分片需要根据应用以“同样方式”(例如具有相同的使用频率)访问的属性来进行分组。

例2.4全局关系EMP(E#,NAME,SAL,TEL,MAGNUM,DEPT),主码为E#。主要应用有:集中在站点3上的管理性应用要求查询雇员的:NAME,SAL,TEL;和从其他站点发出的应用要求查询雇员的:NAME,DEPT,MAGNUM。

解:如果使用垂直分片:EMP1(E#,NAME,SAL,TEL)和EMP2(E#,MAGNUM,DEPT) 则NAME属性只属于一个片段,对于上述的应用,必须进行连接操作和非本地访问。

如果使用垂直群集:EMP1(E#,NAME,SAL,TEL)和EMP2(E#,NAME,MAGNUM,DEPT)

则对于上述应用,不需要执行连接操作,且可实现较好的本地性。

4、能够描述分片的基本原则

完备性原则:要把所有的数据映射到各个片断中

可重构原则:关系分片后的各个片断可重构整个关系

不相交原则:关系分片后的各个片断不能重叠

5、掌握数据片断分配的分类和常用方法

分配的简化模型有:读代价、写代价、存储代价和目标函数。

常用方法:非冗余分配设计方法(包含最佳适应法和其他方法)和冗余分配的设计方法(包含所有得益站点法和附加复制法)

6、掌握最佳适应法和所有得益站点法的基本特点

最佳适应法是对每一种分配方式进行估算,然后选择最佳的站点。这种方法不考虑把一个片段与一个相关片段放在同一站点的“相互”影响。

特点:将片断Ri分配到访问Ri次数最多的那个站点上

Bij= ∑kFkj*Nki

所有得益站点法:首先确定非复制为题的解,然后在全部站点中确定一组站点,给这组站点中的每一个站点分配片断的一个副本,这样做所得到的好处要比为此而付出的费用合算。 特点:将片断Ri的副本分配到所有得益站点j上

Bij= ∑kFkj*Rki -c*∑k ∑j’≠j Fkj*Uki

如果Bij>0,则站点j是得益站点,放置Ri的一个副本

7、能够描述DATAID-D方法设计分布式数据库的各个阶段

需求分析,概念设计,分布要求分析,全局逻辑设计,分布设计,局部逻辑设计,局部物理设计。逻辑设计分为全局逻辑设计和局部逻辑设计

8、能够根据给出的条件对关系进行具体分片,给出正确的限定关系

上边的例子。

第三章 分布式数据库系统中的查询处理和优化

1、掌握分布式数据库查询的分类

局部查询、远程查询和全局查询

2、理解关系代数运算的交换率

?∪1 (∪2 (R)) =∪2 (∪1 (R))

条件:∪1 ∪2 是 选择操作 时总成立,∪1 ∪2 是 投影操作 时要求其属性集合相等 ∪1 与∪2 是投影和选择操作时:πA1,?An(σF(R)) =σF (πA1,?An (R)) 的条件是 F中的属性是 A1, ?. An 的子集。R ∞ S = S ∞ R R × S = S × R

R ∪S = S∪ R R ∩S = S ∩ R R ∝ S ≠? S ∝ R R - S ≠? S - R

3、掌握直接连接优化算法的分类

利用站点依赖信息的算法,分片与复制算法,站点依赖和数据复制结合算法,Hash划分算法

4、掌握半连接运算

见P83-84例子

5、掌握半连接和直接连接查询优化算法的区别

取决于数据传输和局部处理的相对费用;如果传输费用是主要的,采用半连接;如果本地费用是主要的,采用直接连接,

6、理解Hash划分算法的特点

1数据传送量是R;2索引方面, 比片段复制算法更低,3每个站点的连接数据量同站点依赖

7、能够描述基于半连接算法查询优化的基本原理和步骤

基本原理是在传到另一个站点做连接前,消除与连接无关的数据,减少做连接操作的数据量,从而减小传输代价

步骤:1计算每种半连接方案的代价,并从中选择一种最佳方案

2选择传输代价最小的站点,计算采用全连接的方案的代价

3比较两种方案,确定最优方案

8、能够描述基于关系代数等价变换的查询优化算法原理、算法实现步骤

原理:1查询问题——〉关系代数表达式2分析得到查询树3进行全局到片段的变换得到基于片段的查询树4利用关系代数等价变换规则的优化算法,尽可能先执行选择和投影操作 算法:1连接和合并尽可能上提(树根方向)2选择和投影操作尽可能下移(叶子方向) 实现步骤:转换一:1查询问题——〉关系代数表达式。2转换二:关系代数表达式——〉查询树。3转换三:全局查询树分拆成片段查询树。4优化:利用关系代数等价变换规则的优化算法,优化查询树,进而优化查询

9、能够根据提供的条件完成分片和复制算法应用,通过计算判断哪个关系保持分片最优 P88例3-6 考试

第四章 分布式数据库中的事务管理和恢复

1、掌握事务的四大特性

原子性(Atomicity),一致性(Consistency),持久性(Durability).隔离性( Isolation)

2、能够描述两阶段提交协议的工作流程

两阶段提交协议的基本思想是:将本地原子性提交行为的效果扩展到分布式事务, 保证了分布式事务提交的原子性, 并在不损坏Log的情况下, 实现快速故障恢复, 提高DDB系统的可靠性.

2PC把事务的提交过程分为两个阶段:第一阶段:表决阶段,目的是形成一个共同的决定 首先,协调者给所有参与者发送“准备”消息,进入等待状态

其次,参与者收到“准备”消息后,检查是否能够提交本地事务

如能,给协调者发送“建议提交”消息,进入就绪状态

如不能,给协调者发送“建议撤销”消息,可以单方面撤销

第三,协调者收到所有参与者的消息后,他就做出是否提交事务的决定,

只要有一个参与者投了反对票,就决定撤销整个事务,发送“全局撤销”消息给所有参与者,进入撤销状态

否则,就决定提交整个事务,发送“全局提交”消息给所有参与者,进入提交状态 第二个阶段:执行阶段,实现表决阶段的决定,提交或者撤销

3、掌握事务故障的分类

分布是数据库的故障

分布是数据库的故障分为站点故障和通信故障。站点故障包括事务故障、系统故障和介质故障。

事务故障包括计算溢出。完整性被破坏、操作员干预、输入或输出出错等。

通信故障分为报文故障和网络分割故障。

4、掌握分布式数据库事务执行的控制模型的分类

分为三类:主从模型,三角模型,层次控制模型

5、理解日志文件的特点

日志文件保存到磁盘上。日志

Log:记录所有对DB的操作

事务标识:每个事务给定一个具有惟一性的标识符

Log记录项 :

[start_transaction, T]

[write_item, T, x, 旧值, 新值]

[read_item, T, x]

[commit, T]

[abort, T]

写动作:写Log比写数据优先

Log存储:一般存在盘上, 还会定期备份到磁带上

6、理解分布式数据库数据更新常见方法

多站点数据更新、主文本更新法、快照方法

7、理解故障恢复时检查点知识

检查点(Checkpoint):设置一个周期性(时间/容量)操作点

a) Log Buffer内容写入Log数据集

b) 写检查点Log信息:当前活动事务表, 每个事务最近一次Log记录在Log文件中的位置 c) DB Buffer内容写入DB

d) 将本次检查点Log项在Log文件中的地址记入“重启动文件”

8、能够描述两阶段提交协议的特点:2PC协议的重要特点:1允许参与者单方面撤销事务 2一旦参与者确定了提交或撤销协议,它就不能再更改它的提议3当参与者处于就绪状态时,根据协调者发出的消息种类,它可以转换为提交状态或者撤销状态4协调者根据全局提交规则做出全局终止决定5协调者和参与者可能进入互相等待对方消息的状态,使用定时器,保证退出消息等待状态

第五章 分布式数据库中的并发控制

1、理解封锁的基本准则

1事务T在执行任何read_item(x)操作之前,必须先执行read_lock(x)或者write_lock(x)操作

2事务T在执行任何write_item(x)操作之前,必须先执行write_lock(x)操作

3如果事务T执行read_lock(x)操作,数据项x必须没有加锁或者已经加了读锁,否则事务T的这个操作不能进行

4如果事务T执行write_lock(x)操作,数据项x必须没有加锁,否则事务T的这个操作不能进行

5事务T在完成所有read_item(x)和write_item(x)操作之后,必须执行unlock(x)操作 6如果事务T已经持有数据项x上的一个读锁或者一个写锁,那么它不能再执行read_lock(x)操作

7如果事务T已经持有数据项x上的一个读锁或者一个写锁,那么它不能再执行write_lock(x)操作

8如果事务T没有持有数据项x上的一个读锁或者一个写锁,那么它不能执行unlock(x)操作

2、理解基于时标的并发控制方法

并发控制方法包含全局时标和局部时标

3、掌握死锁检测的方法分类

局部死锁:仅在一个站点上发生的死锁

全局死锁:涉及多个站点的死锁(即等待圈由多个站点组成)

4、理解一致性调度和可串行化调度的特点

一致性调度:调度可以使得数据库从一个一致性状态转变为另一个一致性状态,则称调度为一致性调度

可串行化调度:如果一个调度等价于某个串行调度,则该调度称为可串行化调度。 也就是说,该调度可以通过一系列非冲突动作的交换操作使其成为串行调度

5、能够描述死锁发生的四个必要条件:会考试

互斥条件:事务请求对资源的独占控制

等待条件:事务已持有分配给它的资源, 又去申请并等待别的资源

非抢占条件:直到资源被持有它的事务释放前, 不可能将资源强制从持有它的事务夺去 循环等待条件:存在事务互相等待的等待圈

6、能够列举并发控制算法

悲观并发控制法和乐观并发控制法

悲观并发控制法有基于封锁的算法、基于时标排序的算法和混合算法。乐观的方法也可分为基于封锁或基于时标排序的算法。

第六章 分布式数据库中的可靠性

1、理解可靠性和可用性的含义与关系

可靠性:指数据库在一给定时间间隔内不产生任何失败的概率。它强调数据库的正确性,要求数据库正确运行。通常用来描述不可修复的系统。

可用性:强调的是当需要访问数据库时,它是可用的。指在给定的时间点系统可以正常运行的概率。通常用于描述那些可以修复的系统。

两者关系:通常认为构建可用性的系统比可靠性的系统容易。两者是统一的,可靠性高的系统可用性自然是好的。

两者又是矛盾的,增加错误风险的情况下,可提高可用性;采用太谨慎的策略会降低可用性

2、理解两阶段提交协议如何转为三阶段提交协议

2PC中的状态: C(提交)状态是可提交状态, 其它为不可提交状态。Ready 状态是不可提交状态。Wait状态是不可提交状态。它们都侵犯了非阻断协议的充要条件, 从而考虑改变2PC, 使其满足非阻断协议条件。在Wait 和 Commit 之间, 或者在Ready和Commit之间加入另一种状态作为缓冲状态, 从而有了3PC协议

3、掌握分布式可靠性协议的组成。简答

可靠性协议组成 :包括提交、终结、恢复协议。提交和恢复协议详细说明提交命令和恢复命令是如何执行的。终结协议是分布式系统特有的协议。在执行一个分布式事务时,若一个Site故障,希望其它Site也停止该事务。处理这种情况的技术就称为终止协议。

4、理解发生网络分割时冗余分布式数据库和非冗余数据库采用的处理协议

非冗余数据库:任何需要访问存储在另一网络区域里的数据项的新事务都被阻断, 等待网络修复。位于同一区域里的数据项的并发访问由并发控制算法处理。网络分割时由提交协议处理

冗余数据库:分割时, 副本可能位于不同的区域。由复制协议处理

5、能够描述三阶段提交协议中事务协调者和参与者的状态转换

P188页图6.4 考试

6、能够采用版本号法进行不一致性检测,并且应用于实际。大题

需要首先发现哪些数据部分已经不一致(不一致性检测)

然后根据发生的情况,给这些部分赋予一个最合理的值(不一致性的解法)

检测方法:采用版本号

P200页例子

第七章 分布式数据库的安全性与目录管理

1、理解分布式数据库的动态授权语句的形式

1用户对自己生成的关系拥有全权, 通过授权和收权语句完成对数据开放, 保密的存取权授予(Grant, Revoke)。授权语句授权语句:Grant <权> To <用户> With Grant Option 2访问表(AT)法

2、理解数据库的安全性含义

数据库安全性包括两个方面的内容:数据库数据的保密性和安全性。


第三篇:数据库总结 5900字

数据库老师画的重点

数据库:数据库是长期存储在计算机内、有组织、可共享的大数据集合。

数据库操纵功能:查询select、插入insert、删除delete、修改update

数据库系统的特点:1数据结构化2数据的共享高,冗余度低,易扩充3数据独 立性高4数据由DBMS统一管理和控制

数据模型的组成要素:数据结构、数据操作、完整性约束

概念模型:要出大体,画图

信息世界中的基本概念————

1、实体:客观存在并可以相互区别的事物称为实体

2、属性:实体所具有的某一特性

3、码(key):唯一标识实体的属性集称为码

4、域(domain):域是一组具有相同数据类型的集合

5、实体型(entity type):具有相同属性的实体必然具有共同的特征和性质。用实体名

及属性名集合来抽象和刻画同类实体,称为实体型。

6、实体集(entity set):同一类型的实体的集合

7、联系:在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中

反应为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指

组成实体的各属性之间的联系;实体之间的联系通常是指不同实体集之间的联系

最常用的数据模型:

1、层次模型(Hierarchical Model)

2、网状模型(Network Model)

3、关系模型(Relational Model)

4、面向对象模型(Object Oriented Model)

5、对象关系模型(Object Relational Model)

其中层次模型和网状模型统称为格式化模型

数据库系统的三级模式结构:

1、模式(scheme):模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,

是所有用户的公共数据视图。他是数据库系统模式结构的中间层,

既不设计涉及数据的物理存储细节和硬件环境,也与具体的应用程

序、所使用的应用开发工具及高级程序设计语言无关。

2、外模式(external schema):外模式也称为子模式(subschema)或用户模式,他是数

据库用户(包括应用程序员和最终用户)能看见和使用

的局部数据的逻辑结构和特征的描述,是数据库用户的

数据视图,是与某一应用有关的数据的逻辑表示。

3、内模式(internal scheme):内模式也称存储模式(storage schema),一个数据库只有

一个内模式。他是数据库物理结构和存储方式的描述,是

数据在数据库内部的表达方式。

数据库的二级映像功能与数据库独立性————

为了能够在系统内部实现这3个抽象层次的联系和转换,数据库管理系统在这三个模式

之间提供了两层映像:

·外模式/模式 映像

·模式/内模式 映像

正是这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性

关系(relation):D1*D2*D3··*Dn的子集叫做在域D1、D2、D3···Dn上的关系,表示 为R(D1、D2、D3···Dn)

这里的的R表示关系的名字,n是关系的目或度(degree)

关系中每个元素是关系中的元组,通常用t表示

当n=1时,称关系为单元关系(unary relation),或一元关系

当n=2时,称该关系为二元关系(binary relation)

关系是笛卡尔积的有限子集,所以关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域。由于域可以相同,为了加以区分,必须对每列起一个名字,称为属性(attribute)。n目关系必有n个属性。

若关系中的某一属性组的值能够唯一的标识一个元组,则称该属性组为候选码(candidate key)

若一个关系有多个候选码,则选定其中一个为主码(primary key)

候选码的诸属性称为主属性(prime attribute)。不包含在任何候选码中的属性称为非主属性(non-prime attribute)或非码属性(non-key attribute)

P46 没有搞明白干嘛使得!!!!!!!!!!!!!!!!!!!!!

关系的三类完整性约束:实体完整性、参照完整性、用户定义的完整性

实体完整性和参照完整性被称作关系的两个不变性

1、实体完整性(entity integrity):主码中的属性即主属性不能取空值

2、参照完整性(referential integrity):

若属性(或属性组)F是基本关系R的外码,它与基本关系S的的主码K相对应(基 本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:

·或者取空值(F的每个属性值均为空值)

·或者等于S中某个元组的主码值

SQL(Structured Query Language),即结构化查询语言,是关系数据库的标准语言。 SQL 的特点:

1、综合统一

2、高度非过程化

3、面向集合的操作方式

4、以同一种语法结构提供多种使用方式

5、语言简洁、易学易用

SQL的动词:

数据查询:select

数据定义:create、drop、alter(房间)修改表

数据操纵:insert、update(家具)修改数据、delete

数据控制:grant、revoke

绘制ER图————

在ER图中有如下四个成分:

矩形框:表示实体,在框中记入实体名。

菱形框:表示联系,在框中记入联系名。

椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下 划一下划线。

连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上 标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对

多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体 连线方向各写N,M。

基本表是本身独立存在的表,在SQL中一个关系就对应一个基本表。一个(或多个)基本表对应一个存储文件,一个表可以带若干索引,索引也可以放在存储文件中。

存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。

视图是从一个或几个基本表导出的表。它本身不独立存储在数据库中,即数据库中只存放视图的定义而不存放视图对应的数据。这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。视图在概念上与基本表等同,用户可以在视图上再定义视图。

基本表的定义、删除与修改:

1、定义基本表:create table ***()

2、定义主键:Primary key == not null (中间不用连接符号)unique

3、定义外码的语句:foreign key (某个字段)references 某表(某字段)

4、定义主码语句:primary key(***,***)

5、修改基本表:alter table 某表名 add 列名<数据类型>[完整性约束]

drop <完整性约束名>(字段名)

alter column<列名><数据类型>

6、删除表:drop table 表名[restrict | cascade级联删除]

7、建立索引:create [unique] [clustered] index 索引名

on 表名(列名[asc | desc],······)

·clustered 表示是聚簇索引

·unique表明此索引的每一个索引值只对应唯一的数据记录

·用户可以在最经常查询的列上建立聚簇索引以提高查询效率

·在一个基本表上只能建立一个聚簇索引

·建立局促索引后,更新该索引列上的数据时,往往导致表中记

录的物理顺序的额变更,代价较大,因此对于经常更新的列不

宜建立聚簇索引

8、删除索引:drop index <索引名>

上机的时候不太一样:drop index 表名。索引名字

9、数据的查询:

select [all | distinct] <目标列表达式>,······

from 表名或者视图名,···

where 条件表达式

group by 列名1 [having 条件表达式]

order by 列名2 [asc | desc]

·如果有group by 子句,则结果按“列名1”的值进行分组,该属性列值相

等的元组为一个组。通常会在每组中作用聚集函数。如果group by 子句带 having短语,则只有满足指定条件的组才予以输出。

·如果有order by 子句,则结果表按“列名2”的值的升序或降序排序

·select Sname Name,‘Year of Birth:’Birth,20xx-Sage Birthday,lower

(Sdept) Department

from Student

lower表示小写

常用的查询条件————

比 较:大于、等于、小于、不等于(< >/!=)、大于/小于等于、不小于、不大于、 not+上述比较运算符

确定范围:between and ,not between and

确定集合:in ,not in

字符匹配:like,not like

空 值:is null ,is not null

多重条件(逻辑运算):and,or,not

例子————

·select Sname,Sage

from Student

where Sdept (not) in (‘cs’,‘ma’,‘is’)

字符匹配:[not] like ‘字符串’[escape‘换吗字符’] 百分号表示任意长度、下划线表 示任意单个字符

聚集函数————

count ([distinct | all] *) 统计元组个数

count ([distinct| all] 列名) 统计一列中值的个数

sum ([distinct| all] 列名) 计算一列值的总和(此列必须是数值型) avg ([distinct| all] 列名) 计算一列的平局值(此列必须是数值型) max ([distinct| all] 列名) 求一列中的最大值

min

·如果指定distinct短语,则表示在计算时要取消指定列中的重复值。如果不指定distinct 短语或者指定all短语(all为缺省值),则表示不取消重复。

·注意在聚集函数遇到空值时,除count(*)外,都跳过空值而只处理非空值。 ·注意where子句中不能用聚集函数作为条件表达式

group by子句————

where 子句与having 短语的区别在于作用对象不同。Where 子句作用对象作用于基本表或试图,从中选择条件的元组。Having短语作用于组,从中选择满足条件的组。

例子:select Sno from SC

group by Sno

having count(*)>3

查询了选修3门以上课程的学生学号

链接查询——————

例子:

非自然链接

·select Student.*,SC.*

from Student,SC

Where Student.Sno=SC.Sno

自然链接

·select Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade

from Student,SC

where Student.Sno=SC.Sno

自身链接

·select FIRST.Cno,SECOND.Cpno

from Course FIRST ,Course SECOND

where FIRST.Cpno=SECOND.Cpno

外连接

·select Student.Sno,Sname,Sage,Sdept,Cno,Grade

from Student left outer join SC

on Student.Sno=SC.Sno

·左外链接列出左边关系中所有的元组,右外连接列出右边关系中的所有元组

嵌套查询

·select Sname from Student

where Sno in (select Sno from SC where Cno=‘2’)

·找出每个学生超过他选修课程平均成绩的课程号

Select Sno,Cno

From SC x

Where Grade >= (select avg (Grade)

From SC y

Where y.Sno=x.Sno

授权————

Grant 权限 ,·····

On 对象类型 对象名 ,·····

To 用户,·····

[with grant option]只一句表示权限的传递

例子:

·Grant all privileges

On Student,Course

To U1,U2

·grant update (Sno),select

on Student

to u4

·revoke update(Sno)

on table Student

from u4

一个满足BCNF的关系模式有:

·所有非主属性对每一个码都是完全函数依赖 3NF

编辑 3NF,即第三范式是要求一个数据库表中不包含已在其它表中已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。简而言之,第三范式就是属性不依赖于其它非主属性。 满足第三范式(3NF)必须先满足第二范式(2NF)

2NF(第二范式)

第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被唯一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。如图3-2 员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是唯一的,因此每个员工可以被唯一区分。这个惟一属性列被称为主关键字或主键、主码。

更多类似范文
┣ 数据库总结 6100字
┣ 数据库总结 2800字
┣ 数据库总结 4800字
┣ 更多数据库总结
┗ 搜索类似范文

更多相关推荐:
数据库总结1600字

1DBMS系统的功能:数据定义功能,数据操纵,优化和执行,数据安全和完整性,数据恢复合并发,数据字典,性能2数据库系统的发展阶段A文件管理:编写应用程序不方便,数据冗余不可避免,应用程序依赖性,不支持对文件的并…

数据库总结400字

数据库增删改查代码插入数据:Insert[into]表名(列名多个用,号分隔)values(值名)提取数据放到已存在的新表中:Insertinto插入的新表名(列名)Select(值名)From(原表名)提取数…

数据库总结3500字

1.什么是数据?数据有什么特征?数据和信息有什么关系?答:数据是用于载荷信息的物理符号。数据的特征:1数据有“型”和“值”之分;2数据受数据类型和取值范围的约束;3数据有定性表示和定量表示之分;4数据应具有载体…

专栏推荐
大家在关注

地图地图CC