数据库应用答案二

1970-01-01 08:00

第四章 习题

1.选择题

(1)设A、B两个数据表的记录数分别为3和4,对两个表执行交叉联接查询,查询结果中最多可获得( C )条记录。

A.3 B. 4 C. 12 D. 81

(2)如果查询的SELECT子句为SELECT A, B, C * D,则不能使用的GROUP B子句是( A )。

A.GROUP BY A B.GROUP BY A,B

C.GROUP BY A,B,C*D D.GROUP BY A,B,C,D

(3)关于查询语句中ORDER BY子句使用正确的是( C )。

A.如果未指定排序字段,则默认按递增排序 B.数据表的字段都可用于排序

C.如果在SELECT子句中使用了DISTINCT关键字,则排序字段必须出现在查询

结果中

D.联合查询不允许使用ORDER BY子句

(4)在查询设计器中,不能与其他窗格保持同步的是( D )。

A.关系图窗格 B. 网格窗格 C.SQL窗格 D. 结果窗格

(5)下列函数中,返回值数据类型为int的是( B )。

A.LEFT B. LEN C.LTRIM D. SUNSTRING 2.填空题

(1) 在启动查询分析器时,在登录对话框中可使用( Local )作为本地服务器名称。 (2) 查询分析器窗口主要由对象浏览器和(查询 )窗口组成。

(3) 从Windows“开始”菜单启动查询分析器后,默认数据库为( master )。

(4) 以表格方式显示的查询结果保存为( 导出 )文件,其文件扩展名为( csv );以文本方式显示的查询结果保存为(报表 )文件,其文件扩展名为( rpt )。

(5) 可使用( PRINT )或( SELECT )语句来显示函数结果。 (6) 在查询语句中,应在( SELECT )子句中指定输出字段。

(7) 如果要使用SELECT语句返回指定条数的记录,则应使用( TOP )关键字来限定输出字段。

(8) 联合查询指使用( UNION )运算将多个(查询结果)合并到一起。

(9) 当一个子SELECT的结果作为查询的条件,即在一个SELECT语句的WHERE子句中出现另一个SELECT语句,这种查询称为( 嵌套)查询。

(10) 连接查询可分为3种类型:(内连接)、( 外连接)和交叉连接。 3.问答题

(1) 在SELECT语句中,根据列的数据对查询结果进行排序的子句是什么?能消除重复行的关键字是什么?

(2) 写出与表达式“仓库号 NOT IN('wh1','wh2')”功能相同的表达式。用BETWEEN、AND形式改写条件子句WHERE mark> 550 AND mark<650。

(3) 在一个包含集合函数的SELECT语句中,GROUP BY子句有哪些用途?

(4) HAVING与WHERE同时用于指出查询条件,请说明各自的应用场合。 (5) 如果只想查看两个联接的表中互相匹配的行,应使用什么类型的联接? 4.应用题

(1) 使用SQL语句创建学生基本信息表student(s _ no、s _ name、s _ sex、birthday、polity ) 和学生成绩表sco时(s_no、c_no、score)。针对这两个表,利用SELECT语句实现下列查询。

① 所有学生的基本信息,并按学号排序。 SELECT * FROM student ORDER BY s_no ② 所有女生的信息和女生的人数。

SELECT * FROM student WHERE s_sex=”女”

SELECT COUNT(*) as 女生人数 FROM student WHERE s_sex=”女” ③ 所有男生的姓名、出生日期和年龄。

SELECT s_name,birtherday,YEAR(GETDATE())-YEAR(birthday) AS 年龄 FROM student WHERE s_sex=”男”

④ 所有学生的姓名、出生日期、年龄、选修课程和成绩。

SELECT a.s_name, a.birthday, YEAR(GETDATE())-YEAR(birthday) 龄,b.c_no,b.score FROM student a INNER JOIN sco b ON a.s_no=b.s_no

⑤ 某个指定姓名学生的成绩。

a.s_name=”张三”

AS 年

SELECT a.s_name,b.score FROM student a INNER JOIN sco b ON a.s_no=b.s_no WHERE

⑥ 不及格学生的姓名。

SELECT a.s_name FROM student a INNER JOIN sco b ON a.s_no=b.s_no WHERE b.score<60

⑦ 按女生进行分组查询。

SELECT S_SEX ,COUNT(S_SEX)AS 人数FROM student GROUP BY S_SEX (2) 使用如下3个表,写出操作语句。

部门:部门号 C(8),部门名 C(12),负责人 C(6),电话 C(16)

职工:部门号 C(8),职工号 C(10),姓名 C(8),性别 C(2),出生日期 D

工资:职工号 C(10),基本工资 N(8.2),津贴 N(8.2),奖金 N(8.2),扣除N(8.2) ① 查询职工的实发工资。

SELECT 姓名,(基本工资+津贴+奖金-扣除) AS 实发工资 FROM 工资,职工 WHERE 职工.职工号=工资.职工号

② 查询1962年10月27日出生的职工信息。

SELECT * FROM 职工 WHERE 出生日期='1962-10-27'

③ 查询每个部门年龄最长者的信息,要求得到的信息包括部门名和最长者的出生日期。

SELECT 部门名,MIN(出生日期) FROM 部门 JOIN 职工 ON 部门.部门号=职工.部门号 GROUP BY 部门名

④ 查询所有目前年龄在35岁以上(不含35岁)的职工信息(姓名、性别和年龄)。

SELECT 姓名,性别,YEAR(GETDATE())-YEAR(出生日期) AS年龄 FROM 职工 WHERE YEAR(GETDATE())-YEAR(出生日期)>35

⑤ 查询有10名以上(含10名)职工的部门信息(部门名和职工人数),并按职工人数降序排序。

SELECT 部门名,COUNT(职工号)AS 职工人数 FROM 部门,职工 WHERE 部门.部门号=职工.部门号 GROUP BY 部门名 HAVING COUNT(*)>=10 ORDER BY 职工人数 DESC

第五章 习题答案

1.选择题

(1)SQL语言中,删除一个视图的命令是( B )。

A. DELETE B. DROP C. CLEAR D. REMOVE (2)建立索引的作用之一是 ( D )。

A. 节省存储空间 B. 便于管理 C. 提高查询速度 D. 提高查询和更新的速度 (3)以下关于主索引和候选索引的叙述正确的是 ( C )。

A.主索引和候选索引都能保证表记录的惟一性 Note:此题是VFPB.主索引和候选索引都可以建立在数据库表和自由表上 的概念(周肆清注) C.主索引可以保证表记录的惟一性,而候选索引不能 D.主索引和侯选索引是相同的概念

(4)在数据库设计器中,不能完成的操作是( )。

A.创建数据表关联 B.修改数据表关联字段 C.修改关联中的主键表和外键表 D.删除关联

Note:此题是VFP(5)下面所列条目中,( C )不是标准的SQL语句。

的概念,无答案(周肆A. ALTER TABLE B. CREATE TABLE 清注) C. ALTER VIEW D. CREATE VIEW

2.填空题

(1)索引是数据库中一种特殊类型的对象,它与( 数据库表 )有着紧密的关系。 (2)在数据库中,索引使数据库程序无需对整个表进行( 扫描 ),就可以在其中找到所需数据。

(3)在SQL Server 2000中可创建3种类型的索引,即惟一性索引、( 主键索引 )和聚集索引。

(4)视图是一个( 虚拟表 ),并不包含任何的物理数据。

(5)视图属性包括视图( 视图名称、权限、所有者、创建日期 )和用于创建视图的文本等几个方面。

3.问答题

(1)聚集索引与非聚集索引之间有哪些不同点?在一个表中是否可以建立多少个聚集索引和非聚集索引?

答:在建立了聚集索引的基本表中,表中各记录的物理顺序与索引键值的逻辑顺序相同;数据表中数据更改后需要对记录重新物理排序。而在只建立了非聚集索引的表中,记录的物理顺序不一定与索引键值保持一致;数据表中数据更改后,不需要对表中记录重新排序,只需要更新对应的索引即可。

一个基本表中只能建立一个聚集索引,但可以建立多个非聚集索引。

(2)一个复合索引中最多可以包含多少个字段? 答:SQL Server中的复合索引就是由两个或多个字段组合而成的索引,是从索引的维护和管理角度来划分的索引类型,可以是聚集索引,也可以是非聚集索引,但不包括其中的惟一性索引,每个表只能建立一个聚集索引,但最多可以创建249个非聚集索引,一个索引包

含的字段最大数目为16个,所有索引中所包含的字段字节长度之和不能超过900个字节。

(3)在哪些情况下SQL Server会自动建立索引?

答:如果表上尚未创建聚集索引,且将某字段设置为主键约束时未指定非聚集索引,则会自动创建惟一性聚集索引以强制实施该约束;在某字段上设置惟一性约束时,自动在该字段上创建惟一性非聚集索引以强制该约束。

(4)什么是视图?视图有哪些用途? 答:视图是一个虚拟表,同物理的基本表一样在逻辑上也包含一系列带有名称的列和数据行,但本身并不包含任何的物理数据,数据仍存放在定义视图的基本表中。对视图的操作与对表的操作一样,可以对其进行查询、修改和删除。当对通过视图看到的数据进行修改时,相应的基表的数据也会发生变化,同样,若基表的数据发生变化,这种变化也会自动地反应到视图中。

视图的用途: (1)简化操作

通过视图可以对经常使用的联接、投影、联合查询操作简化用户操作数据的方式。 (2)定制数据

视图允许用户以不同的方式查看数据。 (3)导出数据

可以建立一个基于多表的视图,然后用SQL Server 的批复制程序(BCP)复制视图引用的数据行到一个文件中,而这个文件又可以被导入到excel等程序中供进一步分析使用。

(4)提高安全性

可以使用GRANT和REVOKE命令为各种用户授予在视图上的操作权限,但不授予用户在基本表上的操作权限。这样通过视图,用户只能查询或修改各自所能见到的数据,从而保证了数据的安全。

4.应用题

(1)使用向导对student_db数据库中st_info表建立一个索引。 答:在企业管理器中,单击主菜单“工具”\\“向导”,弹出“选择向导”对话框,展开“数据库”节点后选择“创建索引向导”,然后按向导要求选择数据库为student_db,表st_info和需要建立索引的字段列即可。

(2)使用企业管理器对student数据库的st_info表建立一个索引。

答:在企业管理器中,展开数据库节点,选择“student_db”数据库,再单击“表”,在右窗格中显示了所有该数据库的表,选择“st_info”表,鼠标右键弹出右键菜单,在菜单中选择“所有任务”\\“管理索引”命令,弹出“管理索引”对话框,在对话框中,单击“新建”按钮,弹出“新建索引”对话框,在对话框中输入要创建的索引名称,再选择用于创建索引的列,并设置索引的各种选项,最后单击“确定”按钮完成索引的创建。

(3)使用企业管理器删除第5题中所建立的索引。 答:在企业管理器中选择要删除索引的表,鼠标右键在弹出菜单中单击“设计表”命令,弹出“设计表”对话框,在对话框的表编辑区单击鼠标右键,在弹出的菜单中单击“索引键”命令,弹出“属性”对话框,(会自动选定“索引/键”选项卡),从“选定的索引”列表中选择要删除的索引,并单击“删除”按钮,完成删除索引操作。

(4)使用向导在student_db数据库中建立一个视图。 答:在企业管理器中,单击主菜单“工具”\\“向导”,弹出“选择向导”对话框,展开“数据库”节点后选择“创建视图向导”,然后按向导要求选择数据库为student_db,单击“下一步”按钮,然后选择需要包含在视图中的表后再按向导要求继续操作。

(5)使用企业管理器在student_db数据库中建立一个视图。

答:启动企业管理器,展开要创建视图的数据库student_db,右键单击“视图”项,在弹出的菜单中单击“新建视图”命令,弹出“新建视图”对话框。在“新建视图”对话框中首先单击“添加表”工具按钮或在选定区单击鼠标右键,在弹出的菜单中单击“添加表”命令,弹出“添加表”对话框。在“添加表”对话框中选择创建视图所需的表或视图,单击“添加”按钮,添加完后单击“关闭”按钮。在选定列区中选择将要在视图中所包含的数据列,此时将会在SQL脚本编辑区显示与之对应的SQL脚本。当选择完所有列后,单击工具栏中的“运行”按钮,在数据显示区将显示包含在视图中的数据行。单击“保存”按钮,弹出“另存为”对话框,输入视图的名字,单击“确定”按钮,完成视图创建的工作。

(6)使用CREATE VIEW语句在student_db数据库中建立一个视图。

答:例如创建一个名为stview1的视图,用于显示st_info表中所有姓“李”的学生信息:

CREATE VIEW stview1 AS

SELECT * FROM st_info WHERE st_name LIKE '李%'

(7)使用ALTER VIEW语句修改题9中所建立的视图。

答:例如将视图stview1的查询要求修改为“所有姓“李”的男学生信息”:

ALTER VIEW stview1 AS

SELECT * FROM st_info WHERE st_name LIKE '李%' AND st_sex = '男'

(8)使用系统存储过程sp_rename对第10题中所建立的视图进行重命名。 答:例如将视图stview1的名称重命名为stview1_new:

sp_rename stview1, stview1_new

(9)使用DROP VIEW命令删除第10题中所建立的视图。 答:例如将视图stview1从数据库中删除:

DROP VIEW stview1


数据库应用答案二.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:山东省地方课程小学二年级传统文化教案李玉凤

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: