数据库原理课后习题答案

模式映像定义了特定的外部视图和概念视图之间的对应关系,当概念模式的结构可发生改变时,也可以通过调整外模式/模式映像间的映像关系,使外模式可以保持不变。

8、数据库三级模式划分的优点是什么?它能带来哪些数据独立性? 答:数据库的三级模式的划分实际上将用户、逻辑数据库与物理数据库进行了划分,使彼此之间的相互干扰减到最少。这三个模式的划分实际上带来了两个数据独立性,即物理独立性和逻辑独立性。这使得底层的修改和变化尽量不影响到上层。

9、简单说明数据库管理系统包含的功能。

答:数据库管理系统是数据库系统的核心软件,一般说来,其功能主要包括以下5个方面。

(1) 数据定义和操纵功能 (2) 数据库运行控制功能(3) 数据库的组织、存储和管理(4) 建立和维护数据库 (5) 数据通信接口

第三章

1、char(10)和nchar(10)的区别是什么?它们各能存放多少个字符?占用多少空间?

答:char(10)是定长字符串类型,是普通字符编码,nchar(10)是定长字符串类型,统一字符编码。char(10)存放10个字符,占用10个字节空间;nchar(10) 存放10个字符,占用20个字节空间。

2、char(n)和varchar(n)的区别是什么?其中n的含义是什么?各占用多少空间?

答:char(n)是定长字符串类型,varchar(n)是可变长字符串类型,它按数

据的实际长度来分配空间。其中n的含义都是能够存储的字符的个数,对于char(n)类型其所占的空间固定为n个字节;对于varchar(n)其所占空间最多不超过n或2*n个字节。 3、数据完整性的含义是什么?

答:数据的完整性是为了防止数据库中存在不符合应用语义的数据,为了维护数据的完整性,数据库管理系统提供了一种机制来检查数据库中的数据,看其是否满足语义规定的条件。这些加在数据库数据之上的语义约束条件就是数据完整性约束条件。

4、 在对数据进行什么操作时,系统检查DEFAULT约束?在进行什么操作时,检查CHECK约束?

答:在进行插入操作时检查DEFAULT约束。在进行插入和更新操作时检查CHECK约束。

5、UNIQUE 约束的作用是什么?

答:UNIQUE 约束的作用是保证数据的取值不重复。

第四章

建立教学数据库文件,并插入相关元组。数据库中包括5个表: 学生表: S(SNO,SNAME,SEX,SAGE,SDEPT, BPLACE ) 课程表: C(CNO,CNAME,CREDIT, SEMSTER) 学生选课表:SC(SNO,CNO,GRADE)

教师表: T (TNO, TNAME, TAGE, PROF,SAL) 教师授课表:TC (TNO,CNO,TIME)

以上面的教学数据库文件为例,完成以下查询:

1)查询学生的全部信息。 SELECT * FROM Student 2)查询选修了课程的学生号 SELECT DISTINCT SNO FROM SC

3)查询选修C1或C2且分数大于等于85分学生的学号、课程号。 SELECT DISTINCT SNO, CNO FROM SC WHERE CNO IN(C1,C2) 4)找出年龄在20~23岁之间的学生的学号、姓名和年龄

SELECT SNO , SNAME, SAGE FROM Student WHERE SAGE BETWEEN 20 AND 23

5)查询姓名中第二个汉字是“力”的教师号和姓名

SELECT TNO ,TNAME FROM Teacher WHERE TNAME LIKE‘-力%’。 6)查询选修该课程的学生人数超过3的课程号。

SELECT CNO FROM SC GROUP BY CNO HAVING COUNT(*)>3 7)查询所有选课学生的学号、姓名、选课名称及成绩。

SELECT S.SNO, SNAME, CNAME, GRADE FROM STUDENT S JOIN SC ON S.SNO=SC.SNO JOIN COURSE C ON C.CNO=SC.CNO 8)查询其他系中比计算机系任一教师工资高的教师的姓名和工资。 SELECT TNAME, SAL FROM Teacher WHERE SAL>(SELECT MAX(SAL) FROM Teacher JOIN TC ON T.TNO=TC.TNO WHERE TDEPT=‘计算机系’)

9)查询讲授课程号为C5的教师姓名。

SELECT TNAME FROM Teacher t JOIN TC ON t.TNO=TC.TNO

10)将学号为960100的学生全部选课记录(课程号、分数)插入到学生选课SC表中

INSERT INTO SC VALUES (‘960100’,‘C1’,80) 11)将信息系所有学生年龄增加1岁。

UPDATE STUDENT SET SAGE=SAGE+1 WHERE SDEPT=‘信息系’。 12)删除刘伟教师的记录。

DELETE FROM TEACHER WHERE TNAME=‘刘伟’。

第五章

一、试说明使用视图的好处。 答:1、简化数据查询语句

2、使用户能从多角度看待同一数据 3、提高了数据的安全性 4、提供了一定程度的逻辑独立性

二、使用视图可以加快数据的查询速度,这句话对吗?为什么?

答:不对。因为数据库管理系统在对视图进行查询时,首先检查要查询的视

图是否存在,如果存在,则从数据字典中提取视图的定义,把视图的定义语句对视图语句结合起来,转换成等价的对基本表的查询,然后再执行转换后的查询,所以使用视图不可以加快数据的查询速度。 三、利用第3章建立的Student、Course和SC表,写出创建满足下述要求的视图的SQL语句。

(1)查询学生的学号、姓名、所在系、课程号、课程名、课程学分。 答:CREATE VIEW IS_S_C

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4