sql server数据库应用技术操作题题库_第1页
sql server数据库应用技术操作题题库_第2页
sql server数据库应用技术操作题题库_第3页
sql server数据库应用技术操作题题库_第4页
sql server数据库应用技术操作题题库_第5页
已阅读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:examStuManage_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” ,文件增量以 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) 编号 列名 字段类型 长度 字段描述 1 roomNo Nchar 6 教室编号(主键) 2 roomName Nvarchar 50 教室名称(非空) 3 address Nvarchar 50 位置 4 number Int 4 容纳人数 5 remark Nvarchar 100 备注 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) 编号 列名 字段类型 长度 字段描述 1 stuNo Nchar 8 学号(主键) 2 stuName Nchar 8 姓名(非空) 3 gender Nchar 1 性别 4 addr Nvarchar 50 家庭住址(默认值广东河源) 5 GraduateSchool Nvarchar 50 毕业学校 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)/go (3) 给 TblStudent 表中 gender 列设置 check 约束为:“男或女”(5 分) alter table TblStudent add constraint chk_gender check(gender=男 or gender=女)/go (4) 为教室表 tblRoom 的 number 列添加 Check 约束,限制其为 1300 之间的 use StuManage/go/alter table tblRoom add constraint chk_number check(number =1 and number 30/go (7)从 XK 数据库中检索“计算机应用工程系”的学生信息。 use xk/go/select student.*,departname/from department,student,class where department.departno=class.departno/and class.classno=student.classno and departname=计算机应用工程系 /go (8)向班级表中插入一行新的数据(20080101 , 08 计算机 1 班 , 01) 。 use xk/go/insert into class (classno,classname,departno) values (20080101,08计算机班 ,01)/go/select */from class/go (9)将“林斌”选修的课程编码为“001”的课程修改为“012” 。 use xk/go/update stucou/set couno=012/from stucou,student where stuname=林斌/and stucou.stuno=student.stuno and stucou.couno=001/go (10 从学生表中删除学号为“00000003”的学生信息。 use xk/go/delete student/from student where stuno = 00000003/go (11)为 Tblstudent 表的学号列创建聚集索引 use xk/go create clustered index IX_stuno on Tblstudent (stuno)/go (12)为表 course 中的课程名称列建立唯一、非聚集索引。 use xk/go/create unique index IX_couname on course(couname)/go (13)创建视图 v_CouByDep,显示各个系部开设的选修课的数量和报名人数。 use xk/go/create view v_coubydep/as select departno,count(departno)选修课的数量,sum (willnum)报名人数 from course/group by departno/go (14)创建视图 v_CouByKind,显示各类课程的报名总人数和课程类别。 -第一种方法 create view V_CouByKind/as/select kind,sum(willnum) kind_sum from 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,显示学生的信息(系部名称,班级名称,学号,姓名,性别) create proc v_student/as select departname,classname,stuno,stuname,gender from department,class,student where department.departno=class.departno and class.classno=student.classno/go -查询 exec v_student/go (16) “叶艳茵”老师想查询一下有哪些同学选修了她的课程,包括课程名、学号、学生姓名、上课时间,教师名称。请使用创建 存储过程的方法来实现这一查询要求。 create proc p1_stubytea1/as select couname,student.stuno,stuname,schooltime,teacher from course,stucou,student where stucou.stuno=student.stuno and stucou.couno=course.couno and teacher=叶艳茵 /go exec p1_stubytea1/go (17)创建一存储过程,要求根据用户输入的系部名称和学分,来查询其课程信息。 use xk/go/create proc p_credit departname nvarchar(20),credit decimal(3,1)/as select course.couno,couname,kind,credit,teacher,schooltime,willnum,limitnum,departname from course,department where 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_StudentPara 的存储过程,该存储过程根据给定的班级名称显示该班级所有学生的信息。 create proc p_StudentPara/classname nvarchar(20) as/select */from class,student/where class.classno=student.classno and class.classno= classname/go exec p_StudentPara classname=20000001/go (19)创建一个名为 p_StudentPara 的存储过程,该存储过程根据给定的学生学号查询该学生的信息。 create proc p_StudentPara/stuno nvarchar(8)/as select student.stuno,class.classno,stuname,classname,gender from class,student where class.classno=student.classno/ and student.stuno=stuno/go exec 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 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 output print 1+2+3.+cast(n as varchar(8)+=+ cast(sum as char)/go (21)创建一个触发器,要求每当在 student 表中插入一条记录时,向客户端显示一条“记录已添加!”的消息。 create trigger student1/on student/for insert as/print 记录已添加! /go -添加一条记录 insert student values (02000061,20000001,张浩,3178C441,男)/go (22)创建一个触发器,要求每当从 department 表中删除一条记录时,向客户端显一条“系部记录不允许删除!”的消息,并阻 止其删除操作。 create trigger department1/on department/instead of delete as print 系部记录不允许删除! go -删除 delete department where departno =03 (23)创建一个触发器,要求每当用户插入 department 表的记录后,自动显示刚刚插入的记录。 creat

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论