数据库应用技术实验报告.doc
8页数据库应用技术 实验一 一、 实验目的及要求1、 学会定义数据类型、声明局部变量的方法;2、 学会批处理和流程控制语句的使用方法;3、 了解系统数据库的作用;4、 学会用对象资源管理器中创建用户数据库;5、 学会SQL编辑器创建用户数据库;6、 学会压缩和扩充数据库;7、 学会查看和修改数据库选项;8、 学会给数据库改名和删除数据库二、 实验内容1.1使用系统存储过程,用户自定义数据类型use studentgoexec sp_addtype address,'varchar(80)','not null'exec sp_addtype stud_name,'varchar(8)','null'exec sp_addtype postalcode,'char(6)','not null'1.2使用declare语句声明局部变量,并使用select或set语句给变量赋值declare @local_variable_int int,@local_variable_char nvarchar(9)select @local_variable_int=40set @local_variable_char='welcome to changsha'select @local_variable_intselect @local_variable_charGO1.3、运用流程控制语句编写程序使用if 语句求1到10之间累加“和”并输出结果declare @sum int,@count intselect @sum=0,@count=1label:select @sum=@sum+@countselect @count=@count+1if @count<=10goto labelselect @sum,@count编写计算n!(n=20)的t-sql语句declare @n bigint, @count intselect @n=1,@count=20label:select @n=@count*@nselect @count=@count-1if @count>=1goto labelselect @n,@count输出字符串“school”中每一个字符的ascii值和字符declare @position int,@string char(6)set @position=1set @string='School'while @position<=datalength(@string) begin select ascii(substring(@string,@position,1)) as asccode, char(ascii(substring(@string,@position,1))) as ascchar set @position=@position+1end设置在9:00进行一次查询操作语句:Use studentGoBeginWaitfor time ‘9:00’Select *from stud_infoEnd2.1、使用T-SQl语句创建数据库语句:create database studentonprimary (name=student_data,filename='d:\mydoc\student.mdf',size=3 MB,maxsize=10 MB,filegrowth=1 MB)log on (name=cumt_log,filename='d:\mydoc\student_ldf',size=3 MB,maxsize=10 MB,filegrowth=1 MB)2.2、使用T-SQL语句将数据库student的初始分配空间大小扩充到40mbUse studentGoAlter database studentModify file(name=student.mdf,Size=40MB)2.3、压缩空间至最小容量、use studentgodbcc shrinkdatabase ('student')2.4设置只读exec sp_dboption 'student','read only',true2.5数据库改名exec sp_dboption 'student','single user','scholastic'exec sp_dboption 'student','scholastic'exec sp_dboption 'pupil','single user'实验体会本次实验主要是书本第二和三章的实验内容和部分课后习题,通过这次的实验主要是对t-sql基本语法进行加深和巩固以及了解并掌楃sqlserver2005软件的一些基础操作。
其中t- sql语句和我们之前学习的sql语句有很多相同的地方,因此基础学习起来相对比较简单,只要在原来的基础上补充一些t-sql语句中 的差异和补充就可以了通过这次的实验对sql语言的掌握有了一定的提高,同时也对t-sql有了一个整体上的认识这次实验中又很多的实验内容是分别通过对象资源管理器和t-sql语句来实现相同的操1作,通过对比,我们发现这两种方法对不同的操作有不同的便捷性,但总的来说sql server软件中t-sql语句要比对象资源管理器功能强大,可以实现许多资源管理器无法实现的操作,因此拥有良好的t- sql语言基础也是我们熟练运用该软件的一个必要条件总的来说,这次实验使我初步掌握了sql server2005软件的一些简单操作,在实验过程中我发现熟练掌握t-sql语言是相当重要的在剩下的实验中要多加练习并下学习软件和语句的基础知识数据库应用技术 实验二一、 实验目的及要求1、 了解sql server的数据类型;2、 了解数据表的结构特点;3、 学会使用对象资源管理器和t-sql语句进行数据表的相关操作;4、 学会定义约束、使用默认值和规则;5、 掌握select语句的基本用法;6、 学会使用order by句子进行排序,使用group by句子进行分组统计;7、 学会数据汇总、连接查询、嵌套查询的方法。
二、 实验内容1、数据表的相关操作use studentgoalter table teacher_infoalter column teacher_id char(8)goalter table stud_infoadd scome datetimealter table stud_infoadd constraint ch_mark check(mark between '560' and '600')alter table stud_infoadd constraint un_telephone unique (telcode)alter table stud_gradeadd constraint fk_stud_id foreign key(stud_id)references stud_info(stud_id)2、查询stud_info 表中性别为女的学生的地址和语句:select*from stud_infoselect stud_id,address,telcode from stud_infoselect stud_id,name,address,telcode from stud_info where stud_id='0401010634'select stud_id as'学号',name as'姓名',address as'地址',telcode as''from stud_info where gender=N'女'3、连接查询语句:select *from stud_info,stud_gradeon stud_info.stud_id=stud_grade.stud_idorder by stud_info.stud_idselect lesson_info.course_name,teacher_info.name,teacher_info.teacher_idfrom teacher_info left outer join lesson_info on teacher_info.course_id=lesson_info.course_id4、数据汇总,查询计算机工程系所有老师的平均工资语句:select AVG(teacher_info.salary) as'计算机工程系教师平均工资'from teacher_info where LEFT(teacher_id,2)=(select deptcode from dept_code where deptname=N'计算机工程系')5、计算机工程系职称为讲师的教师按年龄由低到高排列语句:select teacher_id,name,tech_title,agefrom teacher_infowhere tech_title=N'讲师'order by age desc三、 实验体会本次实验的实验内容为书本4-5章的实验及部分习题,主要是对表的操作、约束规则等的创建和使用、select语句的用法以及对查询结果的排序和分组统计。
这一次的实验内容基本较简单,和之前的sql语句相比实用性以及可理解性更高了T-sql语言是针对sql server的一种应用工具语言,我们可以通过多练习来提高自己的能力数据库主要是通过表来实现对数据的管理,应此对表的理解和认识将很大程度影响我们对数据库的应用通过实验我发现一些简单的sql语句的组合可以实现一些比较复杂的操作,和那些高级语言相比比较简洁也易于理解通过t-sql语言来对数据库进行操作时不仅考验我们对语言的软件的熟练程度,也一定程度上增强我们对数据库本身的理解和认识数据库应用技术 实验三一、 实验目的及要求1、 理解视图的概念;2、 学会视图的创建、查询等相关操作;3、 学会使用对象资源管理器或t-sql语句创建各类索引;4、 学会索引的查看和修改等操作二、 实验内容1、将表stud_info中所有女生记录定义为一个视图(stud_info_female)use studentgocreate view stud_info_femaleas select stud_id,name,birthday,gender,address,telcode,zipcode,mark,p_id,scomefrom stud_infowhere gender=N'女'goselect*from stud_info_female2、将张艳从管理工程系转到计算机系。
update stud_info_femaleset stud_id=SUBSTRING(stud_id,1,2)+'02'+SUBSTRING(stud_id,5,6)where name=N'张艳燕'3、为stud_info学生信息表创建一个机遇“入学成绩,学号”组合列的非聚集、复合索引语句:use studentgoc。





