江苏科技大学SQL-Server笔试题_第1页
江苏科技大学SQL-Server笔试题_第2页
江苏科技大学SQL-Server笔试题_第3页
江苏科技大学SQL-Server笔试题_第4页
江苏科技大学SQL-Server笔试题_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档 1欢迎下载 SQL Server 笔试题 Sql2008 常见笔试题 试题 1 一 单词解释 2 分 个 34 分 Data 数据 Database 数据库 RDBMS 关系数据库管理系统 GRANT 授权 REVOKE 取消权限 DENY 拒绝权限 DECLARE 定义变量 PROCEDURE 存储过程 事务 Transaction 触发器 TRIGGER 继续 continue 唯一 unqiue 主键 primary key 标识列 identity 外键 foreign key 检查 check 约束 constraint 二 编写 SQL 语句 5 分 题 50 分 包含 笔试题问题和解答答案 1 创建一张学生表 包含以下信息 学号 姓名 年龄 性别 家庭住址 联系电话 Create table stu 学号 int 姓名 varchar 8 年龄 int 性别 varchar 4 家庭地址 varchar 50 联系电话 int 2 修改学生表的结构 添加一列信息 学历 Alter table stu add 学历 varchar 6 3 修改学生表的结构 删除一列信息 家庭住址 Alter table stu drop column 家庭地址 4 向学生表添加如下信息 学号 姓名年龄性别联系电话学历 1A22 男 123456 小学 2B21 男 119 中学 3C23 男 110 高中 4D18 女 114 大学 Insert into stu values 1 A 22 男 123456 小学 Insert into stu values 2 B 21 男 119 中学 Insert into stu values 3 C 23 男 110 高中 Insert into stu values 4 D 18 女 114 大学 5 修改学生表的数据 将电话号码以 11 开头的学员的学历改为 大专 Update stu set 学历 大专 where 联系电话 like 11 6 删除学生表的数据 姓名以 C 开头 性别为 男 的记录删除 Delect from stu where 性别 男 and 姓名 like c 7 查询学生表的数据 将所有年龄小于 22 岁的 学历为 大专 的 学生的姓名和学号示出来 Select 姓名 学号 from stu where 年龄 2002 2 15 AND selldate 2002 2 15 AND selldate 2002 4 29 AND deptno 01 3 答案中的大写单词不允许错误 其他不作要求 ALTER TABLE table1 ADD No id CHAR 12 NOT NULL CONSTRAINT table1 unique UNIQUE 每空 2 分 共 10 分 GROUP BY HAVING GROUP BY HAVING IN 精品文档 9欢迎下载 SQL Server 数据库试题九及答案 一 选择题 每题 2 分 共 30 分 1 下面不属于数据定义功能的 SQL 语句是 C A CREAT TABLE B CREAT CURSOR C UPDATE D ALTER TABLE 2 SQL 数据库中的视图与下列哪项是对应的 C A 关系模式 B 存储模式 C 子模式 D 以上都不是 3 下列选项中不是数据库复制类型的是 A 快照复制 B 差异复制 C 事务复制 D 合并复制 4 下列说法错误的是 D A 一个基本表可以跨一个或多个存储文件 B 一个存储文件可以跨一个或多个基本表 C 每个存储文件与外部存储器上一个物理文件对应 D 每个基本表与外部存储器上一个物理文件对应 5 显示包含警告信息或其他信息的消息框 应该使用的操作是 D A Echo B Message C Warn D MsgBox 6 在 SQL Server 2000 中 索引的顺序和数据表的物理顺序相同的索引是 C A 聚集索引 B 非聚集索引 C 主键索引 D 唯一索引 7 SQL Server 的字符型系统数据类型主要包括 B A Int money char B char varchar text C datetime binary int D char varchar int 8 以下选项中哪一项不是访问数据库系统的接口 C A ODBC B OLE DB C API D ADO 9 在 SELECT 语句的 WHERE 子句的条件表达式中 可以匹配 0 个到多个字符的通配符是 A A B C D 10 SELECT 语句中与 HAVING 子句同时使用的是 C 子句 A ORDER BY B WHERE C GROUP BY D 无需配合 11 15 题使用如下数据 当前盘当前目录下有数据库 db stock 其中有表 stock 的内容是 股票代码 股票名称 单价 交易所 600600 青岛啤酒 7 48 上海 600601 方正科技 15 20 上海 600602 广电电子 10 40 上海 600603 兴业房产 12 76 上海 600604 二纺机 9 96 上海 600605 轻工机械 14 59 上海 000001 深发展 7 48 深圳 000002 深万科 12 50 深圳 11 有如下 SQL 语句 create view stock view as select from stock where 交易所 深圳 执行该语句后产生的视图包含的记录个数是 B A 1 B 2 C 3 D 4 12 有如下 SQL 语句 create view view stock as select 股票名称 as 名称 单价 from stock 精品文档 10欢迎下载 执行该语句后产生的视图含有的字段名是 B A 股票 名称 单价 B 名称 单价 C 名称 单价 交易所 D 股票名称 单价 交易所 13 执行如下 SQL 语句后 select distinct 单价 from stock where 单价 select min 单价 from stock into dbf stock x 表 stock x 中的记录个数是 A A 1 B 2 C 3 D 4 14 求每个交易所的平均单价的 SQL 语句是 D A SELECT 交易所 avg 单价 FROM stock GROUP BY 单价 B SELECT 交易所 avg 单价 FROM stock ORDER BY 单价 C SELECT 交易所 avg 单价 FROM stock ORDER BY 交易所 D SELECT 交易所 avg 单价 FROM stock GROUP BY 交易所 15 在当前盘当前目录下删除表 stock 的命令是 C A DROP stock B DELETE TABLE stock C DROP TABLE stock C DELETE stock 二 填空题 每空 2 分 共 30 分 1 SQL Server 2000 支持 5 种类型的存储过程 系统存储过程 本地存储过程 远程存储过程临时存储 过程 和扩展存储过程 2 在 Microsoft SQL Server 系统中 数据库备份的类型包括 数据库备份 事务日志备份 差异备份 和文件和文件组备份 3 触发器有 3 种类型 即 INSERT 类型 UPDATE 类型和 DELETE 类型 4 Transact SQL 语言有 4 部分元素组成 分别是 数据控制语言 或 DCL 数据定义语言 数据操 作语言 或 DML 和一些附加的语言元素 1 2 3 4 5 事务的 4 个属性 原子性 一致性 隔离性和持久性 6 ADO 的对象模型为层次结构 主要的 ADO 对象有 3 个 Connection Command 和 Recordset 7 函数 datediff year 1998 10 12 2005 1 17 的执行结果是 7 函数 str 1234 56 3 1 的 执行结果是 三 简答题 共 3 题 20 分 2 简述 INSERT 触发器的工作原理 6 分 答 1 为什么要创建索引 4 分 创建索引可以大大提高系统的性能 第一 通过创建唯一性索引 可以保证每一行数据的唯一性 第二 可以大大加快数据的检索速度 这也是所以的最主要原因 第三 可以加速表与表之间的连接 特别是 实现数据的参考完整性方面特有意义 第四 在使用 ORDER BY 和 GROUP BY 子句进行数据检索时 同样 可以显著减少查询中分组和排序的时间 第五 通过使用索引 可以在查询过程中 使用优化隐藏器 提高系统性能 2 简述 INSERT 触发器的工作原理 6 分 当向表中插入数据时 INSERT 触发器触发执行 当 INSERT 触发器触发时 新的记录增加到触发器表中和 inserted 表中 该 inserted 表是逻辑表 保存了所插入记录的拷贝 允许用户参考 INSERT 语句中的数 据 触发器可以检查 inserted 表 来确定该触发器的操作是否应该执行和如何执行 在 inserted 表中 的哪些记录 总是触发表中一行或多行记录的冗余 3 根据所给的商品库和教学库 按照下列所给的每条 SQL 查询语句写出相应的功能 或者按照下列所给 的每种功能写出相应的 SQL 查询语句 每小题 2 分 共 10 分 在名称为商品库的数据库中包含有商品表 1 和商品表 2 它们的定义分别为 精品文档 11欢迎下载 商品表 1 商品代号 char 8 分类名 char 8 单价 float 数量 int 商品表 2 商品代号 char 8 产地 char 6 品牌 char 6 在名称为教学库的数据库中包含有学生 课程和选课三个表 它们的定义分别为 学生 学生号 char 7 姓名 char 6 性别 char 2 出生日期 datetime 专业 char 10 年级 int 课程 课程号 char 4 课程名 char 10 课程学分 int 选课 学生号 char 7 课程号 char 4 成绩 int 1 select distinct 产地 from 商品表 2 从商品库中查询出所有商品的不同产地 2 select from 学生 where 学生号 in select 学生号 from 选课 group by 学生号 having count 1 从教学库中查询出只选修了一门课程的全部学生 3 select from 学生 where 学生号 in select 学生号 from 选课 group by 学生号 having count 2 or not exists select from 选课 where 学生 学生号 选课 学生号 从教学库中查询出最多选修了 2 门课程 含未选任何课程 的全部学生 4 从商品库中查询出每类 即分类名相同 商品的最高单价 select 分类名 max 单价 as 最高单价 from 商品表 1 group by 分类名 5 从教学库中查询出至少选修了姓名为 m1 学生所选课程中一门课的全部学生 select distinct 学生 from 学生 选课 where 学生 学生号 选课 学生号 and 课程号 any select 课程号 from 学生 选课 where 学生 学生号 选课 学生号 and 姓名 m1 四 设计题 每题 4 分 共 20 分 有一个 学生 课程 数据库 数据库中包括三个表 1 学生 表 Student 由学号 Sno 姓名 Sname 性别 Ssex 年龄 Sage 所在系 Sdept 五个属性组成 可记为 Student Sno Sname Ssex Sage Sdept Sno 为关键字 2 课程 表 Course 由课程号 Cno 课程名 Cname 先修课号 Cpno 学分 Ccredit 四 个属性组成 可记为 Course Cno Cname Cpno Ccredit Cno 为关键字 3 学生选课 表 SC 由学号 Sno 课程号 Cno 成绩 Grade 三个属性组成 可记为 SC Sno Cno Grade SNO CNO 为关键字 完成下列操作 1 建立一个 学生 表 Student 它由学号 Sno 姓名 Sname 性别 Ssex 年龄 Sage 所在系 Sdept 五 个属性组成 其中学号属性不能为空 并且其值是唯一的 CREATE TABLE Student Sno CHAR 5 NOT NULL UNIQUE Sname CHAR 20 Ssex CHAR 1 精品文档 12欢迎下载 Sage INT Sdept CHAR 15 2 查考试成绩有不及格的学生的学号 SELECT DISTINCT Sno FROM Course WHERE Grade 0 SELECT FROM Student Where Sname Name ELSE SELECT 警示 不存在姓名为 Name 的学生资料 参考答案 一 选择题 每题 2 分 共 30 分 1 A 2 C 3 B 4 D 5 D 6 C 7 B 8 C 9 A 10 C 11 B 12 B 13 B 14 D 15 C 二 填空题 每空 2 分 共 30 分 1 本地存储过程 远程存储过程 2 事务日志备份 差异备份 文件和文件组备份 3 UPDATE 类型 DELETE 类型 精品文档 13欢迎下载 4 数据控制语言 或 DCL 数据操作语言 或 DML 5 隔离性 持久性 6 Connection Command 和 Recordset 7 7 三 简答题 每题 5 分 共 20 分 1 什么要创建索引 4 分 答 创建索引可以大大提高系统的性能 第一 通过创建唯一性索引 可以保证每一行数据 的唯一性 第二 可以大大加快数据的检索速度 这也是所以的最主要原因 第三 可以加 速表与表之间的连接 特别是实现数据的参考完整性方面特有意义 第四 在使用 ORDER BY 和 GROUP BY 子句进行数据检索时 同样可以显著减少查询中分组和排序的时间 第五 通过使用索引 可以在查询过程中 使用优化隐藏器 提高系统性能 2 简述 INSERT 触发器的工作原理 6 分 答 当向表中插入数据时 INSERT 触发器触发执行 当 INSERT 触发器触发时 新的记录增 加到触发器表中和 inserted 表中 该 inserted 表是逻辑表 保存了所插入记录的拷贝 允 许用户参考 INSERT 语句中的数据 触发器可以检查 inserted 表 来确定该触发器的操作是 否应该执行和如何执行 在 inserted 表中的哪些记录 总是触发表中一行或多行记录的冗 余 3 根据商品库和教学库 按照下列所给的每条 SQL 查询语句写出相应的功能 或者按照下 列所给的每种功能写出相应的 SQL 查询语句 每小题 2 分 共 10 分 1 从商品库中查询出所有商品的不同产地 2 从教学库中查询出只选修了一门课程的全部学生 3 从教学库中查询出最多选修了 2 门课程 含未选任何课程 的全部学生 4 select 分类名 max 单价 as 最高单价 from 商品表 1 group by 分类名 5 select distinct 学生 from 学生 选课 where 学生 学生号 选课 学生号 and 课程号 any select 课程号 from 学生 选课 where 学生 学生号 选课 学生号 and 姓名 m1 四 设计题 每题 4 分 共 20 分 1 建立一个 学生 表 Student 它由学号 Sno 姓名 Sname 性别 Ssex 年龄 Sage 所 在系 Sdept 五个属性组成 其中学号属性不能为空 并且其值是唯一的 CREATETABLE Student Sno CHAR 5 NOT NULL UNIQUE Sname CHAR 20 Ssex CHAR 1 Sage INT Sdept CHAR 15 2 查考试成绩有不及格的学生的学号 SELECT DISTINCT Sno FROM Course WHERE Grade 0 SELECT FROM Student Where Sname Name ELSE SELECT 警示 不存在姓名为 Name 的学生资料 精品文档 15欢迎下载 选择题 每空 分共 分 1 在 MS SQL Server 中 用来显示数据库信息的系统存储过程是 D A sp dbhelp B sp db C sp help D sp helpdb 2 SQL 语言中 删除一个表的命令是 A DELETE B DROP C CLEAR D REMORE 3 关系数据库中 主键是 A A 为标识表中唯一的实体 B 创建唯一的索引 允许空值 C 只允许以表中第一字段建立 D 允许有多个主键的 4 在 Transact SQL 语法中 SELECT 语句的完整语法较复杂 但至少包括的部分 1 B 使用关键 字 2 A 可以把重复行屏蔽 将多个查询结果返回一个结果集合的运算符是 3 B 如果在 SELECT 语句中使用聚合函数时 一定在后面使用 4 A A SELECT INTO B SELECT FROM C SELECT GROUP D 仅 SELECT A DISTINCT B UNION C ALL C TOP A JOIN B UNION C INTO C LIKE A GROUP BY B COMPUTE BY C HAVING D COMPUTE 5 语句 DBCC SHRINK DATABASE Sample 25 中的 25 表示的意思是 B A 25M B 剩余占整个空间的 25 C 已用空间占整个空间的 25 D 以上都不对 6 你是一个保险公司的数据库开发人员 公司的保单信息存储在 SQL Server 2000 数据库中 你使用以 下脚本建立了一个名为 Policy 的表 CREATE TABLE Policy 精品文档 16欢迎下载 PolicyNumber int NOT NULL DEFAULT 0 InsuredLastName char 30 NOT NULL InsuredFirstName char 20 NOT NULL InsuredBirthDate datetime NOT NULL PolicyDate datetime NOT NULL FaceAmount money NOT NULL CONSTRAINT PK Policy PRIMARY KEY PolicyNumber 每次公司销售出一份保单 Policy 表中就增加一条记录 并赋予其一个新的保单号 你将怎么做 a 建立一个 INSTEAD OF INSERT 触发器来产生一个新的保单号 并将这个保单号插入数据表中 b 建立一个 INSTEAD OF UPDATE 触发器来产生一个新的保单号 并将这个保单号插入数据表中 c 建立一个 AFTER UPDATE 触发器来产生一个新的保单号 并将这个保单号插入数据表中 d 用 AFTER UPDATE 触发器替代 DEFAULT 约束条件产生一个新的保单号 并将这个保单号插入数据表中 在 SQL 语言中 如果要建立一个工资表包含职工号 姓名 职称 工资等字段 若要保证工资字段 的取值不低于 800 元 最合适的实现方法是 B A 在创建工资表时为 工资 字段建立缺省 B 在创建工资表时为 工资 字段建立检查约束 C 在工资表建立一个触发器 D 为工资表数据输入编写一个程序进行控制 Select 语句中用来连接字符串的符号是 A B C D 你是一个出版公司的数据库开发人员 对特定的书名的每天的销售情况建立了如下的存储过程 CREATE PROCEDURE get sales for title title varchar 80 ytd sales int OUTPUT AS SELECT ytd sales ytd sales FROM titles WHERE title title IF ROWCOUNT 0 RETURN 1 ELSE RETURN 0 另外建立了一个脚本执行这个存储过程 如果执行成功 将返回对应于书名的每天的销售情况的报表 如果执行失败 将返回 No Sales Found 怎样建立这个脚本 DECLARE retval int DECLARE ytd int EXEC get sales for title Net Etiquette ytd IF retval 0 PRINT No sales found ELSE PRINT Year to date sales STR ytd GO 精品文档 17欢迎下载 DECLARE retval int DECLARE ytd int EXEC get sales for title Net Etiquette ytd OUTPUT IF retval 0 PRINT No sales found ELSE PRINT Year to date sales STR ytd GO DECLARE retval int DECLARE ytd int EXEC get sales for title Net Etiquette retval OUTPUT IF retval 0 PRINT No sales found ELSE PRINT Year to date sales STR ytd GO DECLARE retval int DECLARE ytd int EXEC retval get sales for title Net Etiquette ytd OUTPUT IF retval 0 PRINT No sales found ELSE PRINT Year to date sales STR ytd GO 填空题 空 分共 分 1 如果设计的表不符合第二范式 可能会导致 插入异常 更新异常 删除异常 2 是由 数据定义 语言 数据操纵 语言 数据控制 语言组成 3 SQL Server 在两个安全级上验证用户 分别是 登陆鉴别 对数据库以及角色的许 可验证 4 自定义函数由 标量函数 函数 内嵌表值型函数 函数 多语句表 值函数 函数组成 5 备份策略的三种类型是 备份 备份 备份组成 6 启动一个显式事务的语句为 BEGIN TRANSACTION 提交事务的语句为 COMMIT TRANSACTION 回滚事务的语句为 ROLLBACK TRANSACTION 7 表的每一行在表中是惟一的实体属于 实体 完整性 使列的输入有效属于 域完整性 完整性 两个表的主关键字和外关键字的数据应该对应一致属于 参照完整性 完整性 简答题 共 分 1 在帮助中 n 意思是什么 分 2 请简述一下第二范式 分 3 现有 1 销售表 它们结构如下 分 id int 标识号 精品文档 18欢迎下载 codno char 7 商品编码 codname varchar 30 商品名称 spec varchar 20 商品规格 price numeric 10 2 价格 sellnum int 销售数量 deptno char 3 售出分店编码 selldate datetime 销售时间 要求 写出查询销售时间段在 2002 2 15 日到 2002 4 29 之间 分店编码是 01 的所有记录 写一个存储过程 要求传入一个表名 返回该表的记录数 假设传入的表在数据库中都存在 分 请简述 UPDATE 触发器如何工作原理 分 简答题 共 分 1 分 使用一条 SQL 语句找到重复的值及重复的次数 有一数据表 ZD ks 其中有字段 BM MC 请查询出在 ZD ks 中 BM 有重复的值及重复的次数 没有的不要列出 如下表 BM DUPCOUNT 001 3 002 2 2 描述 5 分 表 1 student 学生信息表 ID int 学生编号 Name varchar 学生姓名 Sex bit 性别 男 0 女 1 Class int 班级编号 表 2 schedule 课程信息表 ID int 课程编号 Name varchar 课程名称 表 3 Grade 成绩信息表 ID int 自动编号 UID int 学生编号 SID int 课程编号 Num int 考试成绩 a 求各班的总人数 分 select Class count 1 as num from student group by Class b 求 1 班女生和男生的平均成绩 分 select S Sex avg G Num as Num from student S Grade G where S ID G ID and S Class 1 group by S Sex c 各班 数据结构 课程名称 不及格的人数 分 select S Class count 1 as nu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论