数据库简答题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章
1.8. List four significant differences between a file-processing system and a DBMS.
答:1.两者都包含了一系列的数据以及一些可用于操作数据的程序。数据库管理系统能够协调该数据的物理结构以及逻辑结构。而对于文件处理系统而言,只有物理结构。
2.数据库管理系统可以确保所有经授权访问的程序能够访问到数据的物理部分,因此可
以减少数据冗余。在文件处理系统中,当一个数据被一个程序所写入的时候,它有可能不能被另一个程序所读取。
3.数据库管理系统提供灵活的访问方法(例如查询),而文件处理系统则要按照事先确
定的方法去访问数据(例如程序编译)
4.数据库管理系统可以让多个用户在同一时间对同一数据进行操作。而文件处理系统通
常是允许一个或多个程序在同一时间访问不同的数据。在文件处理系统中,当且仅当两个文件在同一时间对同一个文件进行只读操作时才能并发进行这个操作。
1.9 Explain the concept of physical data independence, and its importance in database systems. 答:物理数据独立是指能够应用程序不受影响的情况下修改物理模式。物理层的实现比较复杂,物理数据独立之后,当逻辑层需要修改某些数据的时候,就不需要设计复杂的物理结构,减轻了逻辑层的负担。
1.10 List five responsibilities of a database-management system. For each responsibility, explain
the problems that would arise if the responsibility were not discharged.
答:1.与文件管理器进行交互。如果没有了,数据库管理什么都做不了,包括数据存储以接受。
2.完整性约束。缺少之后,一致性约束就没法满足。
3.安全性。没有安全性管理,未经授权的用户可能会访问到数据库里面的数据以及已经
拥有部分授权的用户访问到未经授权的部分。
4并发执行。
5.备份和恢复。
1.13 What are five main functions of a database administrator?
答:1.模式定义2.存储结构以及存取方式定义3.模式以及物理组织的修改 4.数据访问授权
5.日常维护
1.14 Explain the difference between two-tier and three-tier architectures. Which is better suited
for Web applications? Why?
答:区别:两层体系结构中,应用程序驻留在客户机上面,通过查询语言表达式来调用服务器上的数据库系统功能。
在三层体系结构中,客户机只作为一个前端并且不包含任何直接的数据库调用。
客户端通常通过一个表单界面与应用服务器进行通信。而应用程序与数据库通信
以访问数据。
三层体系结构更适合Web应用。可以减轻客户机的负荷。
第二章
2.10 Consider the advisor relation shown in Figure 2.8, with s id as the primary key of advisor.
Suppose a student can have more than one advisor. Then, would s id still be a primary key of the advisor relation? If not, what should the primary key of advisor be?
答:不是。因为一个学生可能会被多个导师指导,用导师无法区分学生。主码应该是i_id 和s_id。
2.11 Describe the differences in meaning between the terms relation and relation schema.(关系和关系模式在意义上的区别)
答:关系模式(Relational Scheme):它由一个关系名以及它所有的属性名构成。它对应二维
表的表头,是二维表的构成框架(逻辑结构)。
关系(Relation):表示多个实体之间的相互关联,每一张表称为该关系模式的一个具体关系。它包括:关系名,表的结构和表的数据(元组)。
2.14 List two reasons why null values might be introduced into the database.
答:当确切的值不存在或者不知道的时候,空值就可能会被引入。
第四章
4.17 Explain why, when a manager, say Satoshi, grants an authorization, the grant should be done
by the manager role, rather than by the user Satoshi.
答:考虑一下,如果用户Satoshi并不是一个经理但是可以授予权限,当他离开公司的时候,上层回收原属于他的所有权限,尽管有些人的工作尽管没变,但是权限也一样被回收。
如果权限授予是由经理完成的,从Satoshi里回收权限的时候就不会发生级联撤销。
在授权图图里面,我们可以把经理以及用户当成是一个结点。如果权限是由经理授予,从Satoshi那里回收权限是不会对经理造成任何影响的。
4.18 Suppose user A, who has all authorizations on a relation r, grants select on relation r to public with grant option. Suppose user B then grants select on r to A. Does this cause a cycle in the authorization graph? Explain why.
答:会的。A授予权限给所有用户,会产生一条从A到所有用户的边,这就意味着每个人都拥有权限,B也一样具有。这也意味着public到系统里面所有的用户都会有一条边。如果没有的话,就不会存在一条从授权图的根到代表该用户定点的路径(用户具有授权的充要条件)。B可以进行权限转移,当B把权限转移给A的时候,就会有一条从B到A的边,也就构成了环。
第五章
5.21 Suppose there are two relations r and s, such that the foreign key B of r references the primary key A of s. Describe how the trigger mechanism can be used to implement the on delete cascade option, when a tuple is deleted from s.
答:有一些关系的主码被一些其他关系作为外码被参照,我们为这些关系定义了触发器。每当一条元组从被参照的关系中删除时,触发器就会被激活。触发器的动作是搜索所有参照的关系后,如果外码的值与被参照关系中被删除元组的主码的值相等的话,就删除这些外码值所在的元组。这一类触发器将会和级联删除操作拥有相同的作用。
5.22 The execution of a trigger can cause another action to be triggered. Most database systems