数据库上机测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、用Transact-SQL语句表示下列操作.在学生-课程库中实现其数据查询操作:
1、向student表中增加记录:(200515026,王婧婧,女,21,cs);
insert into student values('200515026','王婧婧',21,'女','cs');
select*from student;
2、删除数据表student中无系别的学生记录;
delete from student where sdept is null;
select*from student;
3、显示选修课程数大于3的各个学生的选修课程数;
select sno,count(*)as'选修课程数'from sc group by sno having count(*)>3;
4、显示选修各科课程的及格人数;
select cno,count(*)from sc where crade >=60 group by cno;
5、查询‘C1’课程的成绩高于70的学生姓名;
select sname from sc join student on sc.sno = student.sno where cno='c1'and crade > 70;
6、为student表创建一个基于sname(姓名)的降序排列的聚簇索引stusname;
create index stusname on student(sname desc);
7、为学生—课程数据库中的student,course和sc三个表建立索引。其中student按学号升序建唯一索引,course按课程号升序建唯一索引,sc按学号和课程号降序建唯一索引,索引名称分别为stusno,coucno,scno;
create unique index stusno on student(sno asc);
create unique index couccno on course(cno asc);
create unique index scno on sc(sno asc,cno desc);
8、删除student表中的stusname索引;
drop index student.stusname;
9、创建信息系男学生信息视图stu-is,包括学生的学号、姓名及年龄,
并要求进行修改和插入操作时仍需保证该视图只有信息系的学生。
create view stu_is as
select sno,sname,sage from student WITH CHECK OPTION;
10、向视图stu-is中插入一个新的学生记录,学号为200515027,姓名为王唔,成绩为60;
insert into stu_is values('200515027','王唔',20);
--delete from stu_is where sname='王唔';
select*from stu_is;
11、将视图stu-is中学号为200515027的学生成绩改为25.
update stu_is set sage=25 where sno='200515027';
select*from stu_is;
二、创建教师授课管理数据库JSSK,并完成以下内容:
在数据库JSSK中创建下列三张表:
create database JSSK
on
(
name='DB_JSSK_Data',
filename='F:\SqlService Database\DB_JSSK_Data.mdf' )
log on
(
name='DB_JSSK_Log',
filename='F:\SqlService Database\DB_JSSK_Log.lDF' )
go
use JSSK
go
create table teachers (
Tno char(7)primary key,
Tname char(10)not null,
Tsex char(2)check(Tsex in('男','女'))default'男',
Birthday datetime,
Dept char(20),
Sid char(18)
)
go
create table lessons (
Cno char(10)primary key,
Cname char(20)not null,
Credit int,
property char(10)
)
go
create table shouke (
Tno char(7),
Cno char(10),
Hours int,
primary key(Tno,Cno),
foreign key(Tno)references teachers(Tno),
foreign key(Cno)references lessons(Cno)
)
Go
本小测的代码
/*
一、用Transact-SQL语句表示下列操作.在学生-课程库中实现其数据查询操作:
1、向student表中增加记录:(,王婧婧,女,,cs);
2、删除数据表student中无系别的学生记录;
3、显示选修课程数大于的各个学生的选修课程数;
4、显示选修各科课程的及格人数;
5、查询‘C1’课程的成绩高于的学生姓名;
6、为student表创建一个基于sname(姓名)的降序排列的聚簇索引stusname;
7、为学生—课程数据库中的student,course和sc三个表建立索引。其中student按学号升序建唯一索引,course按课程号升序建唯一索引,sc按学号和课程号降序建唯一索引,索引名称分别为stusno,coucno,scno;
8、删除student表中的stusname索引;
9、创建信息系男学生信息视图stu-is,包括学生的学号、姓名及年龄,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生。
10、向视图stu-is中插入一个新的学生记录,学号为,姓名为王唔,成绩为;
11、将视图stu-is中学号为的学生成绩改为.
二、创建教师授课管理数据库JSSK,并完成以下内容:
在数据库JSSK中创建下列三张表:
*/
use DB_BookAndReader
go
--1、向student表中增加记录:(,王婧婧,女,,cs);
insert into student values('200515027','王婧婧',21,'女',cs);
select*from student;
--2、删除数据表student中无系别的学生记录;
delete from student where sdept is null;
select*from student;
--3、显示选修课程数大于的各个学生的选修课程数;