欢迎来到天天文库
浏览记录
ID:13443667
大小:167.00 KB
页数:7页
时间:2018-07-22
《第3章 关系数据模型习题解答》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章关系数据模型习题解答一.简答题1.试述关系模型的完整性规则。在引用(参照)完整性中,为什么外键码属性的值也可以为空?什么情况下才可以为空?关系模型的完整性规则包括:实体完整性、引用(参照)完整性和用户定义的完整性。实体完整性和引用完整性是关系模型必须满足的完整性约束条件,应该由关系系统自动支持。在引用(参照)完整性中,规定A关系的外键码或者取空值或者等于B关系中某个元组的主键码值。至于在什么情况下可以取空值,这要具体问题具体分析才能解决。2.关系模型与其他数据模型相比有哪些突出的优点?有哪些不足之处?(1)关系模型的优点:l关
2、系模型对各种用户提供统一的单一的数据结构形式,即关系(二维表);l数据库的操作都可归结为关系的运算,而关系是建立在集合代数基础上的;l具有高度的数据独立性,用户的应用程序完全不必关心物理存储细节;l数据库管理人员的工作得到了简化,易于对数据库重组和控制。(2)关系模型的缺点:l相当多的关系数据库系统在多表查询时效率往往低于网状系统;l统一的表格形式结构无法有效地区分现实世界事物之间的各种不同类型的联系关系。3.叙述关系模型的实体完整性和参照完整性的含义,并各举一例说明之。(l)实体完整性:在任何关系的任何一个元组中,主键码值的任一分
3、量都不允许为空值。例如,在邮政部门传递信件时,通信地址和姓名是作为主键码属性的,如果这两项中任一项为空值,即任一项为未知的值,那么信件将无法投寄到目的地,因为它不能标识出一个准确的实体。(2)引用完整性:若某个属性或属性组不是A表的主键码,但它是另一张B表的主键码,则该属性或属性组称为A表的外键码。在关系模型中,外键码或者取空值或者等于B中某个元组的主键码值。例如,在学生(学号,姓名,系号)和系(系号,系名,系主任)中,学生表的主键码为学号,系表的主键码为系号,因而系号是学生表的外键码。根据参照完整性,学生表中的系号(外键码)的取值
4、有两种可能:j取空值,表明该学生尚未分配到任何系;k若取非空值,则它必须是系表中某个元组中的系号值,因为该学生不能属于一个不存在的系。4.何谓数据库查询的优化?7在关系数据库查询中,一些性能较好的DBMS能自动选择较优的算法,以花费较小的代价来实现用户所需的查询。这一过程,就称作数据库查询的优化。5.查询优化的优点是什么?查询优化的优点不仅在于用户不必考虑如何最好地表达查询以获得较好的效率,而且在于系统可以比用户程序的“优化”做得更好。因为优化器可以从数据字典中得到许多有用的信息,如当前的数据情况,而用户程序则得不到。优化器可以对各
5、种策略进行比较,而用户程序则做不到。6.查询优化的总目标是什么?查询优化的总目标是:选择有效的策略,求得给定的关系表达式的值。7.简述逻辑层优化的一般策略。关于查询的逻辑层优化包括两大内容:一是查询表达式的优化,二是操作步的划分。在这两方面的一些主要策略有:(1)选择运算应尽可能先做,这在优化策略中是最重要、最基本的一条。(2)如果在查询表达式中,某一子表达式的形式为一个笛卡儿积运算后紧接着执行某些选择运算,则将这两个运算合并为一个联接运算。(3)表达式中的投影运算,一般应尽可能早地执行。但应注意:因可能有某些属性虽然在最后结果中不
6、需要保留,但在执行指定的关系运算中却不可缺少。(4)如果在一个表达式中有某个子表达式重复出现,则应先将该子表达式算出结果保存起来,以免重复计算。(5)如有若干投影和选择运算,并且它们都对同一个关系进行操作,则可以在扫描此关系的同时完成所有的这些运算。(6)把投影运算同其前或其后的二元运算结合起来,没有必要为了去掉某些字段而扫描一遍关系。8.简述物理层优化的一般方法。查询处理的物理层优化,主要包括各种关系代数操作的具体实现算法和索引选择等方面的考虑。(1)关系代数操作的实现算法的研究,目前主要集中在笛卡儿积和联接运算上,目前实现联接操
7、作和笛卡儿积的基本算法有块嵌套算法和排序合并算法两种,运用这些算法能使运行效率得到进一步的改善。(2)在算法实现过程中,为进一步改善查询效率,一般要考虑索引、数据的存储分布等存取路径,这就要求优化器去查找数据字典,获得当前数据库状态的信息。在执行连接前对关系进行适当的预处理,预处理方法主要有二种,先在连接的属性上建立索引和对关系排序,然后执行连接。9、为什么要对关系代数表达式进行优化?通过对关系代数表达式进行优化组合,可以提高系统的效率。7二.问答题1.已知关系R和关系S,求下列运算结果。[解答]PQR.TR.YS.TS.YB7ge
8、fcdm7gefcdn7gefefn7gcdcdm7gcdcdn7gcdefnPQB2bm2bn9zn7gn7gmPQ2b7g72.设两个关系模型为:S(S#,Name,Sex,Age),SC(S#,C#,Grade),用关系代数语言
此文档下载收益归作者所有