SQLServer数据库应用技术操作题题库new
《SQLServer数据库应用技术操作题题库new》由会员分享,可在线阅读,更多相关《SQLServer数据库应用技术操作题题库new(5页珍藏版)》请在装配图网上搜索。
1、SQL Server数据库应用技术操作题题库要求:用SQL命令完成1、数据库操作(1)创建以“StuManage”为名的学生信息管理数据库。要求:主数据文件:文件名为StuManage_data.mdf,存储位置为“D:exam”,初始大小3MB,以1MB增长,最大尺寸10MB;事务日志文件:文件名为StuManage_log.ldf,存储位置为“D:exam”,初始大小2MB,以10%增长,最大尺寸10MB;use master/go/create database StuManage/on primary(name=StuManage_data,filename=D:examStuMana
2、ge_data.mdf,/size=3mb,/maxsize=10mb,filegrowth=1mb)/log on/(name=StuManage_log,filename=D:examStuManage_log.ldf,/size=2mb,/maxsize=10mb,filegrowth=10%)/go (2)创建学生信息数据库”StuManage2”。要求:主数据文件:StuManage2_data.mdf,初始大小5MB,存储位置为:“d:exam” ,文件增量以10%的比例增长;日志文件: StuManage2_log.ldf,起始大小5MB,存储位置为:“d:exam”,文件增量以
3、10%的比例增长。use master/go/create database StuManage2/on primary(name=StuManage_data,/filename=D:examStuManage2_data.mdf,size=5mb,/filegrowth=10%)/log on(name=StuManage_log,/filename=D:examStuManage2_log.ldf,size=5mb,/filegrowth=10%)/go 2、表的基本操作(1)请在StuManage数据库中添加如下表:教室基本信息表(TblRoom)编号列名字段类型长度字段描述1room
4、NoNchar6教室编号(主键)2roomNameNvarchar50教室名称(非空)3addressNvarchar50位置4numberInt4容纳人数5remarkNvarchar100备注use StuManage/go/create table TblRoom/(roomNo Nchar (8) primary key,roomName Nvarchar (50) not null,/address Nvarchar (50),/number Int,remark Nvarchar (100)/go(2) 请在StuManage数据库中添加如下表:学生基本信息表(TblStudent
5、)编号列名字段类型长度字段描述1stuNoNchar8学号(主键)2stuNameNchar8姓名(非空)3genderNchar1性别4addrNvarchar50家庭住址(默认值广东河源)5GraduateSchoolNvarchar50毕业学校use StuManage2/go/create table TblStudent(stuNo Nchar (8) primary key,/stuName Nchar (8) not null,gender Nchar (1),/addr Nvarchar (50) default广东河源,GraduateSchool Nvarchar (50)
6、/go(3) 给TblStudent表中gender列设置check约束为:“男或女”(5分)alter table TblStudentadd constraint chk_gender check(gender=男 or gender=女)/go(4) 为教室表tblRoom的number列添加Check约束,限制其为1300之间的use StuManage/go/alter table tblRoomadd constraint chk_number check(number =1 and number 30/go(7)从XK数据库中检索“计算机应用工程系”的学生信息。use xk/go
7、/select student.*,departname/from department,student,classwhere department.departno=class.departno/and class.classno=student.classnoand departname=计算机应用工程系/go(8)向班级表中插入一行新的数据(20080101,08计算机1班,01)。use xk/go/insert into class (classno,classname,departno)values (20080101,08计算机班,01)/go/select */from cla
8、ss/go(9)将“林斌”选修的课程编码为“001”的课程修改为“012”。use xk/go/update stucou/set couno=012/from stucou,studentwhere stuname=林斌/and stucou.stuno=student.stunoand stucou.couno=001/go(10从学生表中删除学号为“00000003”的学生信息。use xk/go/delete student/from studentwhere stuno = 00000003/go(11)为Tblstudent表的学号列创建聚集索引use xk/gocreate cl
9、ustered index IX_stunoon Tblstudent (stuno)/go(12)为表course中的课程名称列建立唯一、非聚集索引。use xk/go/create unique index IX_counameon course(couname)/go(13)创建视图v_CouByDep,显示各个系部开设的选修课的数量和报名人数。use xk/go/create view v_coubydep/asselect departno,count(departno)选修课的数量,sum(willnum)报名人数from course/group by departno/go(1
10、4)创建视图v_CouByKind,显示各类课程的报名总人数和课程类别。-第一种方法create view V_CouByKind/as/select kind,sum(willnum) kind_sumfrom course/group by kind/go检索:select */from V_CouByKind/go-第二种方法use xk/go/create view V_coubykind1/as select kind as 课程分类, sum(willnum) as 报名总数from course/group by kind/go(15)创建视图v_Student,显示学生的信息(
11、系部名称,班级名称,学号,姓名,性别)create proc v_student/asselect departname,classname,stuno,stuname,genderfrom department,class,studentwhere department.departno=class.departno and class.classno=student.classno/go-查询 exec v_student/go(16)“叶艳茵”老师想查询一下有哪些同学选修了她的课程,包括课程名、学号、学生姓名、上课时间,教师名称。请使用创建存储过程的方法来实现这一查询要求。create
12、proc p1_stubytea1/asselect couname,student.stuno,stuname,schooltime,teacherfrom course,stucou,studentwhere stucou.stuno=student.stuno and stucou.couno=course.couno and teacher=叶艳茵 /goexec p1_stubytea1/go(17)创建一存储过程,要求根据用户输入的系部名称和学分,来查询其课程信息。use xk/go/create proc p_creditdepartname nvarchar(20),credi
13、t decimal(3,1)/asselect course.couno,couname,kind,credit,teacher,schooltime,willnum,limitnum,departnamefrom course,departmentwhere course.departno=department.departno/and course.credit=credit and department.departname = departname/go-查询 use xk/go/exec p_credit departname=旅游系,credit=2.0/go(18)创建一个名为p
14、_StudentPara的存储过程,该存储过程根据给定的班级名称显示该班级所有学生的信息。create proc p_StudentPara/classname nvarchar(20)as/select */from class,student/where class.classno=student.classno and class.classno= classname/goexec p_StudentPara classname=20000001/go(19)创建一个名为p_StudentPara的存储过程,该存储过程根据给定的学生学号查询该学生的信息。create proc p_Stu
15、dentPara/stuno nvarchar(8)/asselect student.stuno,class.classno,stuname,classname,genderfrom class,studentwhere class.classno=student.classno/ and student.stuno=stuno/goexec p_StudentPara stuno=00000004/go(20)创建一个存储过程,实现1+2+3+。N的和,其中n为输入参数。create proc p_sum/n int,sum int output/as declare i int/set
16、i=0/set sum=0 while i=n - i1000 begin set sum=sum+i set i=i+1 end/go-查询 declare sum int,n int/set n=1000/exec p_sum n,sum outputprint 1+2+3.+cast(n as varchar(8)+=+ cast(sum as char)/go(21)创建一个触发器,要求每当在student表中插入一条记录时,向客户端显示一条“记录已添加!”的消息。create trigger student1/on student/for insertas/print 记录已添加!/
17、go-添加一条记录 insert studentvalues (02000061,20000001,张浩,3178C441,男)/go(22)创建一个触发器,要求每当从department表中删除一条记录时,向客户端显一条“系部记录不允许删除!”的消息,并阻止其删除操作。create trigger department1/on department/instead of deleteasprint 系部记录不允许删除!go-删除delete departmentwhere departno =03(23)创建一个触发器,要求每当用户插入department表的记录后,自动显示刚刚插入的记录。create trigger department2on departmentfor insertasselect * from departmentgo-插入记录insert departmentvalues (05,电信系)go(24)创建一个触发器,要求每当用户从student表中删除数据时,自动显示刚刚删除的记录。create trigger student2on student for deleteasselect * from studentgodelete studentwhere stuno=00000006go
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。