《2022年数据库应用答案二归类 .pdf》由会员分享,可在线阅读,更多相关《2022年数据库应用答案二归类 .pdf(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章 习题1选择题(1)设 A、B 两个数据表的记录数分别为3 和 4,对两个表执行交叉联接查询,查询结果中最多可获得(C )条记录。A3 B. 4 C. 12 D. 81 (2)如果查询的SELECT 子句为 SELECT A, B, C * D,则不能使用的GROUP B 子句是(A ) 。AGROUP BY A BGROUP BY A,B CGROUP BY A,B,C*D DGROUP BY A,B,C,D (3)关于查询语句中ORDER BY 子句使用正确的是(C ) 。A如果未指定排序字段,则默认按递增排序B数据表的字段都可用于排序C如果在 SELECT 子句中使用了DISTIN
2、CT 关键字, 则排序字段必须出现在查询结果中D联合查询不允许使用ORDER BY子句(4)在查询设计器中,不能与其他窗格保持同步的是(D ) 。A关系图窗格B. 网格窗格CSQL 窗格D. 结果窗格(5)下列函数中,返回值数据类型为int 的是(B ) 。ALEFT B. LEN CLTRIM D. SUNSTRING 2填空题(1) 在启动查询分析器时,在登录对话框中可使用(Local )作为本地服务器名称。(2) 查询分析器窗口主要由对象浏览器和(查询)窗口组成。(3) 从 Windows “开始”菜单启动查询分析器后,默认数据库为(master ) 。(4) 以表格方式显示的查询结果保
3、存为( 导出)文件,其文件扩展名为(csv ) ;以文本方式显示的查询结果保存为(报表)文件,其文件扩展名为(rpt ) 。(5) 可使用(PRINT )或(SELECT )语句来显示函数结果。(6) 在查询语句中,应在(SELECT )子句中指定输出字段。(7) 如果要使用SELECT 语句返回指定条数的记录,则应使用(TOP )关键字来限定输出字段。(8) 联合查询指使用(UNION )运算将多个(查询结果)合并到一起。(9) 当一个子SELECT 的结果作为查询的条件,即在一个SELECT 语句的WHERE 子句中出现另一个SELECT 语句,这种查询称为(嵌套)查询。(10) 连接查询
4、可分为3 种类型:(内连接)、 (外连接)和交叉连接。3问答题(1) 在 SELECT 语句中, 根据列的数据对查询结果进行排序的子句是什么?能消除重复行的关键字是什么? (2) 写出与表达式“仓库号NOT IN(wh1,wh2) ”功能相同的表达式。用BETWEEN 、AND 形式改写条件子句WHERE mark 550 AND mark650。(3) 在一个包含集合函数的SELECT 语句中, GROUP BY 子句有哪些用途? 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1
5、 页,共 5 页 - - - - - - - - - (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 所有女生的信息
6、和女生的人数。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(GETDA TE()-YEAR(birthday) AS 年龄,b.c_n
7、o,b.score FROM student a INNER JOIN sco b ON a.s_no=b.s_no 某个指定姓名学生的成绩。SELECT a.s_name,b.score FROM student a INNER JOIN sco b ON a.s_no=b.s_no WHERE a.s_name=” 张三 ” 不及格学生的姓名。SELECT a.s_name FROM student a INNER JOIN sco b ON a.s_no=b.s_no WHERE b.score35 查询有 10 名以上 (含 10 名)职工的部门信息(部门名和职工人数),并按职工人数降
8、序排序。SELECT 部门名 ,COUNT( 职工号 )AS 职工人数 FROM 部门 , 职工 WHERE 部门 . 部门号 =职工 . 部门号 GROUP BY 部门名 HAVING COUNT(*)=10 ORDER BY 职工人数 DESC 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 5 页 - - - - - - - - - 第五章习题答案1选择题(1)SQL 语言中,删除一个视图的命令是(B ) 。A. DELETE B. DROP C. CLEAR D.
9、 REMOVE (2)建立索引的作用之一是( D )。A 节省存储空间B. 便于管理C 提高查询速度D. 提高查询和更新的速度(3)以下关于主索引和候选索引的叙述正确的是( C )。A主索引和候选索引都能保证表记录的惟一性B主索引和候选索引都可以建立在数据库表和自由表上C主索引可以保证表记录的惟一性,而候选索引不能D主索引和侯选索引是相同的概念(4)在数据库设计器中,不能完成的操作是() 。A创建数据表关联B修改数据表关联字段C修改关联中的主键表和外键表D删除关联(5)下面所列条目中, (C )不是标准的SQL 语句。A. ALTER TABLE B. CREATE TABLE C. ALTE
10、R VIEW D. CREATE VIEW 2填空题(1)索引是数据库中一种特殊类型的对象,它与(数据库表)有着紧密的关系。(2)在数据库中,索引使数据库程序无需对整个表进行(扫描) ,就可以在其中找到所需数据。(3)在 SQL Server 2000 中可创建 3 种类型的索引,即惟一性索引、( 主键索引)和聚集索引。(4)视图是一个(虚拟表) ,并不包含任何的物理数据。(5)视图属性包括视图(视图名称、权限、所有者、创建日期)和用于创建视图的文本等几个方面。3问答题(1)聚集索引与非聚集索引之间有哪些不同点?在一个表中是否可以建立多少个聚集索引和非聚集索引?答: 在建立了聚集索引的基本表中
11、,表中各记录的物理顺序与索引键值的逻辑顺序相同;数据表中数据更改后需要对记录重新物理排序。而在只建立了非聚集索引的表中,记录的物理顺序不一定与索引键值保持一致;数据表中数据更改后,不需要对表中记录重新排序,只需要更新对应的索引即可。一个基本表中只能建立一个聚集索引,但可以建立多个非聚集索引。(2)一个复合索引中最多可以包含多少个字段?答:SQL Server 中的复合索引就是由两个或多个字段组合而成的索引,是从索引的维护和管理角度来划分的索引类型,可以是聚集索引,也可以是非聚集索引,但不包括其中的惟一性索引, 每个表只能建立一个聚集索引,但最多可以创建249 个非聚集索引, 一个索引包Note
12、:此题是 VFP的概念(周肆清注)Note:此题是 VFP的概念,无答案(周肆清注)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 5 页 - - - - - - - - - 含的字段最大数目为16 个,所有索引中所包含的字段字节长度之和不能超过900 个字节。(3)在哪些情况下SQL Server 会自动建立索引?答:如果表上尚未创建聚集索引,且将某字段设置为主键约束时未指定非聚集索引,则会自动创建惟一性聚集索引以强制实施该约束;在某字段上设置惟一性约束时,自动在该字段
13、上创建惟一性非聚集索引以强制该约束。(4)什么是视图?视图有哪些用途?答:视图是一个虚拟表,同物理的基本表一样在逻辑上也包含一系列带有名称的列和数据行, 但本身并不包含任何的物理数据,数据仍存放在定义视图的基本表中。对视图的操作与对表的操作一样, 可以对其进行查询、修改和删除。 当对通过视图看到的数据进行修改时,相应的基表的数据也会发生变化,同样, 若基表的数据发生变化,这种变化也会自动地反应到视图中。视图的用途:(1)简化操作通过视图可以对经常使用的联接、投影、联合查询操作简化用户操作数据的方式。(2)定制数据视图允许用户以不同的方式查看数据。(3)导出数据可以建立一个基于多表的视图,然后用
14、SQL Server 的批复制程序(BCP)复制视图引用的数据行到一个文件中,而这个文件又可以被导入到excel 等程序中供进一步分析使用。(4)提高安全性可以使用 GRANT 和 REVOKE 命令为各种用户授予在视图上的操作权限,但不授予用户在基本表上的操作权限。这样通过视图, 用户只能查询或修改各自所能见到的数据,从而保证了数据的安全。4应用题(1)使用向导对student_db 数据库中st_info 表建立一个索引。答:在企业管理器中,单击主菜单“工具”“向导”,弹出“选择向导”对话框,展开“数据库” 节点后选择“创建索引向导” , 然后按向导要求选择数据库为student_db,
15、表 st_info和需要建立索引的字段列即可。(2)使用企业管理器对student 数据库的 st_info 表建立一个索引。答:在企业管理器中,展开数据库节点,选择“student_db”数据库,再单击“表” ,在右窗格中显示了所有该数据库的表,选择“st_info”表,鼠标右键弹出右键菜单,在菜单中选择“所有任务”“管理索引”命令,弹出“管理索引”对话框,在对话框中,单击“新建”按钮,弹出“新建索引”对话框,在对话框中输入要创建的索引名称,再选择用于创建索引的列,并设置索引的各种选项,最后单击“确定”按钮完成索引的创建。(3)使用企业管理器删除第5 题中所建立的索引。答:在企业管理器中选择
16、要删除索引的表,鼠标右键在弹出菜单中单击“设计表” 命令,弹出“设计表” 对话框, 在对话框的表编辑区单击鼠标右键,在弹出的菜单中单击“索引键”命令,弹出“属性”对话框,(会自动选定“索引/键”选项卡) ,从“选定的索引”列表中选择要删除的索引,并单击“删除”按钮,完成删除索引操作。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 5 页 - - - - - - - - - (4)使用向导在student_db 数据库中建立一个视图。答:在企业管理器中,单击主菜单“工具”“
17、向导”,弹出“选择向导”对话框,展开“数据库”节点后选择“创建视图向导”,然后按向导要求选择数据库为student_db,单击“下一步”按钮,然后选择需要包含在视图中的表后再按向导要求继续操作。(5)使用企业管理器在student_db 数据库中建立一个视图。答:启动企业管理器,展开要创建视图的数据库student_db,右键单击“视图”项,在弹出的菜单中单击“新建视图”命令,弹出“新建视图”对话框。在“新建视图”对话框中首先单击“添加表”工具按钮或在选定区单击鼠标右键,在弹出的菜单中单击“添加表”命令,弹出“添加表” 对话框。 在“添加表” 对话框中选择创建视图所需的表或视图,单击“添加”按
18、钮,添加完后单击“关闭”按钮。在选定列区中选择将要在视图中所包含的数据列,此时将会在SQL 脚本编辑区显示与之对应的SQL 脚本。当选择完所有列后,单击工具栏中的“运行” 按钮,在数据显示区将显示包含在视图中的数据行。单击“保存” 按钮, 弹出“另存为”对话框,输入视图的名字,单击“确定”按钮,完成视图创建的工作。(6)使用 CREATE VIEW语句在 student_db 数据库中建立一个视图。答:例如创建一个名为stview1 的视图, 用于显示 st_info 表中所有姓 “李”的学生信息:CREATE VIEW stview1 AS SELECT * FROM st_info WHE
19、RE 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 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 5 页 - - - - - - - - -