山东理工大学成人高等教育数据库应用复习题
一、简答题
1. SQL SERVER的两个系统数据库model和tempdb的功能各是什么?
2. 写出利用Transact-SQL语句建立缺省值的语法,并写用Transact-SQL语句绑定缺省值的语句。
3. 什么是存储过程?如何用Transact-SQL语句建立。 4. 什么是死锁现象?如何处理? 5. 说明下列语句的作用: GRANT CREATE VIEW , CREATE TABLE TO cool , caret, hens 二、建立一个数据库Student,其中的“信息”和“成绩”2个表如下,写出利用T-SQL语言完 成以下各题的操作命令
信息
学号(char(4)) 姓名(char(8)) 性别(char(2)) 入学成绩(int( 4)) 年龄(int( 4))
0001 王 敬 男 690 22 0002 李言淑 女 775 21 0003 孙岩 女 689 19
成绩
学号(char(4)) 课程编号(char(5)) 成绩(int( 4))
0001 13512 87 0002 11254 91 0003 21450 89 0004 31248 93 0005 32687 99
1. 删除“成绩”表中“学号”为0003的行;
2. 显示“信息”表中女生的学号、姓名、年龄和入学成绩;
3. 显示”信息”中年龄大于18岁的所有学生的学号、姓名和入学成绩; 4. 显示个人平均成绩高于85分的学生的学号、姓名和年龄; 5. 求出男生的平均入学成绩;
信息
学号(char(4)) 姓名(char(8)) 性别(char(2)) 入学成绩(int( 4)) 年龄(int( 4))
0001 王敬还 男 690 22 0002 李言淑 女 775 21 0003 孙岩 女 689 19 0004 常翔 男 699 23 0005 赵延名 男 668 19
成绩
学号(char(4)) 课程编号(char(5)) 成绩(int( 4))
0001 13512 87 0002 11254 91 0003 21450 89 0004 31248 93 0005 32687 99
1 / 5
0001 21450 85 0004 13510 77
6.显示单科成绩最高的学生的学号、姓名和课程号;
7.在“信息”表中的“学号”列上创建一个非聚集索引,若该索引存在,则删除后重建; 8.建立视图VV2,查询所有学生的学号、姓名、入学成绩和平均分数; 9.创建一个存储过程DELE2,删除“成绩”表中指定的记录;
10.在“信息”表上创建一个触发器trig2,当删除“信息”表记录时,同步删除“成绩”表中指定的记录。
三、用T-SQL语句完成下列题目 1. 用T-SQL语句创建数据库: 创建一个名字为JSJ12的数据库,该数据库包含一个数据文件和一个日志文件,逻辑文件名为JSJ12_DB_data,磁盘文件名为JSJ12DB_data.mdf,文件初始容量为10MB,最大容量为15MB,文件递增容量为2MB,而事务日志文件的逻辑文件名JSJ12_DB_log,磁盘文件名为JSJ12DB_log.ldf,文件初始容量为20MB,最大容量为30MB,文件递增量为1MB(数据库创建在D:\\SERVER文件夹下)
2. 向第1小题数据库JSJ12添加一个数据文件,文件的逻辑名为JSJ12DB2_data,磁盘文件名为JSJ12DB_data.ndf,初始容量为5MB,最大容量为30MB,文件递增量为2MB,将这个数据文件添加到上题建立的名为‘TEGROUP’的文件组内。
3. 用T-SQL语句创建数据库: 创建一个名字为JSJ06的数据库,该数据库包含一个数据文件和一个日志文件,逻辑文件名为JSJ06_DB_data,磁盘文件名为JSJ06DB_data.mdf,文件初始容量为10MB,最大容量为15MB,文件递增容量为2MB,而事务日志文件的逻辑文件名JSJ06_DB_log,磁盘文件名为JSJ06DB_log.ldf,文件初始容量为20MB,最大容量为30MB,文件递增量为1MB(数据库创建在D:\\SERVER文件夹下)
4. 给名字为JSJ06的数据库添加一个名字为‘TEGROUP’文件组。
四、使用Transact-SQL语句建立一个student数据库。具体文件属性如下表
参数
数据库名
操作系统数据文件名 数据文件的最大大小 日志逻辑文件名 日志文件初始大小 逻辑数据文件名 数据文件的初始大小 数据文件增长幅度 操作系统日志文件名
student
D:\\student_da.mdf 20MB student _log 1MB
student _dat 2MB 2MB
D:\\student _log.ldf
参数值
五、说明在利用SQL Server数据库编程时,设计SQL Server数据库的一般过程。
2 / 5
参考答案
一、简答题
1. model 在SQL SERVER系统上创建数据库的模板,创建数据库时,新数据库的第一部分通过复制model数据库中的内容创建,剩余部分由空页填充。
tempdb:系统数据库,用于存放保存所有的临时表和临时存储过程。 2. create default 缺省值名 as 缺省值内容
sp_bindefault 缺省值名,’表名.列名’ 3.存储过程是SQL语句和流程控制语句的集合。包括:系统存储过程和用户定义的存储过程。系统存储过程以sp_开头。其语法格式为:
Create procedure 过程名称 as 程序命令行 4.死锁是一种条件,当两个用户或会话具有不同对象的锁,且每个用户需要另一个用户的锁时,就会发生死锁现象。一般情况下,其中一个用户连接被选做放弃操作。 5. 给用户cool , caret,和hens 授予CREATE VIEW和CREATE TABLE的语句权限 二、建立一个数据库Student,其中的“信息”和“成绩”两个表如下,写出利用T-SQL语言完成以下各题的操作命令
1. delete from 成绩 where 学号=’0003’
2.Select 学号,姓名,年龄,入学成绩 from 信息where 性别=‘女’ 3. select学号,姓名,入学成绩 from 信息 where 年龄>18 4. select 信息.学号,信息.姓名,信息.年龄 from 信息 where信息.学号 =(select 成绩.学号 from 成绩 group by 成绩.学号
having AVG(成绩.成绩)> 85)
5. select AVG(信息.入学成绩) as ‘男生平均入学成绩’ from 信息 where 性别=‘男’
6. select信息.学号,信息.姓名,信息.课程编号from信息,成绩 where信息.学号= (select成绩.学号 from 成绩 where 成绩.成绩=
(select MAX(成绩.成绩)from成绩))
7. IF EXISTS (select name from sysindexes where name=’xxx’)
Drop index 信息.xxx Go
Use student
create index xxx on 信息(学号) go
exec sp_helpindex 信息 go
8. create view vv2
as select 信息.学号,信息.姓名,信息.入学成绩,AVG(成绩) AS ’平均成
绩’
from 信息,成绩 where信息.学号=成绩.学号 group by信息.学号 go
9.create procedure dele2
3 / 5