数据库复习经典总结

2023-07-07 版权声明 我要投稿

无论是开展项目,还是记录工作过程,都需要通过总结的方式,回顾项目或工作的情况,从中寻找出利于成长的经验,为以后的项目与工作实施,提供相关方面的参考。因此,我们需要在某个时期结束后,写一份总结,下面是小编为大家整理的《数据库复习经典总结》的文章,希望能够很好的帮助到大家,谢谢大家对小编的支持和鼓励。

第1篇:数据库复习经典总结

数据库复习总结

数据管理技术的发展经历了3个阶段:人工管理阶段、文件系统阶段、数据库管理阶段。 数据库的三级模式由[模式]、[外模式]、[内模式]组成。(模式又叫概念模式、逻辑模式,外模式又叫子模式、用户模式,内模式又叫存储模式) 外模式/模式映像反映了数据的逻辑独立性,模式/内模式映像反映了数据的物理独立性 数据模型由数据结构、数据操作、和完整性约束三要素组成

关系模型是第二代数据库的主要特征,其结构比较简单,数据本身以二维表形式进行存储,表之间的数据联系是通过一个表的码与另一个表的码的连接来实现的。 数据逻辑独立性是指模式改变,外模式和应用程序不变。 物理独立性是指内模式改变,模式不变

数据库系统中,用概念模式(即模式)描述全部数据的整体逻辑结构

数据库系统中用户使用的数据视图用外模式描述,它是用户与数据库系统的接口 ∏是投影运算,倒写的6字是选择运算 笛卡尔积重点看一下P27中间部分举的例子 记录是字段的有序集合

字段:标记实体属性的命名单位称为字段如学生有学号、姓名、年龄、性别等字段 元祖:二维表中的行即记录值称为元祖

增删改查语句对应的关键字分别为INSERT、DELETE、UPDATE、SELECT 修改表的结构使用的是ALTER TABLE语句添加一列用ADD关键字、修改一列用ALTER COLUMN 删除一列用DROP COLUMN 如ALTER TABLE student ADD 身份证号 VARCHAR(18);表示修改student表的结构,在其中添加身份证号一列(主)数据文件的扩展名为.mdf ,日志文件的扩展名是.ldf 开启事务:BEGIN TRANSATION 提交事务:COMMIT TRANSACTION 回滚事务:ROLLBACK TRANSACTION 主键:PRIMARY KEY 外键:FOREIGN KEY 实体之间的联系有1:

1、1:m、m:n,即1对1,一对多、多对多 聚合函数:

SUM:求和 MAX:求最大值 COUNT:计数 AVG:求平均值 GRANT:授权 REVOKE:收回权限 CONSTRAINT:约束

数据库设计的步骤:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、数据库实现阶段、数据库的运行与维护阶段

事务具有四个特征原子性、一致性、隔离性、持久性 P116参考答案:

1. 题干:数据库中有四张表客户表:Customers、代理人表Agents、产品表Products和订单表Orders;

其中客户表Customers各属性如下:

Cid 客户编号、Cname客户名、City客户所在城市 代理人表Agents各如下属性

Aid代理人编号、Aname代理人姓名、City代理人所在城市 产品表Products中各属性如下

Pid产品编号、Pname产品名称、Quantity产品销售数量、Price产品单价 订单表Orders表中各属性如下 Ord_no订单号、Month订单月份,Cid客户编号、Aid代理人编号、Pid产品编号、Qty订货数量、Amount订货总金额;

根据以上四个表编写存储过程实现如下要求:

①给指定产品编号的单价增加0.5元

CREATE PROCEDURE pro_update_products @pid CHAR(10) AS UPDATE products SET price=price+0.5 WHERE pid=@pid GO ②插入一个新的产品记录到产品表Products中

CREATE PROCEDURE pro_insert_products @pid CHAR(10), @pname VARCHAR(30), @quantity INT, @price FLOAT AS INSERT INTO products VALUES(@pid,@pname,@quantity,@price) GO

③查询某客户通过某代理订购产品的订货总量 CREATE PROCEDURE pro_Query_Amount @cname VARCHAR(20), @aname VARCHA(20) AS SELECT Amount FROM Customers c,Orders o,Agents a WHERE c.cid=o.cid AND a.aid=o.aid AND c.cname=@cname AND a.anane=@aname GO

2.根据第一题的四个表用触发器实现以下操作

①当向产品表products插入数据时,规定产品单价不得低于0.5元,若低于0.5元则统一调整为0.5元,同时提示用户“产品单价不得低于0.5元” CREATE TRIGGER tri_products ON products FOR INSERT AS DECLARE @pid CHAR(10),@price FLOAT SELECT @pid=pid,@price=price FROM INSERTED IF @price<0.5 BEGIN UPDATE products SET price=0.5 WHERE pid=@pid PRINT ‘产品单价不得低于0.5元’ END GO

②当订单表Orders中的订货数量有变动时,触发器自动修改该项订单的订货总金额Amount CREATE TRIGGER tri_orders ON Orders FOR UPDATE AS DECLARE @ord_no CHAR(10),@pid CHAR(10),@Qty INT,@price FLOAT IF UPDATE(Qty) BEGIN SELECT @ord_no,@pid=pid,@Qty=Qty FROM INSERTED SELECT @price=price FROM products WHERE pid=@pid UPDATE Orders SET Amount=@price*@Qty WHERE Ord_no=@ord_NO END GO

第四章第2题的参考答案P91 设有三个关系

S(S#,SNAME,SEX,AGE) SC(S#,C#,GRADE) C(C#,CNAME,TEACHER) 用select语句完成下列查询

①检索LIU老师所受课程的课程号和课程名

SELECT C#,CNAME FROM C WHERE TEACHER=’LIU’;

②检索年龄大于23岁的男同学的学号和姓名

SELECT S#,SNAME FROM S WHERE SEX=’男’ AND AGE>23;

③检索学号为S3的学生所学课程的课程名与授课老师名

SELECT CNAME,TEACHER FROM SC,C WHERE SC.C#=C.C# AND SC.S#=’S3’;

④检索至少选修LIU老师所受课程中一门课程的女学生姓名

SELECT DISTINCT SNAME FROM S,SC WHERE S.SEX=’女’ AND S.S#=SC.S# AND SC.C# =ANY( SELECT C# FROM C WHERE TEACHER=’LIU’); ⑤检索WANG同学不学课程的课程号

SELECT C# FROM C WHERE C# NOT IN(SELECT C# FROM SC,S WHERE SC.S#=C.C# AND S.SNAME=’WANG’);

⑥检索至少选修两门课的学生学号

SELECT S# FROM SC GROUP BY S# HAVING COUNT(C#)>=2; ⑦检索全部学生都选修的课程的课程号和课程名

SELECT C#,CNAME FROM C WHERE C# IN(SELECT C# FROM SC WHERE S#=ALL(SELECT S# FROM S)) ⑧检索选修课程包含LIU老师所受全部课程的学生学号

SELECT S# FROM SC WHERE C# =ALL(SELECT C# FROM C WHERE TEACHER=’LIU’)

第2篇:空间数据库期末复习重点总结

一、数据管理的发展阶段

1、人工管理阶段

2、文件系统阶段

3、数据库管理阶段

注意了解各阶段的背景和特点

二、数据库系统的特点

1、面向全组织的复杂的数据结构

2、数据的冗余度小,易扩充

3、具有较高的数据和程序的独立性:数据独立性

数据的物理独立性 数据的逻辑独立性

三、数据结构模型三要素

1、数据结构

2、数据操作

3、数据的约束性条件

四、数据模型反映实体间的关系

1、一对一的联系(1:1)

2、一对多的联系(1:N)

3、多对多的联系(M:N)

五、数据模型:

是数据库系统中用于提供信息表示和操作手段的形式构架。

数据库结构的基础就是数据模型。数据模型是描述数据(数据结构)、数据之间的联系、数据语义即数据操作,以及一致性(完整性)约束的概念工具的集合。 概念数据模型:按用户的观点来对数据和信息建模。ER模型

结构数据模型:从计算机实现的观点来对数据建模。层次、网状模型、关系

六、数据模型的类型和特点

1、层次模型:

优点:结构简单,易于实现

缺点:支持的联系种类太少,只支持二元一对多联系

数据操纵不方便,子结点的存取只能通过父结点来进行

2、网状模型:

优点:能够更为直接的描述世界,结点之间可以有很多联系

具有良好的性能,存取效率高 缺点:结构比较复杂

网状模型的DDL、DML复杂,并且嵌入某一种高级语言,不易掌握,不易使用

3、关系模型:

特点:关系模型的概念单一;(定义、运算)关系必须是规范化关系;

在关系模型中,用户对数据的检索操作不过是从原来的表中得到一张新的表。 优点:简单,表的概念直观,用户易理解。

非过程化的数据请求,数据请求可以不指明路径。

数据独立性,用户只需提出“做什么”,无须说明“怎么做”。 坚实的理论基础。

缺点:由于存储路径对用户透明,存储效率往往不如非关系数据模型

4、面向对象模型

5、对象关系模型

七、三个模式和二级映像

1、外模式(Sub-Schema):用户的数据视图。是数据的局部逻辑结构,模式的子集。

2、模式(Schema):所有用户的公共数据视图。是数据库中全体数据的全局逻辑结构和特性的描述。

3、内模式(Storage Schema):又称存储模式。数据的物理结构及存储方式。

4、外模式/模式映象:定义某一个外模式和模式之间的对应关系,映象定义通常包含在各外模式中。当模式改变时,修改此映象,使外模式保持不变,从而应用程序可以保持不变,称为逻辑独立性。

5、模式/内模式映象:定义数据逻辑结构与存储结构之间的对应关系。存储结构改变时,修改此映象,使模式保持不变,从而应用程序可以保持不变,称为物理独立性。

八、数据视图

数据库管理系统的一个主要作用就是隐藏关于数据存储和维护的某些细节,而为用户提供数据在不同层次上的抽象视图,即不同的使用者从不同的角度去观察数据库中的数据所得到的结果—数据抽象。

九、规范化

1、几个概念

候选码(候选关键字):如果一个属性(组)能惟一标识元组,且又不含有其余的属性,那么这个属性(组)称为关系的一个候选码(候选关键字)。 码(主码、主键、主关键字):从候选码中选择一个唯一地标识一个元组候选码作为码 主属性:任何一个候选码中的属性(字段)非主属性:除了候选码中的属性外码:关系模式R中属性或属性组X并非R的码,但X是另一个关系模式的码,则称X是R的外部码,简称外码。

2、函数依赖

(1)设R(U)是一个属性集U上的关系模式,X和Y是U的子集。若对于R(U)的任意一个可能的关系r,r中不可能存在两个元组在X上的属性值相等,而在Y上的属性值不等,则称 “X函数确定Y”或“Y函数依赖于X”,记作X→Y。 X称为这个函数依赖的决定属性集(Determinant)。Y=f(x)

(2)在关系模式R(U)中,对于U的子集X和Y,

如果X→Y,但Y  X,则称X→Y是非平凡的函数依赖 若X→Y,但Y  X,

则称X→Y是平凡的函数依赖 (3)在关系模式R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’/ →Y, 称Y完全函数依赖于X,记作XF→Y。若X→Y,但Y不完全函数依赖于X,则称Y部分函数依赖于X,记作XP→Y。

(4)在关系模式R(U)中,如果X→Y,Y→Z,且Y X,Y→X,则称Z传递函数依赖于X。记为X传递→Z。注: 如果Y→X, 即X←→Y,则Z直接函数依赖于X。

3、范式

范式是符合某一种级别的关系模式的集合

(1)范式种类:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、BC范式(BCNF)、第四范式(4NF)、第五范式(5NF)

1NF2NF3NFBCNF4NF5NF(2)各种范式之间的联系:

(3)定义:

1NF:如果一个关系模式R的所有属性都是不可分的基本数据项,则R∈1NF。

存在的问题:插入异常、删除异常、数据冗余度大、修改复杂

2NF:若关系模式R∈1NF,并且每一个非主属性都完全函数依赖于R的码,则R∈2NF。(所有非主属性完全依赖每个候选关键字。)

3NF:关系模式R 中若不存在这样的码X、属性组Y及非主属性Z(Z  Y), 使得X→Y,Y→Z成立,Y→X,则称R ∈ 3NF。(所有非主属性既不部分依赖于码也不传递函数依赖码。)

BCNF:设关系模式R∈1NF,如果对于R的每个函数依赖X→Y,若Y不属于X,则X必含有候选码,那么R∈BCNF。(每一个决定属性集(因素)都包含(候选)码,R中的所有属性(主,非主属性)都完全函数依赖于码,R∈3NF。) 性质:a、所有非主属性都完全函数依赖于每个候选码

b、所有主属性都完全函数依赖于每个不包含它的候选码 c、没有任何属性完全函数依赖于非码的任何一组属性

多值依赖:设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为非平凡的多值依赖。

4NF:关系模式R(U,F)∈1NF,如果对于R的每个非平凡多值依赖XY(Y不包含于X),X都含有候选码,则R ∈ 4NF

范式关系:

十、数据库

数据库:数据库就是为了一定的目的,在计算机系统中以特定的结构组织、存储、管理和应用的相关联的数据集合。空间数据库:空间数据库是存取、管理空间信息的数据库。 空间数据库管理系统:空间数据库管理系统是指能够对物理介质上存储的地理空间数据进行语义和逻辑上的定义;

1、提供必须的空间数据查询、检索和存取功能;

2、能够空间数据进行有效的维护和更新的一套软件系统。 空间数据库应用系统:提供给用户访问和操作空间数据库的用户界面,是应用户数据处理需求而建立的具有数据库访问功能的应用软件。 一般需要进行二次开发。

数据库系统组成:数据库、数据库管理系统、应用系统、数据库管理员

空间信息的特征:

(1)几何信息:描述了事物在空间中的位置及所占据的范围

将地球表面以投影方式转换为平面

通过平面几何来抽象描述和研究事物的位置和范围 用图形和符号的方式来描绘这些空间相关的事物

(2)拓扑信息:研究空间相关的事物本身或者事物之间的在空间坐标变换下的不变性质

事物本身的内外关系

事物之间的相离、相接、相交 事物之间相连的布局

(3)属性信息:与位置范围无关的其它信息

描述了事物本身的内在性质和外在表现 事物之间的非位置关系

空间数据库管理系统三层体系结构及每层的代表软件:

标准DBMS存储空间数据的局限性

(1)空间数据记录是变长的(如点数的可变性),而一般的数据库都只允许把记录的长度设定为固定;

(2)在存储和维护空间数据拓扑关系方面存在着严重缺陷;

(3)一般都难以实现对空间数据的关联、连通、包含、叠加等基本操作; (4)不能支持复杂的图形功能;

(5)单个地理实体的表达需要多个文件、多条记录,一般的DBMS也难以支持; (6)难以保证具有高度内部联系的GIS数据记录需要的复杂的安全维护。

GIS的发展演化

空间数据库管理系统与传统数据库的区别: (1)数据量大

(2)需要处理与传统数据库中数据性质相似的属性数据和空间位置数据及它们之间的联系 3)对数据的检索涉及空间分析方法(4)数据应用广泛,不局限于某个部门

GIS发展三个阶段

1、 第一代GIS(从60年代中期到80年代的中后期,是GIS软件从无到有、从原型到产品的阶段)

技术特点:以图层作为处理的基础

以系统为中心 单机、单用户

全封闭结构支持二次开发能力非常弱

在主要实现技术上,以文件系统来管理几何数据与属性数据 应用领域基本上集中在资源与环境领域的管理类应用

2、第二代GIS(从80年代末到90年代中期,是GIS软件成熟和应用快速发展的时期) 技术特点:以图层作为处理基础

引入网络技术,多机、多用户 以系统为中心

支持二次开发的能力有所增强

以商用DBMS管理属性数据,但几何数据仍用文件系统管理 应用领域开始有较大范围的扩展,但基本上是管理类应用。

3、第三代GIS(90年代中期开始,估计将延续10年或稍长的时间) 技术特点:仍然以图层为处理的基础,但面临不断演化

引入了Internet技术,开始向以数据为中心的方向过渡,实现了初步的(浏览型或简单查询型)的B/S结构

开放程度大幅度增加,组件化技术改造逐步完成

逐渐重视元数据问题,空间数据共享、服务共享和GIS系统互连技术不断发展 GIS的标准化问题备受重视

实现空间数据与属性数据的一体化存储和初步的一体化查询,并将不断完善 应用领域迅速扩大,应用深度不断提高,开始具有初步的分析决策能力。

展望新一代GIS 面向空间实体及其时空关系的数据组织与融合 统一的海量存储、查询和分析处理 有效的分布式空间数据管理和计算 一定的三维和时序处理能力 强大的应用集成能力

灵活的操纵能力和一定的虚拟现实表达

空间数据库管理系统与GIS的联系和区别 空间数据库管理系统一般由专业GIS软件提供

GIS—处理地理数据——以地球表面为基本参照框架的空间数据

SDBMS——处理空间数据( 空间数据包括地理数据,地理数据是空间数据的子集) GIS促进SDBMS的研究与发展

空间信息模型:

基于场的模型:用于表示具有连续的空间变化的情况,形状不定的现象,采用栅格数据结构。

基于对象的模型:用于表示具有固定形状的空间实体/概念,描述空间上离散的空间对象。采用矢量数据结构

空间数据库设计的三个步骤

空间数据库的设计是指在现在数据库管理系统的基础上建立空间数据库的整个过程。 概念模型:按用户的观点从现实应用中抽象出事物以及事物之间的联系 逻辑建模:建立概念和联系的逻辑结构

物理设计建模:对逻辑结构进行具体实现方面的安排和考虑;

存储组织、索引、内存管理……

E-R图:

实体:现实中或者概念上独立存在的事物或者对象,用矩形表示 属性:刻画实体性质的数值或描述,用椭圆表示 联系:表达实体间的关联,用菱形表示 重点:E-R图设计

扩展E-R模型:象形图

1、 实体象形图:

象形图:象形图是一种将对象插在方框内的微缩图表示,这些微缩图用来扩展ER图,并插到实体矩形框中的适当位置。

形状:形状是象形图中的基本图形元素,它代表着空间数据模型中的元素。

基本形状: 复合形状: 导出形状: 备选形状: 任意形状:

用户自定义形状:

2、 联系象形图:

联系象形图用来构建实体间联系的模型

OGIS的4类几何体(4类空间数据模型): 点——0维对象

线——1维对象,线串——2个或多个点表示 面——2维对象,多边形

几何体集合——表示复杂形状,3类:

多点 多线 多面

几何体集合——保证——几何操作的闭合

常见拓扑属性:

endpoint(point, arc)

点是弧的端点 simple-nonself-intersection(arc)

非自交的弧

on-boundary(point, region)

点在区域的边界上 inside(point, region)

点在区域内部 outside(point, region)

点在区域之外

open(region)

区域是开域(不包括边界) close(region)

区域是闭域(包括边界)

connected(region)

区域是连通域(区域上任2点,都有路径相连) inside(point, loop)

点在环中 crosses(arc, region)

弧穿过区域 touches(region, region)

区域与区域相邻 touches(arc, region)

弧与区域相邻 overlap(region, region)

区域与区域重叠 常见非拓扑属性:

Euclidean-distance(point, point)

2点间的欧氏距离 direction(point, point)

点在点的东面

length(arc)

弧的长度(单位向量长度为1个单位)

perimeter(area)

区域的周长(单位正方形的周长为4个单位) area(region)

区域的面积(单位正方形的面积为1个平方单位)

九交模型:

定义平面上2对象之间的拓扑关系 对象的3个部分: 内部——A° 边界——∂A 外部——A-

九交矩阵:将两个几何形的内部、边界、外部分别两两做相交操作,操作的结果记为矩阵元素取值

矩阵元素取值: ABABAB0——交为空 9(A,B)ABABAB1——交为非空 ABABAB

九交矩阵可确定的二元拓扑关系种类:29=512 可实现的二元拓扑关系种类:8(相离(disjoint)、相接(meet)、交叠(overlap)、相等(equal)、包含(contain)、在内部(inside)、覆盖(cover)、被覆盖(covered by))

关系代数(形式化的语言)

关系代数用到的运算符包括四类:集合运算符、专门的关系运算符、算术比较符、逻辑运算符。

并、差、交、笛卡尔积

选择:满足条件的元组,即行 投影:选取属性列 连接:等值投影

自然连接(特殊的等值连接,要求两个关系中进行比较的分量必须是相同的属性组,在结果中把重复的属性列去掉)

外连接:把舍弃的元组保存在结果中,在其他属性值上填空值(NULL) 左外连接:保留左边关系要舍弃的元组 右外连接:保留右边关系要舍弃的元组 除运算:了解象集

SQL标准每阶段特点和增加的内容 SQL-86 SQL-89:“具有完整性增强的数据库语言SQL”,增加了对完整性约束的支持

SQL-92:“数据库语言SQL”,是SQL-89的超集,增加了许多新特性,如新的数据类型,更丰富的数据操作,更强的完整性、安全性支持等。

SQL-3/SQL99:正在讨论中的新的标准,将增加对面向对象模型的支持

SQL中完成核心功能的9个动词

数据定义:

常用完整性约束: 主码约束:primary key 唯一性约束:unique 非空集约束:not null 参照完整性约束

数据查询:

查询满足条件的元组:

% (百分号) 代表任意长度(长度可以为0)的字符串 _ (下横线) 代表任意单个字符 集函数包括:

COUNT([DISTINCT | ALL] *)统计元组个数

COUNT([DISTINCT | ALL] <列名>)统计一列中值的个数 SUM([DISTINCT | ALL] <列名>)计算一列值的总和 AVG([DISTINCT | ALL] <列名>)计算一列的平均值 MAX([DISTINCT | ALL] <列名>)计算一列的最大值 MAX([DISTINCT | ALL] <列名>)计算一列的最小值 连接查询包括: 广义笛卡尔积

等值(含自然连接) 非等值连接; 自身连接; 外连接; 复合条件连接 嵌套查询

等值连接与自然连接区别

等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。 嵌套查询分类:

不相关子查询:子查询的查询条件不依赖于父查询 相关子查询:子查询的查询条件依赖于父查询 不相关子查询:由里向外逐层处理 相关子查询:首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询

集合查询:并(union)交(intersect)差(minus)

SELECT语句的一般格式: SELECT [ALL|DISTINCT] <目标列表达式> [别名] [ ,<目标列表达式> [别名]] … FROM <表名或视图名> [别名] [ ,<表名或视图名> [别名]] … [WHERE <条件表达式>] [GROUP BY <列名1> [HAVING <条件表达式>]] [ORDER BY <列名2> [ASC|DESC] 完整性规则: 实体完整性 参照完整性

用户定义的完整性:对于有NOT NULL约束的属性列是否提供了非空值

对于有UNIQUE约束的属性列是否提供了非重复值

对于有值域约束的属性列所提供的属性值是否在值域范围内

数据更新: 插入数据: INSERT INTO <表名> [(<属性列1>[,<属性列2 >…)]

VALUES (<常量1> [,<常量2>]

) 修改数据:

UPDATE <表名>

SET <列名>=<表达式>[,<列名>=<表达式>]…

[WHERE <条件>]; 删除数据: DELETE

FROM

<表名>

[WHERE <条件>]; 视图的特点

 虚表,是从一个或几个基本表(或视图)导出的表  只存放视图的定义,不会出现数据冗余

 基表中的数据发生变化,从视图中查询出的数据也随之改变 视图操作:(同表操作差不多) 定义视图 查询视图 更新视图

视图的可更新性:

SQL Server 2000规定:

① 如果一个视图是从多个基本表使用连接操作导出的, 则不允许对这个视图执行更新操作。

② 如果在视图定义中使用了聚集函数或DISTINCT短语或GROUP BY子句, 则不允许对该视图执行更新操作。

③ 如果视图的列的值为表达式或常数, 则不允许该这视图执行更新操作。

④ 如果视图为行列子集视图, 则可以对该视图执行更新操作。 视图作用:

1. 视图能够简化用户的操作

2. 视图使用户能以多种角度看待同一数据

3. 视图对重构数据库提供了一定程度的逻辑独立性 4. 视图能够对机密数据提供安全保护

数据控制

SQL提供了数据控制功能,能在一定程度上保证数据的安全性、完整性、并提供了一定的并发控制和恢复能力。 1. 完整性:定义库结构

2. 安全性:存取控制,规定不同用户对于不同数据对象允许执行的操作,并控制各用户它有权存取的数据。

3. 并发控制和恢复:SQL支持事务、提交、回滚等概念。 功能:

1、权限

2、授权

GRANT <权限>[,<权限>]… [ON <对象类型> <对象名>] TO <用户>[,<用户>]…[WITH GRANT OPTION];

3、收权

REVOKE <权限>[,<权限>]…

[ON <对象类型> <对象名>]

FROM <用户>[,<用户>]…;

SQL语言的空间扩展 OGIS类中操作分3类

1、用于所有几何类型的基本操作

6个 SpatialReference( )

返回几何体的基本坐标系统

Envelope( )

返回包含几何体的最小外接矩形 Export( )

返回以其他形式表示的几何体 IsEmpty( )

若几何体为空集,则返回真

IsSimple( )

若几何体为简单的(不自交的),则返回真 Boundary( )

返回几何体的边界

2、用于空间对象之间拓扑关系的操作测试

8个

Equal

相等——若2个几何体的内部和边界在空间上都相等,则返回真 Disjoint

相离——若2个几何体的内部和边界都不相交,则返回真 Intersect

交叠——若2个几何体相交,则返回真

Touch

相接——若2个面仅边界相交,而内部不相交,则返回真 Cross

横过——若一条线和面的内部相交,则返回真

Within

在内部——若给定的几何体的内部不与另一个几何体的外部相交,则返回真 Contains

包含——若给定的几何体包含另一个几何体,则返回真

Overlap

覆盖/被覆盖——若2个几何体的内部有非空交集,则返回真

3、用于空间分析的一般操作

7个

Distance

求距离——返回2个几何体之间的最短距离

Buffer

求缓冲区——返回到给定几何体距离小于等于指定值的几何体的点的集合

ConvexHull

求最小闭包—— 返回几何体的最小闭包

Intersection

集合交——返回2个几何体的交集构成的几何体

Union

集合并——返回2个几何体的并集构成的几何体 Difference

集合差——返回几何体与给定几何体不相交的部分

SymmDiff

返回2个几何体与对方互不相交的部分

OGIS标准的局限性

局限用于——对象模型

场模型的操作——正研究 仅支持——基本拓扑的、空间度量的操作

不支持——方位的、动态的、基于形状的、基于可见性的操作 数据字典

定义:用于描述数据库的整体结构、数据内容和定义等。一个好的数据字典可以说是一个数据的标准规范,它可使数据库的开发者依此来实施数据库的建立、维护和更新。 用途:进行详细的数据收集和数据分析所获得的主要结果。 内容:数据项、数据结构、数据流、数据存储、处理过程 空间索引

索引文件——用来提高数据文件查询效率的辅助文件 索引文件的组成:

2个域:主码域

数据文件的页面地址

主索引——数据文件的记录按主码域排序,索引文件中只需保存数据文件的每个磁盘页面的第一个主码域的值。 一维搜索码的索引:B树与B+树 多维索引:

类似散列表的结构

固定网格 网格文件

基于树形的结构

四叉树 R树 R+树

数据库查询语言

两种:关系代数——形式化的语言

组成:1种运算对象——关系(表)

6种运算——选择、投影、并、笛卡尔积、差、交

结构化查询语言(SQL)

事务的概念

事务是并发控制的基本单位。所谓事务,就是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位。 SQL Server以下列事务模式运行 (1)自动提交事务 (2)显式事务 (3)隐式事务 事务的特性 原子性 一致性 隔离性 持久性

语法格式为:

BEGIN TRANSACTION COMMIT TRANSACTION ROLLBACK TRANSACTION 锁的概念

锁定是Microsoft SQL Server Database Engine用来同步多个用户同时对同一个数据块的访问的一种机制。

锁的类型 (1)共享锁

共享锁也称为S锁,允许并行事务读取同一种资源,这时的事务不能修改访问的数据。当使用共享锁锁定资源时,不允许修改数据的事务访问数据。(2)排他锁

排他锁也称为X锁,它可以防止并发事务对资源进行访问。 (3)更新锁

更新锁也称为U锁,它可以防止常见的死锁。更新锁用来预定要对资源施加X锁,它允许其他事务读,但不允许再施加U锁或X锁。

活锁

如果事务T1封锁了数据R,事务T2又请求封锁R,于是T2等待。T3也请求封锁R,当T1释放了R上的封锁之后系统首先批准了T3的请求,T2仍然等待。然后T4又请求封锁R,当T3释放了R上的封锁之后系统又批准了T4的请求,...,T2有可能永远等待,这就是活锁的情形。

避免活锁的简单方法是采用先来先服务的策略 死锁

在两个或多个任务中,如果每个任务锁定了其他任务试图锁定的资源,此时会造成这些任务永久阻塞,从而出现死锁。

事务 A 获取了行 1 的共享锁。 事务 B 获取了行 2 的共享锁。

现在,事务 A 请求行 2 的排他锁,但在事务 B 完成并释放其对行 2 持有的共享锁之前被阻塞。

现在,事务 B 请求行 1 的排他锁,但在事务 A 完成并释放其对行 1 持有的共享锁之前被阻塞。

事务 A 必须在事务 B 完成之后才能完成,但事务 B 被事务 A 阻塞。这种情况也称为循环依赖关系:事务 A 依赖于事务 B,而事务 B 又依赖于事务 A,从而形成了一个循环。 除非某个外部进程断开死锁,否则死锁中的两个事务都将无限期等待下去。

Microsoft SQL Server Database Engine死锁监视器定期检查陷入死锁的任务。如果监视器检测到循环依赖关系,将选择其中一个任务作为牺牲品,然后终止其事务并提示错误。

减少死锁的方法:

(1)按同一顺序访问对象 (2)避免事务中的用户交互

(3)保持事务简短并处于一个批处理中 (4)使用较低的隔离级别

(5)使用基于行版本控制的隔离级别 (6)使用绑定连接 存储过程

SQL Server提供了一种方法,它可以将一些固定的操作集中起来由SQL Server数据库服务器来完成,以实现某个任务,这种方法就是存储过程。

在SQL Server中存储过程分为两类:即系统提供的存储过程和用户自定义的存储过程。

可以使用三种方法创建存储过程 :

1、使用创建存储过程向导创建存储过程。

2、利用SQL Server 企业管理器创建存储过程。

3、使用Transact-SQL语句中的CREATE PROCEDURE命令创建存储过程。 创建命令格式:

CREATE

PROCEDURE

存储过程名

[参数

数据类型

长度] [参数

数据类型

长度

OUTPUT] AS

SQL语句 执行命令格式:

EXEC[ UTE ] 存储过程名

[ 参数名= 参数值 ] [ 参数值1,参数值2,……] 删除存储过程

DROP procedure 存储过程名 触发器

是一种特殊类型的存储过程,是通过事件进行触发而被执行的,而存储过程通过存储过程名被直接调用。触发器是一个功能强大的工具,它使每个站点可以在有数据修改时自动强制执行其业务规则。触发器可以用于SQL Server约束、默认值和规则的完整性检查。

触发器是一种特殊类型的存储过程,不由用户直接调用。创建触发器时会对其进行定义,以便在对特定表或列作特定类型的数据修改时执行。

当创建一个触发器时必须指定:

⑴名称;

⑵在其上定义触发器的表;

⑶触发器将何时激发;

⑷激活触发器的数据修改语句。

使用命令创建触发器

CREATE TRIGGER 触发器名

ON 表/视图名

[WITH

ENCRYPTION]:加密 syscomments 表中包含 REATE TRIGGER 语句文本的条目。使用 WITH ENCRYPTION 可防止将触发器作为 SQL Server 复制的一部分发布,当使用"exec sp_helptext 触发器名"时,查看不了语句

{ FOR|AFTER|INSTEAD OF }指定执行触发器而不是执行触发 SQL 语句,从而替代触发语句的操作

{ [DELETE][,][INSERT][,][UPDATE] }

[ NOT FOR REPLICATION]表示当复制进程更改触发器所涉及的表时,不应执行该触发器。

AS

SQL 语句 删除触发器

DROP TRIGGER { trigger } [ ,...n ]

SQL Server2000安全机制(管理服务器的安全性、角色与用户、管理权限) 数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。系统安全保护措施是否有效是数据库系统的主要指标之一。

安全机制:对于数据库管理来说,保护数据不受内部和外部侵害是一项重要的工作。SQL Server 2005的身份验证、授权和验证机制可以保护数据免受未经授权的泄漏和篡改。

SQL Server 2005的安全模型分为3层结构,分别为服务器安全管理、数据库安全管理和数据库对象的访问权限管理。

SQL Server 2005的身份验证模式有两种:Windows身份验证模式和混合模式 SQL Server 2005数据库管理系统利用角色设置,管理用户的权限。这样只对角色进行权限设置便可以实现对该角色中所有用户权限的设置,大大减少了管理员的工作量。

在SQL Server 2005中,具有固定服务器角色、固定数据库角色、用户自定义数据库角色和应用程序角色4种类型的角色

权限用来控制用户如何访问数据库对象。一个用户可以直接分配到权限,也可以作为一个角色中的成员来间接得到权限

SQL Server 2005中的权限分为3种:对象权限、语句权限和隐含权限。对象权限是用来控制一个用户是如何与一个数据库对象进行交互操作的,有5个不同的权限:查询(Select)、插入(Insert)、修改(Update)、删除(Delete)和执行(Execute)。

GIS数据库的设计

数据库设计的基本目标: (1) 满足用户需求 (2) 良好的数据库性能 (3) 准确模拟现实世界

(4) 能够被某个数据库管理系统接受

概念设计应满足的要求:

(1) 提供一个非专家理解的系统结构框架

(2) 包含丰富的结构类型,能够尽可能完整地描述系统的复杂性 (3) 能够转换成与实施相关的模型,以便能够设计和实施该系统 概念设计的核心内容:

(1) 确定数据库的数据组成 (2) 确定数据类型之间的关系 (3) 建立概念数据模型 (4) 形成书面文档

概念设计的一般步骤和方法: (1) 确定应用领域 (2) 确定用户需求 (3) 选择对象类型

(4) 对象类型定义和属性描述 (5) 对象类型的调整 (6) 几何表示 (7) 关系 (8) 质量要求 (9) 编码

空间数据分层依据: (1) 专题内容 (2) 几何表达形式 (3) 拓扑特征的差别

(4) 不同部门的数据通常放在不同的图层,便于维护 (5) 不同安全级别的数据也应该单独存储 (6) 使用目的不同的数据应该单独存放 地理数据模型的发展阶段(3个): (1) CAD数据模型

(2) Coverage数据模型(第二代地理数据模型) (3) GeoDatabase数据模型(第三代地理数据模型)

要素集:是具有同样几何类型和属性的要素集合。——矢量图层 对象类:是GeoDatabase中存储数据库表——表 要素数据集:具有相同空间参考的要素类的集合

子类:在要素类内部可以划分若干个次一级的组,每个组是一个子类。每个子类有其自己的完整性规则和GIS行为。

拓扑关系:拓扑关系将参与拓扑的各个要素类集成在一个拓扑图中作为一个拓扑单元来管理,规定同一个要素类中各个要素如何与其他要素共享几何,或者不同要素类之间如何共享几何。

ArcGIS中的三个数据库:Personal Database、File Database、ArcSDE(ArcSDE+SQL构成空间数据库)

选择题(12‘)、填空题(10‘)、名词解释(20‘)、写代码(27‘)、简答题(21‘)设计题(10‘)

第3篇:数据库复习总结知识点大全

《黄色填充区域是不确定区域

需要在找找》

1.数据库有什么特点?

主要特点 (1)实现数据共享。。 (2)减少数据的冗余度。(3)数据的独立性。(4)数据实现集中控制。 (5)数据一致性和可维护性,以确保数据的安全性和可靠性。 主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用; ②完整性控制:保证数据的正确性、有效性和相容性; ③并发控制:使在同一时间周期内,允许对数据实现多路存取, 又能防止用户之间的不正常交互作用; ④故障的发现和恢复:由数据库管理系统提供一套方法, 可及时发现故障和修复故障,从而防止数据被破坏 (6)故障恢复。 由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。

2. 数据库系统是数据库、数据库管理系统、硬件、操作人员的合在一起的总称 数据库管理系统,用来管理数据及数据库的系统。 数据库系统包含数据库管理系统、数据库及数据库开发工具所开发的软件(数据库应用系统)。

3. 内模式 内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式。

4.外模式也称子模式或用户模式,是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。

5.数据模型的三要素:数据结构、数据操作及完整性约束条件 1):数据结构,就是前面说的数据在数据区中的存储结构,在关系模型中就是采用的关系模型了,就是“二维表”的形式

2):数据操作,指的是对数据的一些操作,包括查询、删除、更新、插入等等

3):数据的完整性约束:就是对所存数据的约束规则,有实体完整性、参照完整性等等,就是取值唯

一、不能为空等一系列操作

6. E-R图即实体-联系图(Entity Relationship Diagram),是指提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。

7.ER图的基本要素:实体(即数据对象)、关系和属性 8. 概念数据模型是按用户的观点对数据和信息建模,是现实世界到信息世界的第一层抽象。 基本数据模型是按计算机系统的观点对数据建模,是现实世界数据特征的抽象,用于DBMS的实现(层次模型,网状模型,关系模型)(1)可以定制生成标准的模型报告; (2)可以转换为面向对象模型(OOM);

(3)完成多种数据库的详细物理设计(涵盖常用的各种数据库的DBMS),并生成数据库对象的.sql脚本;

9. 数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型。

→:数据流 (流动的数据,有流向)

□:外部实体 (不同于数据库实体,指人,物,部门,科室,单位等) ○:数据处理(对数据的加工,是对数据进行处理的单元,指功能模块,能做什么) 〒:数据存储

(信息的静态存储)

10. 数据字典(Data Dictionary,DD) 各类数据描述的集合,它是关于数据库中数据的描述,即元数据。

通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。 11.主键和外键的关系(案例题)

12.用T-SQL语句如何创建表 如何删除表

ppt 6-2 13. 笛卡尔积(Cartesian Product)通俗点说就是指包含两个集合中任意取出两个元素构成的组合的集合。

设:关系R为m列( m 个属性),k1行(k1个元组); 关系S为n列(n个属性),k2行(k2个元组)。

 公式:R×S={tRtS │tR ∈R ∧ tS ∈S }  语义:笛卡尔积仍是一个关系,该关系的结构是R和S结构之连接,即前m 个属性来自R,后n个属性来自S,该关系的值是由R中的每个元组连接S中的每个元组所构成元组的集合。

 注意:新关系的属性个数等于m+n ,元组个数等于k1*k2。

 14. 投影(Projection)

设:t是关系R中的一个元组,A是要从R中投影出的属性子集。

 公式:∏A(R)={ t.A│t ∈R }  语义:从关系R中按所需顺序选取若干个属性构成新关系。

 注意:新关系的元组数小于等于原关系的元组数,新关系的属性数不多于原关系中的属性数。

 ∏是希腊字母,即π的大写形式,在数学中表示求积运算或直积运算,形式上类似于Σ,有时也用来代表圆周率值,即读作/pai/  15. 连接(Join)

设:A,B分别是关系R和S中的属性,t是连接关系中的一个元组。

 公式:

 语义:两个关系R和S按相应属性值的比较条件连接起来,生成一个新关系,也称为θ连接。

• 等值连接

– R×S+选择(θ为=)

– 按照两关系中对应属性值相等的条件所进行的连接

• 自然连接

– 等值连接+去重复属性 – 记作:R

S 16. 第一范式(1NF):在关系模式R中的每一个具体关系r中,如果每个属性值 都是不可再分的最小数据单位,则称R是第一范式的关系。 第二范式(2NF):如果关系模式R(U,F)中的所有非主属性都完全依赖于任意一个候选关键字,则称关系R 是属于第二范式的。

第三范式(3NF):如果关系模式R(U,F)中的所有非主属性对任何候选关键字都不存在传递信赖,则称关系R是属于第三范式的。

17. 字符串的定界符可以用单引号,双引号,和方括号,

18. LEN 返回文本串的字符数. left:返回从字符串左边开始指定个数的字符

19.索引的特点:有效组织表数据的方式它由表中一列或多列按照一定的排列顺序组成。、 用户可以通过合理地创建索引大大提高数据库的查找速度 索引也可以保证列的唯一性,从而确保表中数据的完整性

索引中包含键值,这些键值存储在一种数据结构(B-树)中,通过键值可以快速地找到与键值相关的数据记录

索引创建原则:经常被查询的列 需要排序的列 外键或主键列 值唯一的列

在下列情况下不适合建立索引。 在查询中很少被引用的列。

包含太多重复值的列。

数据类型为bit、varchar(max)、varbinary(max)等的列不能建立索引。

20.聚簇索引的特点:聚簇索引确定表中数据的物理顺序。聚簇索引类似于电话簿,后者按姓氏排列数据。由于聚簇索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚簇索引。但该索引可以包含多个列(组合索引),就像电话簿按姓氏和名字进行组织一样。汉语字典也是聚簇索引的典型应用,在汉语字典里,索引项是字母+声调,字典正文也是按照先字母再声调的顺序排列。

聚簇索引对于那些经常要搜索范围值的列特别有效。使用聚簇索引找到包含第一个值的行后,便可以确保包含后续索引值的行在物理相邻。例如,如果应用程序执行的一个查询经常检索某一日期范围内的记录,则使用聚集索引可以迅速找到包含开始日期的行,然后检索表中所有相邻的行,直到到达结束日期。这样有助于提高此类查询的性能。同样,如果对从表中检索的数据进行排序时经常要用到某一列,则可以将该表在该列上聚簇(物理排序),避免每次查询该列时都进行排序,从而节省成本。聚集索引根据键值的大小对行进行物理排序,所以每个表只能有一个聚集索引。

21.alter table 修改表 Update 更新表

22 为数据表创建索引的目的:a 提高查询检索的性能

23;创建索引的两种方法:在【新建索引】窗口中创建索引(1 用索引创建向导创建索引;2 直接创建索引)

使用SSMS创建索引 使用T-SQL创建表的索引 24一对一关联:在一对一关系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。如果相关列都是主键或都具有唯一约束,则可以创建一对一关系。 25:什么是数据表:一个数据库中可能包含若干个数据表。

数据表是数据库中一个非常重要的对象,是其他对象的基础。没有数据表,关键字、主键、索引等也就无从谈起。在数据库画板中可以显示数据库中的所有数据表(即使不是用PowerBuilder创建的表),创建数据表,修改表的定义等数据表是数据库中一个非常重要的对象,是其他对象的基础。

数据表(或称表)是数据库最重要的组成部分之一。数据库只是一个框架,数据表才是其实质内容。根据信息的分类情况,一个数据库中可能包含若干个数据表。 26;sql: 结构化查询语言(Structured Query Language)”

其关系数据库管理系统SYSTEM R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,

SQL语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

语言特点:一体化 使用反式灵活 非过程化 语言简洁 语法简单 好学好用

27:交叉连接查询:交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数

据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。 例,titles表中有6类图书,而publishers表中有8家出版社,则下列交叉连接检索到的记录数将等 于6*8=48行。

28;什么情况下应该尽量创建索引:数据量大(建议分区)、数据插入删除不是太频繁、又需要经常按某些字段进行条件检索的表。 在一个或者一些字段需要频繁用作查询条件,并且表数据较多的时候,创建索引会明显提高查询速度,因为可由全表扫描改成索引扫描。(无索引时全表扫描也就是要逐条扫描全部记录,直到找完符合条件的,索引扫描可以直接定位) 索引并不是越多越好,太多索引会占用很多的索引表空间,甚至比存储一条记录更多。 对于需要频繁新增记录的表,最好不要创建索引,没有索引的表,执行insert、append都很快,有了索引以后,会多一个维护索引的操作,一些大表可能导致insert 速度非常慢 29:sql sever 中的数据类型

SQL中的五种数据类型:字符型,文本型,数值型,逻辑型和日期型

30:关系数据库中的投影操作是指从关系中 。 A.去掉若干属性列组成新的关系 B.选择出若干属性列组成新的关系 C.去掉满足条件的诸元组 D.选择满足条件的诸元组 (A 抽出特定的记录 B抽出特定的字段 C建立相应的影像 D建立相应的视图) 31:关系数据模型有许多优点,但下面所列的条目中哪一条不是它的优点? A.结构简单

B.适用于集合操作 C.有标准语言

D.可表示复杂的语义 正确答案:D 解析:关系模型由关系数据结构、关系操作集合和关系完整性约束3大要素组成。关系模型的数据结构单一,在关系模型中,现实世界的实体以及实体间的各种联系均用关系来表示。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。关系代数、元组关系演算和域关系演算均是抽象的查询语言这些抽象的语言与具体的DBMS中实现的实际语言并不完全一样,但它们能用作评估实际系统中查询语言能力的标准或基础。数据库的数据完整性是指数据库中数据的正确性和相容性,那是一种语义概念,包括两个主要方面:与现实世界中应用需求的数据的相容性和正确性。数据库内数据之间的相容性和正确性。 32数据库概念模型应具备( 特点。 Ⅰ.丰富的语言表达能力 Ⅱ.易于交流和理解 Ⅲ.易于变动 Ⅳ.易于向各种数据模型转换 A.Ⅰ和Ⅱ B.Ⅰ、Ⅱ、Ⅲ C.Ⅱ、Ⅲ、Ⅳ D.全是

正确答案:D 概念模型应具有较强的语义表达能力,简单,清晰,易于用户理解。易于项其他数据模型转换

(相关知识)组织、存储和管理数据的仓库

32关系数据库的规范化理论指出,关系数据库中的关系应满足一定的要求,最起码的要求是达到1NF,既满足( )。 A: 主关键字唯一标识表中的每一行 B: 关系中的行不允许重复 C: 每个非关键字列都完全依赖于主关键字 D: 每个属性都有是不可再分的基本数据项 33关系数据库管理系统能实现的专门关系运算包括。A. 排序、索引、统计 B. 选择、投影、连接C. 关联、更新、排序 D. 显示、打印、制表

34. 概念结构设计阶段得到的结果是______。 A、包括存储结构和存取方法的物理结构 B、某个DBMS所支持的数据模型 C、E-R图表示的概念模型 D、数据字典描述的数据需求 35数据库需求分析阶段的主要任务:对现实世界要处理的对象(组织、部门、企业)等进行详细的调查,通过对原系统的了解,手机支持新系统的基础数据并对其进行处理,在此基础上确定新系统的功能。

用户需求分析阶段的主要工作包括2方面:可行性分析

成本(资源)分析

36 哪个不是DBA数据库管理员的职责

A完整性约束说明 B定义数据库模式 C数据库安全 D数据库管理系统设计

下列工作中,不属于数据库管理员DBA的职责是( )。 A.建立数据库

B.输入和存储数据库数据 C.监督和控制数据库的使用 D.数据库的维护和改进

以下是公认的DBA职责:

1、监视数据库。

2、记录和统计系统和性能的表现技术信息。

3、构造数据库框架、配置数据库实例。

4、维护数据库网络安全,过滤非法查询信息。

5、及时备份数据库

6、利用备份,还原数据库,甚至是迁移数据库。

7、为开发人员定制、配置专用的测试服务器。

8、数据库技术最新的研发方向。

9、数据库调优。

10、完整熟悉数据库操作流程。

11、诊断数据库,找出数据库的不足之处和生成数据库解决方案。

12、完整培训数据库系统那个环境。

13、与系统管理员保持良好的合作关系。

14、创建有效的、定期维护的安全的数据库。 37:

数据库系统的数据独立性是指,当系统数据存储结构与数据逻辑结构发生变化时,不会影响应用程序。

数据独立性包括物理独立性和逻辑独立性。 物理独立性指应用程序与存储在磁盘的数据库中数据相互独立,即数据物理存储改变时应用程序不变。 逻辑独立性指应用程序与数据库逻辑结构相互独立,即数据逻辑结构改变时,应用程序可以不变。

38在数据管理技术发展阶段中,文件系统阶段与数据库系统阶段的主要区别之一是数据库系统 ( )。

A.数据可共享 B.数据可长期保存

C.采用一定的数据模型组织数据 D.有专门的软件对数据进行管理 正确答案:C 解析:数据库采用复杂的数据模型表示数据结构;数据共享性高、冗余度小、易扩充:有较高的数据独立性;数据库系统为用户提供方便的用户接口:系统提供数据库的恢复、并发控制、数据完整性和数据安全性4个方面的数据控制功能。相对于文件系统管理数据的方式,它采用一定的数据模型来组织和管理数据。

39数据库系统有哪些特点:

数据的结构化,数据的共享性好,数据的独立性好,数据存储粒度小,数据管理系统,为用户提供了友好的接口。 数据库系统的核心和基础,是数据模型,现有的数据库系统均是基于某种数据模型的。 数据库系统的核心是数据库管理系统。 数据库系统一般由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。

数据库系统的主要特点有:1)实现数据共享,减少数据冗余2)采用特定的数据模型3)具有较高的数据独立性4)有统一的数据控制功能另外,数据库系统由5大部分组成:硬件系统,数据库集合,数据库管理系统及相关软件,数据库管理员和用户

40:数据库,是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。 数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。

41:数据库的发展历史经历了人工管理、文件系统和数据库系统三个发展阶段。 人工管理数据具有如下特点

1、数据不保存

2、数据需要由应用程序自己管理没有相应的软件系统负责数据的管理工作

3、数据不共享

4、数据不具有独立性数据的逻辑结构或物理结构发生变化后必须对应用程序做相应的修改这就进一步加重了程序员的负担。

文件系统阶段特点为

1、数据可以长期保存

2、由专门的软件即文件系统进行数据管理

使应用程序与数据之间有了一定的独程序和数据之间由软件提供的存取方法进行转换立性程序员可以不必过多地考虑物理细节将精力集中于算法。

3、数据共享性差

4、数据独立性低

数据库系统阶段特点为

1、数据结构化

2、数据的共享性好冗余度低

3、数据独立性高

4、数据由DBMS统一管理和控制

一、人工管理阶段:特点

数据的管理者:人

数据面向的对象:某一应用程序

数据的共享程度:无共享,冗余度极大

数据的独立性:不独立,完全依赖于程序 数据的结构化:无结构

数据控制能力:应用程序自己控制

二、文件系统阶段:特点

数据的管理者:文件系统

数据面向的对象:某一应用程序

数据的共享程度:共享性差,冗余度大

数据的独立性:独立性差

数据的结构化:记录内有结构,整体无结构 数据控制能力:应用程序自己控制

三、数据库系统阶段:特点

数据的管理者:数据库管理系统

数据面向的对象:整个应用系统

数据的共享程度:共享性高,冗余度小

数据的独立性:具有高度的物理独立性和逻辑独立性

数据的结构化:整体结构化,用数据模型描述

数据控制能力:由数据库管理系统提供数据安全性、完整性、并发控制和恢复能力 (其中数据独立性最高的阶段是数据库系统阶段.)

未知:1关系数据模型三要素 2物理模式 内模式 子模式 3 Identify 的使用特点

4;在数据模型中的家族关系的特点 5.sql sever 2008的系统数据库是什么 6什么是子数据表

上机操作:1 、用select语句查询前十行数据

2 、用select语句查询前20%的数据 3 、用select语句查询指定列数据

4、什么是查询设计器

5、在select语句中如何使用GROUP BY

6、exists子查询语句如何使用

7、insert into 插入语句如何使用 8 update delect语法格式

9、用select语句能够进行模糊查询 –like 如何使用

10、用select语句如何使用聚合函数进行统计 汇总 分组

11、在.sql sever中如何进行自动编号设计

什么是自动编号

12、not in 的使用 any some all 的使用

13 、select can’(*)的使用

第4篇:2010年自学考试《数据结构》各章复习要点总结

2010年自学考试《数据结构》各章复习要点总结(2) 2010年自学考试《数据结构》四至六章复习要点总结。

第四章 串

串是零个或多个字符组成的有限序列。

·空串:是指长度为零的串,也就是串中不包含任何字符(结点)。

·空白串:指串中包含一个或多个空格字符的串。

·在一个串中任意个连续字符组成的子序列称为该串的子串,包含子串的串就称为主串。

·子串在主串中的序号就是指子串在主串中首次出现的位置。

·空串是任意串的子串,任意串是自身的子串。

串分为两种:

·串常量在程序中只能引用不能改变;

·串变量的值可以改变。

串的基本运算有:

·求串长strlen(char*s)

·串复制strcpy(char*to,char*from)

·串联接strcat(char*to,char*from)

·串比较charcmp(char*s1,char*s2)

·字符定位strchr(char*s,charc)

。串是特殊的线性表(结点是字符),所以串的存储结构与线性表的存储结构类似。串的顺序存储结构简称为顺序串。

顺序串又可按存储分配的不同分为:

·静态存储分配:直接用定长的字符数组来定义。优点是涉及串长的操作速度快,但不适合插入、链接操作。

·动态存储分配:是在定义串时不分配存储空间,需要使用时按所需串的长度分配存储单元。

串的链式存储就是用单链表的方式存储串值,串的这种链式存储结构简称为链串。链串与单链表的差异只是它的结点数据域为单个字符。

为了解决“存储密度”低的状况,可以让一个结点存储多个字符,即结点的大小。

顺序串上子串定位的运算:又称串的“模式匹配”或“串匹配”,是在主串中查找出子串出现的位置。在串匹配中,将主串称为目标(串),子串称为模式(串)。这是比较容易理解的,串匹配问题就是找出给定模式串P在给定目标串T中首次出现的有效位移或者是全部有效位移。最坏的情况下时间复杂度是O((n-m+1)m),假如m与n同阶的话则它是O(n^2)。链串上的子串定位运算位移是结点地址而不是整数。

第五章 多维数组和广义表

数组一般用顺序存储的方式表示。存储的方式有:

·行优先顺序,也就是把数组逐行依次排列。PASCAL、C

·列优先顺序,就是把数组逐列依次排列。FORTRAN

地址的计算方法:

·按行优先顺序排列的数组:LOCa(ij)=LOCa(11)+((i-1)*n+(j-1))*d.

·按列优先顺序排列的数组:LOCa(ij)=LOCa(11)+((j-1)*n+(i-1))*d. 矩阵的压缩存储:为多个相同的非零元素分配一个存储空间;对零元素不分配空间。

特殊矩阵的概念:所谓特殊矩阵是指非零元素或零元素分布有一定规律的矩阵。

稀疏矩阵的概念:一个矩阵中若其非零元素的个数远远小于零元素的个数,则该矩阵称为稀疏矩阵。

特殊矩阵的类型:

·对称矩阵:满足a(ij)=a(ji)。元素总数n(n+1)/2.I=max(i,j),J=min(i,j),LOCa(ij)=LOC(sa[0])+(I*(I+1)/2+J)*d.

·三角矩阵:

·上三角阵:k=i*(2n-i+1)/2+j-i,LOCa(ij)=LOC(sa[0])+k*d.

·下三角阵:k=i*(i+1)/2+j,LOCa(ij)=LOC(sa[0])+k*d.

·对角矩阵:k=2i+j,LOCa(ij)=LOC(sa[0])+k*d.

稀疏矩阵的压缩存储方式用三元组表把非零元素的值和它所在的行号列号做为一个结点存放在一起,用这些结点组成的一个线性表来表示。但这种压缩存储方式将失去随机存储功能。加入行表记录每行的非零元素在三元组表中的起始位置,即带行表的三元组表。

广义表是n(n≥0)个元素的有限序列,其中的元素是原子或者是一个广义表。

广义表表头和表尾的概念:

·若广义表LS非空(n≥1),则这个广义表的第一个元素就是表头。

·其余的元素组成的表称为LS的表尾,所以表尾必是一个子表。

广义表有两种表示法,一种是括号表示法,一种是图形表示法。

广义表与树(形结构)相对应,这个广义表就是纯表。

如果一个广义表的结点又可以被其他结点所共享,则这个表称为再入表。

允许递归的表称为递归表。

线性表∈纯表(树)∈再入表∈递归表。可见,广义表是对线性表和树的推广。

广义表有两个特殊的基本运算:

·取表头head(LS):取表中的第一个数据元素,不能对空表操作。

·取表尾tail(LS);取除表头外,其余数据元素构成的子表,不能对空表操作。

第六章 树

树是n个结点的有限集合,非空时必须满足:只有一个称为根的结点;其余结点形成m个不相交的子集,并称根的子树。

根是开始结点;结点的子树数称度;度为0的结点称叶子(终端结点);度不为0的结点称分支结点(非终端结点);除根外的分支结点称内部结点;

有序树是子树有左,右之分的树;无序树是子树没有左,右之分的树;森林是m个互不相交的树的集合;

树的四种不同表示方法:

·树形表示法;

·嵌套集合表示法;

·凹入表示法;

·广义表表示法。

二叉树的定义:是n≥0个结点的有限集,它是空集(n=0)或由一个根结点及两棵互不相交的分别称作这个根的左子树和右子树的二叉树组成。

二叉树不是树的特殊情形,与度数为2的有序树不同。

二叉树的4个重要性质:

·二叉树上第i层上的结点数目最多为2^(i-1)(i≥1);

·深度为k的二叉树至多有(2^k)-1个结点(k≥1);

·在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1;

·具有n个结点的完全二叉树的深度为int(log2n)+1。 满二叉树是一棵深度为k,结点数为(2^k)-1的二叉树;完全二叉树是满二叉树在最下层自右向左去处部分结点;

二叉树的顺序存储结构就是把二叉树的所有结点按照层次顺序存储到连续的存储单元中。(存储前先将其画成完全二叉树)

树的存储结构多用的是链式存储。BinTNode的结构为lchild|data|rchild,把所有BinTNode类型的结点,加上一个指向根结点的BinTree型头指针就构成了二叉树的链式存储结构,称为二叉链表。它就是由根指针root唯一确定的。共有2n个指针域,n+1个空指针。

根据访问结点的次序不同可得三种遍历:先序遍历(前序遍历或先根遍历),中序遍历(或中根遍历)、后序遍历(或后根遍历)。时间复杂度为O(n)。

利用二叉链表中的n+1个空指针域来存放指向某种遍历次序下的前趋结点和后继结点的指针,这些附加的指针就称为“线索”,加上线索的二叉链表就称为线索链表。线索使得查找中序前趋和中序后继变得简单有效,但对于查找指定结点的前序前趋和后序后继并没有什么作用。

树和森林及二叉树的转换是唯一对应的。

转换方法:

·树变二叉树:兄弟相连,保留长子的连线。

·二叉树变树:结点的右孩子与其双亲连。

·森林变二叉树:树变二叉树,各个树的根相连。

树的存储结构:

·有双亲链表表示法:结点data | parent,对于求指定结点的双亲或祖先十分方便,但不适于求指定结点的孩子及后代。

·孩子链表表示法:为树中每个结点data | next设置一个孩子链表firstchild,并将data | firstchild存放在一个向量中。

·双亲孩子链表表示法:将双亲链表和孩子链表结合。

·孩子兄弟链表表示法:结点结构leftmostchild |data | rightsibing,附加两个分别指向该结点的最左孩子和右邻兄弟的指针域。 树的前序遍历与相对应的二叉树的前序遍历一致;树的后序遍历与相对应的二叉树的中序遍历一致。

树的带权路径长度是树中所有叶结点的带权路径长度之和。树的带权路径长度最小的二叉树就称为最优二叉树(即哈夫曼树)。

在叶子的权值相同的二叉树中,完全二叉树的路径长度最短。

哈夫曼树有n个叶结点,共有2n-1个结点,没有度为1的结点,这类树又称为严格二叉树。

变长编码技术可以使频度高的字符编码短,而频度低的字符编码长,但是变长编码可能使解码产生二义性。如00、0

1、0001这三个码无法在解码时确定是哪一个,所以要求在字符编码时任一字符的编码都不是其他字符编码的前缀,这种码称为前缀码(其实是非前缀码)。

哈夫曼树的应用最广泛地是在编码技术上,它能够容易地求出给定字符集及其概率分布的最优前缀码。哈夫曼编码的构造很容易,只要画好了哈夫曼树,按分支情况在左路径上写代码0,右路径上写代码1,然后从上到下到叶结点的相应路径上的代码的序列就是该结点的最优前缀码。

第5篇:2010年自学考试《数据结构》各章复习要点总结

2010年自学考试《数据结构》各章复习要点总结(3) 龙耒为你整理:

第五章 多维数组和广义表

数组一般用顺序存储的方式表示。存储的方式有:

·行优先顺序,也就是把数组逐行依次排列。PASCAL、C

·列优先顺序,就是把数组逐列依次排列。FORTRAN

地址的计算方法:

·按行优先顺序排列的数组:LOCa(ij)=LOCa(11)+((i-1)*n+(j-1))*d.

·按列优先顺序排列的数组:LOCa(ij)=LOCa(11)+((j-1)*n+(i-1))*d. 矩阵的压缩存储:为多个相同的非零元素分配一个存储空间;对零元素不分配空间。

特殊矩阵的概念:所谓特殊矩阵是指非零元素或零元素分布有一定规律的矩阵。

稀疏矩阵的概念:一个矩阵中若其非零元素的个数远远小于零元素的个数,则该矩阵称为稀疏矩阵。

特殊矩阵的类型:

·对称矩阵:满足a(ij)=a(ji)。元素总数n(n+1)/2.I=max(i,j),J=min(i,j),LOCa(ij)=LOC(sa[0])+(I*(I+1)/2+J)*d.

·三角矩阵:

·上三角阵:k=i*(2n-i+1)/2+j-i,LOCa(ij)=LOC(sa[0])+k*d.

·下三角阵:k=i*(i+1)/2+j,LOCa(ij)=LOC(sa[0])+k*d.

·对角矩阵:k=2i+j,LOCa(ij)=LOC(sa[0])+k*d.

稀疏矩阵的压缩存储方式用三元组表把非零元素的值和它所在的行号列号做为一个结点存放在一起,用这些结点组成的一个线性表来表示。但这种压缩存储方式将失去随机存储功能。加入行表记录每行的非零元素在三元组表中的起始位置,即带行表的三元组表。

广义表是n(n≥0)个元素的有限序列,其中的元素是原子或者是一个广义表。

广义表表头和表尾的概念:

·若广义表LS非空(n≥1),则这个广义表的第一个元素就是表头。

·其余的元素组成的表称为LS的表尾,所以表尾必是一个子表。

广义表有两种表示法,一种是括号表示法,一种是图形表示法。

广义表与树(形结构)相对应,这个广义表就是纯表。

如果一个广义表的结点又可以被其他结点所共享,则这个表称为再入表。

允许递归的表称为递归表。

线性表∈纯表(树)∈再入表∈递归表。可见,广义表是对线性表和树的推广。

广义表有两个特殊的基本运算:

·取表头head(LS):取表中的第一个数据元素,不能对空表操作。

·取表尾tail(LS);取除表头外,其余数据元素构成的子表,不能对空表操作。

第六章 树

树是n个结点的有限集合,非空时必须满足:只有一个称为根的结点;其余结点形成m个不相交的子集,并称根的子树。

根是开始结点;结点的子树数称度;度为0的结点称叶子(终端结点);度不为0的结点称分支结点(非终端结点);除根外的分支结点称内部结点;

有序树是子树有左,右之分的树;无序树是子树没有左,右之分的树;森林是m个互不相交的树的集合;

树的四种不同表示方法:

·树形表示法;

·嵌套集合表示法;

·凹入表示法;

·广义表表示法。

二叉树的定义:是n≥0个结点的有限集,它是空集(n=0)或由一个根结点及两棵互不相交的分别称作这个根的左子树和右子树的二叉树组成。

二叉树不是树的特殊情形,与度数为2的有序树不同。

二叉树的4个重要性质:

·二叉树上第i层上的结点数目最多为2^(i-1)(i≥1);

·深度为k的二叉树至多有(2^k)-1个结点(k≥1);

·在任意一棵二叉树中,若终端结点的个数为n0,度为2的结点数为n2,则n0=n2+1;

·具有n个结点的完全二叉树的深度为int(log2n)+1。 满二叉树是一棵深度为k,结点数为(2^k)-1的二叉树;完全二叉树是满二叉树在最下层自右向左去处部分结点;

二叉树的顺序存储结构就是把二叉树的所有结点按照层次顺序存储到连续的存储单元中。(存储前先将其画成完全二叉树)

树的存储结构多用的是链式存储。BinTNode的结构为lchild|data|rchild,把所有BinTNode类型的结点,加上一个指向根结点的BinTree型头指针就构成了二叉树的链式存储结构,称为二叉链表。它就是由根指针root唯一确定的。共有2n个指针域,n+1个空指针。

根据访问结点的次序不同可得三种遍历:先序遍历(前序遍历或先根遍历),中序遍历(或中根遍历)、后序遍历(或后根遍历)。时间复杂度为O(n)。

利用二叉链表中的n+1个空指针域来存放指向某种遍历次序下的前趋结点和后继结点的指针,这些附加的指针就称为“线索”,加上线索的二叉链表就称为线索链表。线索使得查找中序前趋和中序后继变得简单有效,但对于查找指定结点的前序前趋和后序后继并没有什么作用。

树和森林及二叉树的转换是唯一对应的。

转换方法:

·树变二叉树:兄弟相连,保留长子的连线。

·二叉树变树:结点的右孩子与其双亲连。

·森林变二叉树:树变二叉树,各个树的根相连。

树的存储结构:

·有双亲链表表示法:结点data | parent,对于求指定结点的双亲或祖先十分方便,但不适于求指定结点的孩子及后代。

·孩子链表表示法:为树中每个结点data | next设置一个孩子链表firstchild,并将data | firstchild存放在一个向量中。

·双亲孩子链表表示法:将双亲链表和孩子链表结合。

·孩子兄弟链表表示法:结点结构leftmostchild |data | rightsibing,附加两个分别指向该结点的最左孩子和右邻兄弟的指针域。 树的前序遍历与相对应的二叉树的前序遍历一致;树的后序遍历与相对应的二叉树的中序遍历一致。

树的带权路径长度是树中所有叶结点的带权路径长度之和。树的带权路径长度最小的二叉树就称为最优二叉树(即哈夫曼树)。

在叶子的权值相同的二叉树中,完全二叉树的路径长度最短。

哈夫曼树有n个叶结点,共有2n-1个结点,没有度为1的结点,这类树又称为严格二叉树。

变长编码技术可以使频度高的字符编码短,而频度低的字符编码长,但是变长编码可能使解码产生二义性。如00、0

1、0001这三个码无法在解码时确定是哪一个,所以要求在字符编码时任一字符的编码都不是其他字符编码的前缀,这种码称为前缀码(其实是非前缀码)。

哈夫曼树的应用最广泛地是在编码技术上,它能够容易地求出给定字符集及其概率分布的最优前缀码。哈夫曼编码的构造很容易,只要画好了哈夫曼树,按分支情况在左路径上写代码0,右路径上写代码1,然后从上到下到叶结点的相应路径上的代码的序列就是该结点的最优前缀码。

第6篇:空间数据库复习题

Chapter 1: Introduction to Spatial Databases

1、举例说明什么是空间数据、非空间数据?如何理解空间查询(spatial queries)和非空间查询的区别(Non-spatial queries)?

答:河流的泛洪区,卫星影像数据、气象气候数据等都可以是空间数据

书店名称 店员人数,去年的销售量,电话号码等是非空间数据

空间查询是对空间数据的查询或命令

2、什么是GIS,什么是SDBMS?请阐述二者的区别和联系。

答:

1、GIS是一个利用空间分析功能进行可视化和空间数据分析的软件。它的主要功能有:搜索、定位分析、地形分析、流分析、分布、空间分析/统计、度量

GIS 可以利用SDBMS来存储、搜索、查询、分享大量的空间数据集

2、SDBMS是一个软件模块。它可以

①、利用一个底层的数据库管理系统

②、支持多种空间数据模型、相应的空间抽象数据类型(ADT)以及一种能够调用这些ADT的查询语言

③、支持空间索引、高效的空间操作算法以及用于查询优化的特定领域规则

3、区别与联系:①、利用GIS可以对某些对象和图层进行操作,而利用SDBMS则可以对更多的对象集和图层进行更加简单的操作

②、SDBMS可以在GIS不能使用的某些领域进行使用,例如基因组学、天文学、多媒体信息系统等

③、GIS可以作为SDBMS的前端,利用一个高效的SDBMS可以大大提高GIS的效率和生产率。

3、从GIS这一缩写的三种含义来理解GIS的发展历程。 答:地理信息系统:为专业人员提供的软件

地理信息科学:为地理信息系统和服务提供使用和发展的定义、框架和理论 地理信息服务:为普通用户提供的网点和服务中心,例如PC机上的地理和空间服务

4、用传统数据库系统管理空间数据,存在什么不足之处?

答:1)无法用递归和嵌套的方式来描述复杂关系的层次和网状结构,模拟和操作复杂地理对象的能力较弱;

2)用关系模型描述本身具有复杂结构和涵义的地理对象时,需对地理实体进行不自然的分解,导致存储模式、查询途径及操作等方面均显得语义不甚合理;

3)由于概念模式和存储模式的相互独立性,及实现关系之间的联系需要执行系统开销较大的联接操作,运行效率不够高

4)空间数据通常是变长的,而一般RDBMS只允许记录的长度设定为固定长度,此外,通用DBMS难于存储和维护空间数据的拓扑关系。

5)一般RDBMS都难以实现对空间数据的关联、连通、包含、叠加等基本操作。

6)一般DBMS不能支持GIS需要的一些复杂图形功能。

7)一般RDBMS难以支持复杂的地理信息,因为单个地理实体的表达需要多个文件、多条记录,包括大地网、特征坐标、拓扑关系、属性数据和非空间专题属性等方面信息。

8)GIS管理的是具有高度内部联系的数据,为了保证地理数据库的完整性,需要复杂的安全维护系统,而这些完整性约束条件必须与空间数据一起存储,由地理数据库来维护系统数据的完整性。否则,一条记录的改变会导致错误、相互矛盾的数据存在,而一般RDBMS难以实现这一功能。

5、What is a SDBMS ?

答:SDBMS是一个软件模块。它可以

①、利用一个底层的数据库管理系统

②、支持多种空间数据模型、相应的空间抽象数据类型(ADT)以及一种能够调用这些ADT的查询语言

③、支持空间索引、高效的空间操作算法以及用于查询优化的特定领域规则

6、什么是后关系数据库模型?后关系数据库模型有哪些?

答:后关系数据库模型支持用户定义抽象数据类型,空间数据的类型可以添加。

包括面向对象的数据库模式OOBDMS和面向关系ORDBMS的数据库模式。

7、SDBMS的三层体系结构(Three Layer Architecture)是什么?借此深入理解SDBMS的作用。

答:空间应用—空间数据库—DBMS

教材P11的图

8、空间数据库主要涉及哪些内容?

答:数据模型、查询语句、查询处理与优化、文件组织和索引、数据挖掘

9、举例说明单遍扫描查询和多遍扫描查询的概念。

答:单边扫描查询中,被查询的表(关系)中的一条记录(元组)最多只被访问一次;例如“列出武大周围5km内的书店的名字”。

多遍扫描查询是被查询的表(关系)中的一条记录(元组)至少被访问一次,例如“找出其代表的选取范围大于200公顷并且在这区拥有公司的女议员的名字”

10、过滤-精炼策略的作用?两个步骤的内容是什么?

提示:ppt : Efficient algorithms to answer spatial queries Common Strategyfast but content is lost when power is off主存:速度快,信息断电丢失 Secondary storage - slower, retains content without power二级存储器:慢,信息断电不丢 Tertiary storage (如磁带驱动器 )- very slow, retains content, very large capacity脱机存储器:非常慢,保存信息容量非常大。 DBMS usually manage data

• • • on secondary storage, e.g. disks Use main memory to improve performance User tertiary storage (e.g. tapes) for backup备份, archival档案 etc.

4、磁盘存储相关概念:磁道track、扇区sector、柱面cylinder?页面的概念? 答:磁道:圆心磁盘片上向边缘延伸的同心圆

扇区:每个磁道中被分成若干等份的区域 柱面:是磁盘上具有相同镭的磁道的集合

页面:又称磁盘块。是磁盘与主存之间的最小传输单位

5、访问磁盘扇区数据的过程,哪个过程花费的时间最多? 提示:ppt: Accessing a sector has three major steps: • • • Seek(寻道): Move head assembly to relevant track (ts) 磁头到达特定磁道所用的时间

Latency(延迟时间): Wait for spindle to rotate relevant sector under disk head(tl)块旋转到磁头下方所用的时间 • Transfer传输时间: Read or write the sector (tt)置于正确位置后读写块中数据的实际时间 • 1>2>3

6、如何有效利用磁盘硬件?

提示:ppt : Using Disk Hardware Efficiently

• Size of sectors扇区面积

• • • • Larger sector provide faster transfer of large data sets 数据集大时大扇区提供更快的传输速度

But waste storage space inside sectors for small data sets 但浪费了小数据集的存储空间

• Placement of most frequently accessed data items放置频繁使用的数据

• • • On middle tracks rather than innermost or outermost tracks 在中间的磁道而不是最里面或最外面的磁道

Reason: minimize average seek time可以减少寻道时间

Placement of items in a large data set requiring many sectors放置一个需要很多扇区的大数据集

• • Choose sectors from a single cylinder尽量放在同一个柱面

Reason: Minimize seek cost in scanning the entire data set.减少扫描全集花费的时间

7、域(filed)、记录(record)、文件(file)的概念, 提示: Mapping Records and files to Disk.

• Records • •

• Often smaller than a sector Many records in a sector Files with many records文件是记录的集合

• Many sectors per file

8、页面的概念:磁盘与主存之间的最小传输单位。一个文件可能跨越多个页面。一个页面是槽的集合,一个槽包含一条记录

9、文件结构的含义,举例说明几种常用文件结构—heap,Ordered、Hashed 、Clustered。 答:文件结构是指文件中记录的组织形式。

堆:无序文件。记录没有特定的顺序。,根据给定的关键码(如name)查找一条记录需要扫描文件中的记录。在最坏情况下,文件的所有记录都要被检查,所有存储该文件数据的磁盘

页面都要被访问。平均来说,需要检索一半的磁盘页面。优点是在进行插入操作时可以很容易地在文件末尾插入一条新记录。存储河流表

散列文件:使用散列函数吧记录分到一系列散列单元中。可取之处在于它能够把数量大致相同的记录放入每个散列单元中。对于点查询、插入、删除都很有效。不适合范围查询。按字符个数存储城市名称。

有序文件:根据给定的主码与对记录进行组织。折半法非常有效。不能直接运用在空间领域例如,除非对多维空间中的点定义一个全序,否则无法对城市的位置排序。有序文件组织方式还可以根据对空间数据集的文件组织方式而概括成空间聚类。

聚类:聚类的目的就是降低响应常见的大查询的寻道时间(ts)和等待时间(t1)。对于空间数据库来说,这意味着在二级存储中,空间上相邻的和查询上有关联性的对象在物理上应当存储在一起。

10、使用空间填充曲线组织空间数据的意义?

提示:Chapter 1 , Organizing spatial data with space filling curves

• • • •

11、掌握Z-曲线、hilbert曲线的生成。(要求给IJ号,能够写出对应Z码和Hilbert码的计Impose an ordering on the locations in a multi-dimensional space 加强了多维空间中的位置排序

Allow use of traditional efficient search methods on spatial data 允许在空间数据中使用传统的有效搜索

算过程)

12、基于Z-曲线,如何进行区域匹配的?(匹配有效性?)

答:用z1和z2分别代表两个z值,其中z1是较短的一个,并未失去一般性;对于相应的区域(比如块)r1和r2,只有两种可能:1)如果z1是z2的前缀(例如,z1=l***,z2=11**或z1=*l**,z2=11**),则r1完全包含r2;2)两个区域不相交(例如,z1=*0**,z2=11**)。

13、什么是索引?索引文件的内容。主索引和二级索引。A table can have at most one primary index. Why? 答:索引文件是用来提高数据文件查询效率的辅助文件。记录的只有码值和数据文件中的页

面地址。索引记录被排序,数据文件本身可以是不按关键码排序。

主索引,如果数据文件的记录是按照主码排列的,那么索引就只需要保存数据文件的每个磁盘页面第一个主码域值。每个索引记录一个数据页面。

二级索引:堆数据文件,一个索引记录一个数据。

一个磁盘最多只有一个主索引,因为主索引决定了数据在磁盘上的存储顺序。

14、什么是空间索引?有哪些空间索引方法?

答:空间索引结构用一组桶(通常对应二级存储的页面)来组织对象。

空间索引呢就是依据空间对象的位置和形状或空间对象之间的某种空间关系按一定的顺序排列的一种数据结构,其中包含空间对象的概要信息,如对象的标识、外接矩形及指向空间对象实体的指针。

方法:1)在系统中加入专门的外部空间数据结构,为空间属性提供如同B树之于线性属性的功能。

2)使用空间填充曲线(如Z序、Hilbert曲线)将空间对象映射到一维空间,以便空间对象存储在标准的一维索引(例如B树)中。

15、网格文件包含哪两部分内容?建立格网索引的思路和步骤?了解R树索引和R+树索引的思想?

答:包含n维网格目录,目录只能够的每一项指向一个数据桶。第二部分是由称为线性比例的一维数组组成的结构。

思路:是将研究区域用横竖线条划分大小相等或不等的格网,记录每一个格网所包含的空间实体。当用户进行空间查询时,首先计算出用户查询对象所在格网,然后再在该网格中快速查询所选空间实体,这样一来就大大地加速了空间索引的查询速度。

步骤:

划分行列(M X N);

计算网格大小及每个格网的矩形范围;

开辟目标空间(记录目标穿过的网格)和格网空间(记录格网内的目标); 注册点、线、面、注记等目标,并记录之;

提取窗口所覆盖的目标关键字(采用数据位方法,以降低排序时间,及避免数据的绘制顺序等);

提取目标所涉及的网格。

Chapter5 Query Processing and Optimization

1、从查询处理的角度来看,空间数据库与关系数据库之间有哪些主要区别?

答:至少有三个主要区别:①、与关系数据库不同,空间数据库没有固定的运算符集合可以充当查询计算的基本构件

②、空间数据库要处理非常大量的复杂对象,这些对象具有空间范围,不能自然的排列成一维数组。

③、检测空间谓语要用到计算量极大的算法,所以不能再假定I/O代价在CPU的处理代价中只能主导地位

2、空间查询的基本构件有哪些?

提示:ppt5.1.2 Choice of building blocks,List of building blocks Point Query,Range Query,Spatial Join,Nearest Neighbor; 点查询:给定一个查询点P,找出所有包含它的空间对象O 范围或区域查询:给定一个查询多边形P,找出所有与之相交的空间对象O 空间链接:两个表R和S基于一个空间谓语θ进行连接时,该连接成为空间连接。 最近邻居:空间聚集,即给定一个对象O,找出所有距离O最近的对象P

3、空间查询处理的“过滤-精炼模式”是什么,其目的?(对象操作的两步查询处理) 目的:用两步算法高效地处理复杂的数据类型

过滤:寻找Q最终结果的超集S;精炼:利用GIS处理S来找到精确的Q的答案

4、空间查询处理中,一般是采用什么(MBR))来替代不同类型的空间实体(如线、面)?这样做有何好处?

提示:Ppt:Approximating spatial data types Minimum orthogonal bounding rectangle (MOBR or MBR)最小外接矩形 approximates line string, polygon, …近似的线串,多边形 See Examples below (Black rectangle are MBRs for red objects)

MBRs are used by spatial indexes, e.g. R-treeM Algorithms for spatial operations MBRs are simple空间操作MRS的算法很简单

5、举例说明SDBMS是如何利用空间实体的MBRs来加快处理速度的? Ppt:Approximate Spatial Operations

6、对于点查询、区域查询、空间连接查询操作,各自有哪些处理算法(策略)?它们与什么因素有关?

提示:Strategies for Point Queries,Strategies for Range Queries,Strategies for Spatial Joins 与包含待查询的关系的文件的组织方式有关。

答:点查询:数据未排列且没有索引:穷举法,扫描整个文件并判断每条记录是否满足谓语

建立空间索引:在索引中使用find操作;需要查找的磁盘扇区等于索引的深度

空间填充曲线散列:运用折半法寻找点;检验大约logB(n),的磁盘扇区

区域查询:数据未排列且没有索引:穷举法,扫描整个文件并判断每条记录是否满足谓语

建立空间索引:在索引中使用范围查询操作

空间填充曲线散列:验证Z值满足范围查询要求;使用折半查询找到最低的Z值;扫描前面的数据文件直至满足查询要求的最大的Z值 空间连接:嵌套循环,检验所有可能的空间谓语对;

基于空间分块,只检验普通空间区域的对象对 树匹配:从每张表中找出分层的的对象组

7、什么是查询优化器?查询优化器所承担的主要任务是什么?

答:查询优化器是数据库软件中的一个模块,它用于产生不同计算计划并确定适当的执行策略。主要任务:逻辑转换、动态规划。

8、查询语言与查询树之间的互换? 语法分析器执行

9、对查询树进行逻辑转换的目的和一般方法是什么? 答:方法:将非空间的选择和投影操作下推

目的:减少连接操作所涉及的关系大小,从而减少计算代价。

10、Distributed Environments的概念?在分布式环境下,空间数据库系统面临哪些挑战? 提示ppt:New issues for SDBMS)

答:自治异质计算机的集合,通过网络连接,服务器框架:服务器提供定义明确的服务,用户使用服务。

挑战:概念模型上:不同种类模式之间的转换

逻辑模式上:在其他SDBMS上命名、查询表;其他SDBMS上的表要复制原始表

查询过程与优化:通过网路的数据传输代价将会主导CPU和I/O代价,需要新的策略来控制数据的传输成本。

11、举例说明分布式空间数据库的半连接操作。(书上P161) 答:1)只将连接属性和主码从站点1发送到站点2 2)只将有关元组从站点2发送到站点1.

12、了解基于Web的空间数据库系统的体系结构。(书上P162)

Chapter 6: Spatial Networks

1、举例理解空间网络、空间网络查询。铁路网络、密西西比河河网,查询YW线沿途车站数量,最后一个车站,密西西比河的支流名称

2、图及其相关概念。

答:一个图G=(V,E)是由一个有限顶点集V顶点之间的边集E组成的。边集E顶点集V的一个二元关系。

如果构成边集的各个顶点对是有序的,那么图G就是有向的(directed);否则该图是无向的(undirected)。

顶点和边有时也分别称为结点(node)和链接(1ink)。

有序顶点对的第一个顶点称为前驱(predecessor)或者源(source),第二个顶点称为后继(successor)、目的(destination)或汇点(sink)。

图的结点和链接有时要添加标号(Label)和权重(weight),以便表示附加的信息。

如果两条边共享一个结点,那么它们是邻接的(adjacent),一系列邻接边组成一条路径(path)。 例如,序列(v0,v1),(v1,v2),„,(vn-2,vn-1),(vn-1,vn)表示一条路径,因为每条边都与前一条边或者后一条边有一个公共结点。如果端点v0和vn是同一个结点,那么这条路径称为一个环(cycle)。河流网中没有环,而在铁路系统中,一条往返旅行线路构成一个环。

3、图的物理存储。邻接矩阵、邻接表(书上P182)

4、关系代数对于空间网络查询的主要缺陷?传递闭包的概念?

5、答:无法计算传递闭包。图G(V,E)的传递闭包G*是满足下列条件的图,它与G有相同的顶点集V,但它的边集则由G的所有路径组成。

6、SQL2 Connect语句的使用,会书上的例子。

7、SQL3 With Recursive 语句的使用

8、路径查询处理的种类:单对、单源、所有对。

9、答:一个常用的图操作就是确定道路网中两个点A和B之间的最短路径,路径计算可以分为:

单对(single pair) :给定一个图G=(V, E)和N中的顶点u与v,找出u与v之间的最优路径。单对的一个特例就是最短路径问题。

单源(single source) :给定一个源结点u,找出从u到G中所有可达结点之间的最优路径。--部分传递闭包(partial transitive closure)问题。

所有对 (all pairs):在G中找出y的所有结点u和v之间的最优路径。--有关传递闭包的问题。

10、图遍历的含义,图遍历的方法--Breadth first search和Depth first search 答:图遍历(graph traversal)算法是所有路径查询的计算基础,它沿着图的边,通过从一个结点到另一个结点的遍历来搜索路径。路径搜索是一个递归的操作,需要不断把结点的邻接表从磁盘读到内存缓冲区中。所以,为了使图操作的查询处理更加快速、有效,必须对图算法进行特别的设计,以使其I/O代价达到最小。

• Breadth first search -给定一个图G以及G中的一个源结点v,BFS算法访问所有从v可以到达的结点。算法首先访问源结点v的所有直接邻居。一个结点的直接邻居就是该结点的邻接表中的元素。然后算法递归地访问直接邻居的邻接表,如此循环下去.(P196) • 与BFS算法正好相反,DFS算法先访问源结点的一个直接邻居,然后,在访问其他直接邻居之前,递归地访问其后继邻居。如此一来,DFS算法是先沿着边走完一条“路径”,然后再返回到顶层去走其他的“路径”。

11、Shortest Path 算法-- 掌握Dijktra’s algorithm、了解Best first algorithm。(P197)

设A为源点,求A到其他各顶点(B、C、D、E、F)的最短路径。线上所标注为相邻线段之间的距离,即权值。

12、点线面空间实体的存储方法是否适用于空间网络?为什么?

13、空间网络数据的存储一般需要考虑什么因素?非分离边、分离边的概念,连通性剩余率的含义及其计算;

答:最小的I/O操作成本。非分离边:一条边的两个端点位于同一个磁盘页中; 分离边:一条边的两个端点位于不同磁盘页中。

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:iwenmi@163.com。举报文章