SQLSERVER2000上机试题
上机题1:
一:创建一个数据库,并创建两个数据库表。(50分)
1、创建一个名为scxh_db的数据库.(10分)
2、在scxh_db数据库中创建scxh_reg(id,username,password,tel)和scxh_news(newsid,title,content,add_date,hits)两个数据库表,数据类型自定。(30分)
3、导出scxh_db数据库,生成sqlscript脚本并存放到考生文件夹中(通过查询分析器设计的直接保存代码到考生文件夹中)。(10分)
二:存储过程设计。(50分)
1:在scxh_db中编写一个名为scxh_pro的存储过程,要求实现查询scxh_db中scxh_reg表的所有记录。(30分)
2:在scxh_db中编写一个名为class_pro的类属存储过程(即系统存储过程),内容自定。(10分)
3:备份scxh_db数据库,并把备份文件拷贝到考生文件夹。(10分)。
上机题2:
一:创建一个数据库,并创建三个数据库表.
1、以自己的姓名(拼音)创建一个数据库.(10分)
2、在数据库中创建如下三个表,并输入内容
student表(学生表)(10分)
学号 | 姓名 | 性别 | 年龄 | 系别 |
1 | 吴好 | 男 | 18 | 计算机系 |
2 | 崔平 | 女 | 21 | 经管系 |
3 | 钱筱 | 女 | 19 | 电子系 |
course表(课程表) (10分)
课程号 | 课程名 | 学分 |
1 | SQL Server | 4 |
2 | 数据结构 | 3 |
3 | 专业英语 | 2 |
sc表(选课表)(10分)
学号 | 课程号 | 成绩 |
1 | 1 | 88 |
2 | 1 | 90 |
2 | 2 | 70 |
3 | 3 | 79 |
二、写出SQL语句
1、把course表中课程号为3的课程的学分修改为3。(10分)
2、在student表中查询年龄大于18的学生的所有信息,并按学号降序排列。(10分)
3、在以上三个表中查询选的课程的“学分”为3,并且成绩大于80的学生的学号、姓名和性别。(10分)
4、为student表创建一个名称为my_trig的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除SC表中与之有关的记录.
(注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。)(30分)
IF EXISTS (SELECT name FROM sysobjects
WHERE name = ’my_trig' AND type = 'TR')
DROP TRIGGER my_trig
create trigger my_trig
on student
for delete
as
delete sc
from sc,deleted
where sc.id=deleted.id
上机题3:
一:创建一个数据库,并创建三个数据库表。
1、以自己的姓名(拼音)创建一个数据库.(10分)
2、在数据库中创建如下三个表(要求设置表之间的关系)(40分)
学生基本信息表(学号、姓名、性别、专业、出生年月等)
选课表(学号、课程号、分数)
课程表(课程号、课程名、所属专业、学分)
二、写出 SQL 语句。
1、查询所有选 SQL 课程的学生学号,姓名和专业. (10分)
2、删除所有选择数学的同学的选课记录。 (10分)
3、查询有哪些课程没有被任何同学报选. (10分)
4、创建存储过程,能够查询出选修任何课程的学生信息及相应的分数。(10分)
5、创建存储过程,以表格的形式返回本课程的平均分数。(10分)
上机题4:
一:创建一个数据库,并创建两个数据库表。
1、以自己的姓名(拼音)创建一个数据库。(10分)
2、在数据库中创建如下两个表(要求设置表之间的关系)(40分)
员工表:EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号、姓名、工资和所在部门号
部门表:DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门号、部门名称、部门经理的职工号。
二:写出SQL语句:
1、列出各部门中工资不低于600元的职工的平均工资。(10分)
2、查询001号职工所在部门名称。(10分)
3、将“销售部”的那些工资数额低于600的职工的工资上调10%.(10分)
4、在EMP表中增加“EID(员工身份证)”字段,数据类型varchar(18),不可空,并将其设定为UNIQUE约束sqlserver备份表语句。(10分)
5、创建一存储过程,通过输入参数员工姓名(如“张三”),筛选出该员工的基本信息,对不存在此员工姓名的输入值,必须作一检测,打印信息“不存在此员工”。(10分)
上机题5:
一:创建一个数据库,并创建四个数据库表。
1、以自己的姓名(拼音)创建一个数据库。(10分)
2、在数据库中创建如下四个表(要求设置表之间的关系)(40分)
职工情况表:zgqk(zgbh,zgxm,bmbh),其中,zgbh:职工编号;zgxm:职工姓名;bmbh:部门编号。
科研情况表:kyqk(zgbh,kymc,kylb),其中,zgbh:职工编号;kymc:科研名称;kylb:科研类别。
部门表:bm(bmbh,bmmc),其中,bmbh:部门编号;bmmc:部门名称。
工资表:gz(zgbh,jcgz,zwgz,zjgz,fz,sdf),其中,zgbh:职工编号;jcgz:基础工资;zwgz:职务工资;zjgz:职绩工资,fz:房租;sdf:水电费。
二、用SQL实现如下操作:(各10分,共50分)
1、在工资表中插入两个字段:kk:numeric(7,2)和sfgz:numeric(7,2),其中,kk:扣款;sfgz:实发工资.并为kk和sfgz这两个字段赋值,kk=sdf+fz,sfgz=jcgz+zwgz+zjgz-kk.
2、在职工情况表中删除部门名称为“计算机系”的所有职工.
3、统计每个部门的职工人数.
4、查询跟张三在同一部门的职工编号、职工姓名(用exists实现).
5、查询科研成果在3项以及3项以上的职工的编号、姓名.
上机题6:
一:创建一个数据库,并创建三个数据库表。
1、以自己的姓名(拼音)创建一个数据库。(10分)
2、在数据库中创建如下三个表(要求设置表之间的关系)(40分)
图书:B(图书号B#,书名BN,作者WN,单价BP,库存量BC);
读者:R(读者号R#,姓名RN,工作单位RW,地址RA);
借阅:BO(图书号B#,读者号R#,借期DB,还期DR,备注MO),其中还期为NULL表示该书未还。
二、用SQL实现如下操作:(各10分,共50分)
1、检索读者号为“R016”的读者姓名和工作单位;
2、检索借阅图书号为“B5”的读者姓名;
3、检索读者“李林”所借图书中未还的书名;
4、将读者“李林”所借图书的信息从借阅表中删除;
5、建立未还图书的读者姓名和单位的视图(要求判断数据库中是否存在此视图)。
上机题7:
一:创建一个数据库,并创建四个数据库表。
1、以自己的姓名(拼音)创建一个数据库。(10分)
2、在数据库中创建如下四个表(要求设置表之间的关系)(40分)
职工情况表:zgqk(zgbh,zgxm,bmbh)
其中,zgbh:职工编号;zgxm:职工姓名;bmbh:部门编号,主码为:zgbh。
科研情况表:kyqk(kybh,zgbh,kymc,kylb)
其中,kybh:科研编号;zgbh:职工编号;kymc:科研名称;kylb:科研类别,主码为:kybh.
部门表:bm(bmbh,bmmc)
其中,bmbh:部门编号;bmmc:部门名称,主码为:部门编号。
工资表:gz(zgbh,jcgz,zwgz,zjgz,fz,sdf,yfgz)
其中,zgbh:职工编号;jcgz:基础工资;zwgz:职务工资;zjgz:职绩工资,fz:房租;sdf:水电费,yfgz:应发工资,主码为:zgbh.
二、用SQL实现如下操作:(各10分,共50分)
1、查询计算机系的所有职工的职工编号、姓名、部门编号。
2、统计男女职工的人数。
3、工资表中的yfgz字段为空,现求出yfgz列的值,其中yfgz=sfgz=jcgz+zwgz+zjgz-fz-sdf.
4、在上一题的基础上,查询每个职工的工资情况:职工编号、应发工资,并以应发工资的降序排列。
5、查询部门人数在50人以上的部门编号。
上机题8:
一:创建一个数据库,并创建三个数据库表。
1、以自己的姓名(拼音)创建一个数据库.(10分)
2、在数据库中创建如下三个表(要求设置表之间的关系)(40分)
学生student
Sno | Char(5) | Not null | 学号 |
Sname | Char(10) | Not null | 姓名 |
Ssex | Char(2) | Not null | 性别 |
Sage | Tinyint | Null | 年龄 |
Sdept | varchar(30) | Null | 所在系 |
课程course
Cno | Char(1) | Not null | 课程号 |
Cname | Char(20) | Not null | 课程名称 |
Cpno | Char(1) | Null | 先行课 |
Ccredit | tinyint | Not null | 学分 |
学生选课sc
sno | Char(5) | Not null | 学号 |
cno | Char(1) | Not null | 课程号 |
Grade | Decimal(4,1) | Null | 成绩 |
二、写出SQL语句(每题5分,各50分)
1、建立由学生姓名、课程名称、学生成绩三个字段组成的视图
2、将修改学生表的权限赋予用户U1
3、求已取得了50学分以上的学生姓名
4、查询没有选择任何课程的学生姓名
5、删除“CS"系的所有学生及其选课记录
6、给出每门课程的先行课的课程名称
7、插入学生记录:("001","李勇”,"男",21,”计算机系")
8、将课程"C5”的学分改为3
9、求有三门以上课程成绩在90分以上的学生
10、查询名字中第2个字为”成”的学生信息
上机题9:
一:创建一个数据库,并创建三个数据库表。
1、以自己的姓名(拼音)创建一个数据库。(10分)
2、在数据库中创建如下三个表(要求设置表之间的关系)(40分)
职工关系:EMP(E#, ENAME, AGE, SEX, ECITY),其属性分别表示职工工号、姓名、年龄、性别和居住城市.
工作关系:WORKS(E#, C#, SALARY),其属性分别表示职工工号、工作的公司编号和工资.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论