1.关系代数包含哪些基本运算并举例
答:关系代数是以关系为运算对象的一组高级运算的集合。常见的关系代数包括5个集合运算与3个关系运算。
集合运算:并运算、交运算、差运算、乘运算、除运算;
关系运算:选择运算、投影运算、连接运算。
①并运算
②交运算
③差运算
④乘运算
⑤选择运算
⑥投影运算
⑦连接运算
⑧除运算
2.什么是分布式数据库系统
答:
分布式数据库系统是地理上分散而逻辑上集中的数据库系统,通常是由计算机网络将地理上分散的各逻辑单位连接起来而组成的。被连接的逻辑单位称为节点或场地,节点或场地指的是物理上或逻辑上的一台计算机。
分布式数据库系统由分布式数据库和分布式数据库管理系统组成。分布式数据库是分布在一个计算机网络上的多个逻辑相关的数据库的集合,逻辑上属于同一系统,物理上分布在计算机网络的各个不同的场地上。分布式数据库管理系统是分布式数据库系统的一组软件,负责对分布式数据库中的数据进行管理和操作。
3. 分布式数据库系统应用举例
答:举例——软件公司信息存储系统
此软件公司的总部设在北京,有多家分公司:东京分公司、上海分公司、广州分公司。
全局模式如下:
EMP(ENO,ENAME,TITLE)
ASSIGNMENT(ENO,PNO,RESPONSIBILITY,DURING)
PROJECT(PNO,PNAME,BUDGET)
PAY(TITLE,SALARY)
可基于此提出要求:
- 各分公司管理本公司的员工信息、项目信息和雇员承担的项目信息
- 总公司管理50万元以上的项目信息
根据要求列出数据分布图:
从图中可得全局数据根据需求分布存储在不同的场地上。
如上海分公司的DB存储上海分公司的员工信息、项目信息和雇员承担的项目信息;
东京分公司的DB存储东京分公司的员工信息、项目信息和雇员承担的项目信息;
广州分公司的DB存储广州分公司的员工信息、项目信息和雇员承担的项目信息;
北京总公司的DB存储北京公司的员工信息、项目信息和雇员承担的项目信息,还要存储50万元以上的项目信息。
4.分布式数据库系统有哪些特点
答:分布式数据库系统是在集中式数据库系统和计算机网络技术的基础上发展起来的,同时提出了许多新观点、新方法和新技术,有效地提高了系统的性能。
(1)分布式数据库系统的优势
分布式数据库系统由多个场地上的数据处理节点组成,允许存在一定的数据冗余,强调局部处理能力,它具有如下明显的优势:
- 适合分布式数据管理,能有效地提高系统性能。
- 系统建设成本低,经济性和灵活性较好。
- 系统的可用性和可靠性强,容错能力强。
(2)分布式数据库系统存在的问题
- 系统设计复杂。
- 系统处理和维护复杂。
- 数据的安全性和保密性较难控制。
5.选一种分布式数据库原型系统调研
答:选择SIRUS-DELTA系统进行调研。
SIRUS-DELTA系统是法国SIRIUS计划开发的DDBS原型之一,它是世界上著名的四大分 布式数据库样板系统之一。SIRUS-DELTA建立在小型计算机局部网上,支持异质节点。该系统实现了在异质节点系统中如何使用多层体系结构、全局概念模式和全局外模式。它对全局用户和局部用户均提供了完全的数据透明性。同时还对全局用户提供了具有查询优化功能的高级用户语言。SIRUS-DELTA允许各种类型的数据分布,能够对数据库进行竞争性存取,而且采取了“滚回”的并发控制技术。该系统具有较好的私有性、完整性和可靠性。它 对于我国开展分布式数据库系统的研究工作,从理论和实践上都具有一定的参考价值。
(1)SIRUS-DELTA的系统基本特点
从系统的总体设计目标出发,SIRUS-DELTA具有下列基本特点:
- 数据的分布对用户的透明性;
- 支持不同类型的数据分布;
- 分布式数据在多用户存取和出现故障时均能保持数据的一致性;
- 系统具有安全性,允许节点的异质性。
(2)SIRUS-DELTA的系统结构
在每一个节点上,SIRUS-DELTA都是由四个系统功能级和一个传输级组成的。
传输级负责控制节点之间的联系。诸如:信息的顺序控制、一个信息的无差错发送、节点接受信息的标志管理等。每一个系统功能级都是由两部分组成的总体级和局部级。总 体级负责提供分布式数据库系统的统一观点,而局部级则是按照这种观点建立与局部软件 的联系。
SIRUS-DELTA的四个系统功能级别分别是:
- 提供对数据库中的数据进行管理功能的DBMS级;
- 提供对分布式数据进行操作功能的SILOE级;
- 提供对数据进行竞争性存取与控制功能的SCORE级;
- 提供分布式执行功能的SER级。
(3)SIRUS-DELTA的工作流程
- 提交:用户在总体一级向系统提交请求。请求使用的是基于外模式的DBMS外部语言。
- 回答用户:执行的结果被传送到总体一级,由提交给用户。
- 更新:在分布式数据库中,一个更新的事务处理,是在事务处理命令结束时,通过总体SCORE与局部SCORE之间的对话,产生出一份声明(声明事务处理命令有效,或者声明事务处理命令作废)。然后由局部SILOE,通过DBMS进行更新。
- 结果的传送:SER负责结果的传送(中间结果或者最终结果),并负责保持局部动作之间的同步。
- 对局部数据库的操作:局部SILOE具有适配和翻译的功能。通过局部SILOE运行局部DBMS,对局部数据库进行操作。我们可以看出,局部动作的真正被执行,用户结果(或中间结果)的产生,也就是在这一步。
- 对竞争性存取的控制:所谓竞争性存取,就是由几个局部动作同时对同一个数据(或者同一批数据)进行存取。对于竞争性存取,是由局部SCORE确保的。所采取的策略是:相容的局部动作同时被执行,其它的局部动作,按照对PEX识别的顺序进行等待。
- 激活局部动作:当局部动作的激活条件满足时,SER负责激活PEX中所指出的节点上的局部动作。
- 对PEX授权:总体SCORE把该请求的唯一识别权授给D中产生的PEX。
- 优化并产生出一份分布执行计划(PEX):如果存在几种执行路径,通过对执行费用和传输费用的估计,可以选取一个最优的执行路径,从而产生出一份分布执行计划(PEX)。
- 分解定位:为了执行用户的请求,SILOE根据数据分布的情况,首先定位必要的数据,然后对请求进行分解,接着确定局部动作被执行的节点,以及与局部动作相联系的执行路径。
- 句法语义分析:在总体级,DBMS根据总体外模式和总体概念模式,对用户的请求进行分析。如果请求是正确的,则把它传送给总体SILOE级。
本题所参考文献:
[1]李平安.分布式数据库系统-SIRIUS-DELTA[J].计算机工程与应用,1988(05):56-61+67.