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的所有记录答案:SELECT * FROM 销售表 WHERE (selldate >= '2002-2-15' AND selldate <='2002-4-29') AND deptno = '01'
7. 从表student中查询年龄在20至23岁之间的学生的姓名(Sname)、系别(Sdept)、和年龄(Sage)。 答案: SELECT Sname, Sdept, Sage FROM Student WHERE Sage BETWEEN 20 AND 23
8. 基于学生-课程数据库中的三个基本表:
学生信息表:s(sno, sname, sex, age, dept) 主码为sno课程信息表:c(cno, cname, teacher) 主码为cno学生选课信息表:sc(sno, cno, grade) 主码为(sno, cno)
(1) “从学生选课信息表中找出无成绩的元组”的SQL语句是
A) SELECT * FROM sc WHERE grade=NULLB) SELECT * FROM sc WHERE grade IS ‘ ’C) SELECT * FROM sc WHERE grade IS NULLD) SELECT * FROM sc WHERE grade =‘ ’
(2) 在“查询选修课程号为4,且成绩在80分以上的所有学生的学号和姓名”的SQL语句中,将使用的表是
A) 学生信息表SB) 学生信息表S和课程信息表cC) 学生信息表S、课程信息表c和学生选课信息表scD) 学生信息表S和学生选课信息表sc 答案:(1):D (2):D 已知关系模式:
S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩 1. 找出没有选修过“李明”老师讲授课程的所有学生姓名
--实现代码: SELECT SNAME FROM S WHERE NOT EXISTS( SELECT * FROM SC,C WHERE SC.CNO=C.CNO AND CNAME='李明' AND SC.SNO=S.SNO)
2. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩 --实现代码:
SELECT S.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE) FROM S,SC,( SELECT SNO FROM SC
WHERE SCGRADE<60 GROUP BY SNO
HAVING COUNT(DISTINCT CNO)>=2 )A WHERE S.SNO=A.SNO AND SC.SNO=A.SNO GROUP BY S.SNO,S.SNAME
3. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名 --实现代码:
SELECT S.SNO,S.SNAME FROM S,(
SELECT SC.SNO FROM SC,C
WHERE SC.CNO=C.CNO
AND C.CNAME IN('1','2') GROUP BY SNO
HAVING COUNT(DISTINCT CNO)=2 )SC WHERE S.SNO=SC.SNO
5. 写出一条修改数据库定义的语句,将AAA数据库的初始大小更改为5MB,最大空间限定为10MB。答案: ALTER DATABASE AAA MODIFY FILE ( NAME = AAA_data, SIZE = 5, MAXSIZE=10 ) (1)创建一个名为Student的表用于存放学生信息,表包含以下列:学号:Sno(char(5)),姓名:Sname(char(10))、性别:Ssex(char(2)、年龄:
Sage(Smallint),系别:Sdep(varchar(10)) 各列均不能为空值。(2)并向表中插入记录,学号:’04160’、姓名:’王燕’、性别 :’女’、年龄:22、系别: ’计算机科学系’
答案:输入SQL语句:(1)create table student(Sno char(5) not null unique Sname char(10) unique, Ssex
char(2), Sage smallint, Sdept char(10));(2)insert into student(Sno, Sname, Ssex, Sage, Sdep) Value(‘04160’,‘王燕’,‘女’,22,‘计算机科学系’)
1。假设供应销售数据库有供应商s,零件p,工程项目j,供销情况spj关系,希望建立四个索引,其中,供应商s中sno按升序建立索引,零件p中pno 按升序建立索引,工程项目j中jno按升序建立索引,供销情况 spj中sno按升序,pno按降序,jno按升序建立索引 2。检索选修课程名为”MS“的学生号和学生姓名答案:1.根据题意建立的索引如下: CREATE UNIQUE INDEX S-SNO ON S(SNO); CREATE UNIQUE INDEX P-PNO ON P(PNO); CREATE UNIQUE INDEX J-JNO ON J(JNO); CREATE UNIQUE INDEX SPJ-NO ON SPJ(SNO ASC,PNO DESC,JNO ASC); 2.SELECT SNO,SNAME FROM S,SC,C WHERE S.SNO=SC.SNO AND SC.CNO=C.CNO AND C.CNAME='MS'
填空已知关系模式: S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名 C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师 SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩 1. 列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号 --实现代码: SELECT
S.SNO,S.SNAME FROM S,( SELECT SC1.SNO FROM SC SC1,C C1,SC SC2,C C2 WHERE SC1.CNO=C1.CNO AND C1.NAME='1' AND SC2.CNO=C2.CNO AND C2.NAME='2' AND SC1.SCGRADE>SC2.SCGRADE )SC WHERE S.SNO=SC.SNO 2. 列出“1”号课成绩比“2”号课成绩高的所有学生的学号及其“1”号课和“2”号课的成绩 --实现代码: SELECT S.SNO,S.SNAME,SC.[1号课成绩],SC.[2号课成绩] FROM
S,( SELECT SC1.SNO,[1号课成绩]=SC1.SCGRADE,[2号课成绩]=SC2.SCGRADE FROM SC SC1,C C1,SC SC2,C C2 WHERE SC1.CNO=C1.CNO AND C1.NAME='1' AND SC2.CNO=C2.CNO AND C2.NAME='2' AND SC1.SCGRADE>SC2.SCGRADE )SC WHERE S.SNO=SC.SNO
一 填空题。1、日志文件具有__________________、_________________、
_________________的功能。2、DBA可以通过________来完成数据库的修复和重建。3、实例级的系统表和系统存储过程都存放在___________数据库。4、使用系统存储过程_________可以查看当前服务器上所有数据库的信息。如果指定了数据库的名字,则返回指定数据库的信息。5、SQL Server提供了两种形式的索引,一种是__________和___________。6、SQL Server使用__________和__________两种方式来标识备份设备。二 选择题1、下列哪个角色或者用户拥有SQL Server服务器范围内的最高的权限?()A dbo B sysadmin C public D guest2、下列哪个帐户可以被删除?()A sa B 正在被使用的帐户 C 映射到数据库用户上的帐户 D以上都不可以被删除 3、下列哪个约束不可以为空?(A)A 主键 B外键 C默认值 D UNIQUE约束4、下列哪种数据类型上不能建立IDENTITY列?(B)A. int B.tiny int C.float D.small int
5、在通常情况下,下列哪个角色的用户不能够删除视图?()A db_owner B db_ddladmin C sysadmin D guest6、在下列哪条命令是用来查询视图对表依赖性的存储过程?(B)A sp_help B sp_depends C sp_select Dsp_relyon7、下列特点哪一项是视图所不具备的?(D)A 分割数据、屏蔽用户所不需要浏览的数据B 提高应用程序和表之间的独立性,充当程序和表之间的中间层C 降低对最终用户查询水平的要求D 提高数据的网络传输速度8、下列哪个统计函数可以计算平均值?(B)A sum B avg C count Dmin9、下列哪类数据不适合创建索引?(C)A经常被查询搜索的列,如经常在where子句中出现的列B是外键或主键的列C包含太多重复选用值的列D 在ORDER BY 子句中使用的列10、下列哪个数据文件是创建和正常使用一个数据库所必不可少的?(C)A 日志文件 B安装程序文件 C主文件 D 次文件三 简单题1、 简述SQL的全称以及其功能2、 简述所有四个系统数据库各自具有的功能3 、简述具有数据完整性的数据所具有的三个特点。4、 简述一下视图所具备的功能5、 简述SQL Sever的安全机制的四个层次四 操作题略
答案一 填空题1、记载用户针对数据库进行的操作 维护数据完整性 帮助用户恢复数据库2、日志文件3、master4、Sp_helpdb5、簇集索引 非簇集索引6、逻辑设备 物理设备二 选择题1、C 2、D 3、A 4、B 5、D 6、B 7、D 8、B 9、C 10、C三 简答题1 略2 答:四个数据库分别为:master tempdb model msdbMaster数据库记录SQL Server 2000所有的服务器级系统信息,所有的注册帐户,和密码,和所有的系统设置信息;master数据库记录了所有用户定义数据库的存储位置和初始化信息。Tempdb数据库记录了所有的临时表格、临时数据和临时创建的存储过程Model数据库是用户建立新数据库的模版,它包含将复制到每个用户数据库中去的系统表。Msdb数据库主要被SQL Server Agent用来进行复制、作业调度、以及管理报警等活动3 略4 答:1、分割数据、屏蔽用户所不需要浏览的数据2、
提高应用程序和表之间的独立性,充当程序和表之间的中间层3、降低对最终用户查询水平的要求5 略
251 出题人:叶厚礼——041112124题型:简答题已知有两个表学生表(学号,姓名,地址,电话)成绩表(学号,科目,成绩,学分)这时,管理员要在学生表中修改某个学生的学号,这时就希望修改了学生表中的学号,成绩表中的该学号也应该变成在学生表中修改后的学号,不许使用两个UPDATE,而希望用触发器实现,即修改了学生表中的学号,成绩表中对应的学号也作一致变化,应如何操作?
答案:create trigger 学号_update on 学生for updateas if update(学号)begin
update 成绩 set 学号=(select 学号