数据库应用技术实验报告_第1页
数据库应用技术实验报告_第2页
数据库应用技术实验报告_第3页
数据库应用技术实验报告_第4页
数据库应用技术实验报告_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数据库应用技术 实验一 一、 实验目的及要求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,&

2、#39;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_variab

3、le_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

4、 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 as

5、cchar set position=position+1end设置在9:00进行一次查询操作语句:Use studentGoBeginWaitfor time 9:00Select *from stud_infoEnd2.1、使用T-SQl语句创建数据库语句:create database studentonprimary (name=student_data,'d:mydocstudent.mdf',size=3 MB,maxsize=10 MB, MB)log on (name=cumt_log,'d:mydocstudent_ldf',size=3 MB

6、,maxsize=10 MB, 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 'stude

7、nt','single user','scholastic'exec sp_dboption 'student','scholastic'exec sp_dboption 'pupil','single user'实验体会本次实验主要是书本第二和三章的实验内容和部分课后习题,通过这次的实验主要是对t-sql基本语法进行加深和巩固以及了解并掌楃sqlserver2005软件的一些基础操作。其中t- sql语句和我们之前学习的sql语句有很多相同的地方,因此基础学习起来相对比较简单,只要在原来的

8、基础上补充一些t-sql语句中 的差异和补充就可以了。通过这次的实验对sql语言的掌握有了一定的提高,同时也对t-sql有了一个整体上的认识。这次实验中又很多的实验内容是分别通过对象资源管理器和t-sql语句来实现相同的操1作,通过对比,我们发现这两种方法对不同的操作有不同的便捷性,但总的来说sql server软件中t-sql语句要比对象资源管理器功能强大,可以实现许多资源管理器无法实现的操作,因此拥有良好的t- sql语言基础也是我们熟练运用该软件的一个必要条件。总的来说,这次实验使我初步掌握了sql server2005软件的一些简单操作,在实验过程中我发现熟练掌握t-sql语言是相当重

9、要的。在剩下的实验中要多加练习并下学习软件和语句的基础知识。数据库应用技术 实验二一、 实验目的及要求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 c

10、har(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

11、_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 whe

12、re 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,teache,teacher_info.teacher_idfrom teacher_info left outer join lesson_info on teacher_info.course_id=lesson_info.course_id4、数据汇总,查询计算机工程系所有

13、老师的平均工资语句: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 d

14、esc三、 实验体会本次实验的实验内容为书本4-5章的实验及部分习题,主要是对表的操作、约束规则等的创建和使用、select语句的用法以及对查询结果的排序和分组统计。这一次的实验内容基本较简单,和之前的sql语句相比实用性以及可理解性更高了。T-sql语言是针对sql server的一种应用工具语言,我们可以通过多练习来提高自己的能力。数据库主要是通过表来实现对数据的管理,应此对表的理解和认识将很大程度影响我们对数据库的应用。通过实验我发现一些简单的sql语句的组合可以实现一些比较复杂的操作,和那些高级语言相比比较简洁也易于理解。通过t-sql语言来对数据库进行操作时不仅考验我们对语言的软件的

15、熟练程度,也一定程度上增强我们对数据库本身的理解和认识。数据库应用技术 实验三一、 实验目的及要求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

16、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 studentgocreate unique index cj_xh_index on stud

17、_info(stud_id,mark)4、为信息表lesson_info创建一个基于“课程号,课程类型”组合列的唯一、聚集、符合索引kc_lx_index语句:use studentgocreate unique clustered index kc_lx_index on lesson_info(course_id,course_type)withpad_index,fillfactor=80,ignore_dup_key三、 实验体会本次实验的内容是课本第6-7章的实验及部分课后习题,主要是学习sql server软件中视图和索引的相关操作。通过这一次实验对视图有了更好的理解,视图并不是独

18、立的数据结构,它没有自己的存储单元,它的作用就是在建立视图的基础上更方便直观的展示一些数据,另外视图也可防止一些我们不希望客户进行的操作,有助于保证数据库的安全性。视图的相关操作和语法和我们前面学习的表类似,视图的活动性较大,通过不同关键字的定义,我们可以让视图实现不同的功能。在数据量较大的时候进行查询时通常需要较长时间才能得到我们需要的数据信息,效率较低,当通过对一些我们需要经常反问的数据项添加索引后查询效率会大大提高。由于索引本身也占用一定内存,所以在定义索引时候需要尽可能的合理安排索引的数量以减少对内存资源的消耗。聚集索引和非聚集索引在存促结构上有本质区别,应此在使用时应注意前后顺序。视

19、图和索引都是在表的基础上定义的数据结构,目的是为了更好地使用数据库和数据库信息资源。数据库应用技术 实验四一、 实验目的及要求1、理解存储过错及触发器的作用;2、学会使用对象资源管理器和t-sql语句实现存储过程和触发器的创建和管理方法;3、了解sql server程序设计的方法;4、学会批处理、流程控制、事务处理、锁、游标的使用方法。二、 实验内容1、建立一个插入教师记录的存储过程teacher_insert 语句:create proc teacher_insert(no char(6),nam nvarchar(4),sex nchar(1),age int,title nchar(5)

20、,tel varchar(12),sala decimal(7),num char(10)asinsert into teacher_info values(no,nam,sex,age,title,tel,sala,num)goexec teacher_insert'10119',N'聂子枫',N'男',40,N'研究员','',250.0,'0401010113'2、创建一个触发器teacher_tril,当向teacher_info插入一条记录时,自动显示表语句:teacher_info的记录

21、create trigger teacher_trilon stud_infofor insertasselect * from teacher_info验证语句:insert into teacher_info values('010119',N'聂晓基',N'男',40,N'讲师','',250.0,'0401010108')3、运用事物处理将student数据库中课程信息表lesson_info中的多媒体技术课程编号course_id由0401010106修改为0401010116语句:use

22、 studentgobegin transaction stud_transactionupdate lesson_info set course_id='0401010116' where course_id='0401010106'save tran stud_savepointupdate teach_schedule set course_id='0401010106' where course_id='0401010106'update stud_grade set course_id='0401010106' where course_id='0401010106'update teacher_i

温馨提示

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

评论

0/150

提交评论