第五章
一、试说明使用视图的好处。
答:1、简化数据查询语句
2、使用户能从多角度看待同一数据
3、提高了数据的安全性
4、提供了一定程度的逻辑独立性
二、使用视图可以加快数据的查询速度,这句话对吗?为什么?
答:不对。因为数据库管理系统在对视图进行查询时,首先检查要查询的视图是否存在,如果存在,则从数据字典中提取视图的定义,把视图的定义语句对视图语句结合起来,转换成等价的对基本表的查询,然后再执行转换后的查询,所以使用视图不可以加快数据的查询速度。
三、利用第3章建立的Student、Course和SC表,写出创建满足下述要求的视图的SQL语句。
(1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。
答:CREATE VIEW IS_S_C
AS
SELECT Sno,Sname,Sdept,Cno,Cname,Credit
FROM Student S JOIN SC ON S.Sno=SC.Sno
JOIN Course C ON http://www.doczj.com/doc/c28f53fe26fff705cc170ad9.htmlo=http://www.doczj.com/doc/c28f53fe26fff705cc170ad9.htmlo
四、利用第三题建立的视图,完成如下查询:
(1)查询考试成绩大于等于90分的学生的姓名、课程号和成绩。
答:SELECT Sname,Cno,Grade
FROM IS_SC
WHERE Grade>=90
五、修改第三题(4)定义的视图,使其查询每个学生的学号,总学分以及总的选课门数。答:ALTER VIEW IS_CC
AS
SELECT Sno,COUNT(Credit),COUNT(Cno)
FROM SC JOIN Course C ON http://www.doczj.com/doc/c28f53fe26fff705cc170ad9.htmlo=http://www.doczj.com/doc/c28f53fe26fff705cc170ad9.htmlo
GROUP BY Sno
第六章
一、关系规范化中的操作异常有哪些?它是由什么引起的?解决的方法是什么?
答:操作异常:数据冗余问题、数据更新问题、数据插入问题和数据删除问题。
它是由关系模式中某些属性之间存在的“不良”的函数依赖关系一起的。
解决的方法是进行模式分解,即把一个关系模式分解成两个或多个关系模式,在分解的过程中消除那些“不良”的函数依赖,从而获得良好的关系模式。
二、第一范式、第二范式和第三范式关系的定义分别是什么?
答:不包含重复组的关系(即不包含非原子项的属性)是第一范式的关系。
如果R(U,F)∈1NF,并且R中的每个非主属性都完全函数依赖于主码,则R(U,F)∈2NF。
如果R(U,F)∈2NF,并且所以的非主属性都不传递依赖于主码,则R(U,F)∈3NF。
三、什么是部分依赖?什么是传递依赖?请举例说明。
答:如果X→Y,有对于X的真子集Xˊ→Y成立,则称Y部分函数依赖于X。