数据库应用与开发实验报告.docx
- 文档编号:12538454
- 上传时间:2023-04-20
- 格式:DOCX
- 页数:17
- 大小:154.02KB
数据库应用与开发实验报告.docx
《数据库应用与开发实验报告.docx》由会员分享,可在线阅读,更多相关《数据库应用与开发实验报告.docx(17页珍藏版)》请在冰豆网上搜索。
数据库应用与开发实验报告
课程名:
数据库应用与开发时间:
2014.9.11
实验一安装SQLServer2008和VisualStudio2010
一、实验目的
学习和掌握SQLServer2008命名实例的安装,启动和连接服务器。
二、实验器材
486及以上微机,Windowsxp/7/vista操作系统,安装了SQLSERVER。
三、实验内容和步骤
1、SQLServer2008的安装
(1)将安装盘放入光驱,光盘会自动运行。
在开始界面中选择“服务器组件、工具,联机丛书和示例命令,执行安装程序”
(2)接受许可条款和条件,安装必备组件;使用Sqlserver安装向导;进行“系统配置检查”;输入相关注册信息;选择需要升级或安装的组件,如图1.1
(3)单击下一步按钮,在出现的实例的命令方式为命名示例,并输入实例名称,单击下一步按钮继续进行安装。
(4)根据向导完成SQLServer2008的安装。
图附1.1“安装中心”对话框
图附1.2“支持规则”对话框
图附1.3“服务器配置”对话框
(5)参考教材安装MicrosoftVisualStudio2010
2、visualstudio2010的安装
步骤抄书(课本P22)
四、实验结果
能够按要求安装SQLServer2008数据库管理系统软件和visualstudio2010
软件,并认识和体验SQLServer2008软件的功能。
五、实验心得
课程名:
数据库应用与开发时间:
2014.9.18
实验二 创建数据库和修改数据库
一、实验目的与要求
1、熟悉数据库的创建命令的使用
2、学会查看和修改数据库
3、学会删除数据库
二、实验器材
微机+windows操作系统+SQLSERVER2008+SSMS
三、实验内容
1.在D盘根目录下创建一个数据库db_temp,该数据库中有两个数据文件,其中主数据文件db_temp.mdf为10MB,最大大小为100MB,按10MB方式增长,一个数据文件db_temp1.ndf,,初始大小为10MB,最大大小为不限制,按10%增长,db_temp_log1,db_temp_log两个日志文件大小均为5MB,最大限制均为为5MB,增长方式为5MB
2给db_temp数据库添加一个数据文件db_temp2,文件的大小为10MB,最大大小为100MB,增长方式按10%增长.到文件组fgroup
3.查看和修改数据库选项
4.为数据库更名
5.删除数据库
四、实验步骤
1、启动SQLSERVER2008,选择SSMS组件。
2.附加数据库
3.连接数据库,新建查询
4.分别在数据库窗口中实现数据库的导入导出,附加和分离操作
五、实验结果
1.createdatabasedb_temp
On
(name=db_temp,
Filename=d;\db_temp.mdf,
Size=10,
Maxsize=100,
Filegrowth=10),
(name=db_temp1,
Filename=d;\db_temp1.ndf,
Size=10,
Maxsize=unlimited,
Filegrowth=10%)
Logon
(name=db_temp_log,
Filename=d;\db_temp_log.ldf,
Size=5,
Maxsize=5,
Filegrowth=5),
(name=db_temp1_log,
Filename=d;\db_temp1_log.ldf,
Size=5,
Maxsize=5,
Filegrowth=5)
2.
Alterdatabasetemp_db
Addfilegroupfgroup
Alterdatabasetemp_db
Addfile
(name=db_temp2,
Filename=d;\db_temp2.ndf,
Size=10,
Maxsize=100,
Filegrowth=10%)
3execsp_helpdbdb_temp
4.execsp_renamedb_temp,my_db
5.dropdatabasemy_db
六、实验小结
课程名:
数据库应用与开发时间:
2014.9.25
实验三数据库的备份与还原
一、实验目的与要求
(1)能够将数据库备份成文件。
(2)能够创建备份设备。
(3)能够将数据备份到设备中。
(4)能从备份设备和文件还原数据库
二、实验器材
微机+windows操作系统+SQLSERVER2008+SSMS
三、实验内容
1、创建备份设备,备份设备名称为bk1,保存在D:
\test1.bak
2、创建数据库test,将test数据库完整备份到备份设备bk1中
3、在test中创建表temp1
4、将test数据库完整备份成文件,文件目录为D:
\backup,文件名为test.bak.
5将test数据库差异备份到备份设备bk1中
6、将test数据库差异备份到备份文件D:
\TEST.BAK
7、test数据库中创建表temp2.数据类型自选
8、创建备份设备bk2,保存路径为D:
\test2.bak
9、将test数据库分别进行完整备份和差异备份,到备份到设备bk2中
10、删除test数据库。
11、从设备bk1中选择第一个还原选项,将数据库名还原名为test,并察看表temp1和temp2是否存在。
12、选择合适的备份结果,将test数据库恢复到第一次差异备份后的状态,并察看temp1和temp2是否存在。
13、选择合适的备份结果,将test数据库恢复到第二次差异备份后的状态,并temp1和temp2是否存在。
四、实验步骤
自己写
五、实验结果
自己写
六、实验小结
课程名:
数据库应用与开发时间:
2014.10.9
实验四表和表数据管理
一、目的要求
1.根据一个具体应用进行数据库设计,使用组件企业管理器菜单及CREATE命令对数据库创建,建立基本表
2、学会用SQL语句创建和修改表
3、了解表的结构
二、实验器材:
微机+windows操作系统+SQLSERVER2008+SSMS
三、实验内容
1.建立学生情况表(S)、课程表(C)、选课表(SC)
表1学生情况表
列名
含义
类型
要求
SNO
学生学号
CHAR(5)
主码
SN
学生姓名
CHAR(10)
不能重复
SEX
性别
CHAR
(2)
只能输入男,女
AGE
年龄
SMALLINT
DEPT
所在系
CHAR(10)
表2课程表
列名
含义
类型
要求
CNO
课程号
CHAR(5)
主码
CN
课程名
CHAR(10)
CT
课时
SMALLINT
表3选课表
主码
列名
含义
类型
要求
SNO
学号
CHAR(5)
外码
CNO
课程号
CHAR(5)
外码
SCORE
成绩
SMALLINT
2.给学生表添加电话号码和家庭住址列,查看是否成功
3.删除电话号码和家庭住址列
4.给学生表的年龄字段添加一检查约束(7~50)
四、实验步骤
1、进入sqlserver2008选择SSMS
2.附加数据库
3、新建查询,分析运行以上试题
五、实验结果
创建表的代码如下:
1.createtables
(snochar(5)unique,--学号上建立唯一索引
Snchar(10),
Sexchar
(2),
Agesmallint,
Sdeptchar(10))
2.createtablec
(cnochar(5)unique,--课程号建立唯一索引
Cnchar(10),
Ctsmallint)
3.createtablesc
(snochar(5),
Cnochar(5),
Scoresmllint
Primaykey(sno,cno)--学号和课程号上建立唯一索引
4.altertables
Addtelchar(11),
Addresvarchar(50)
5.altertables
Dropcolumntel,addres
6.altertables
Add
Constraints_ckcheck(age>=7andage<=50)
六、实验小结
通过该实验对本次实验学生应能熟练的利用createtable命令在查询分析器下实现表格的创建,熟练掌握sql语言的数据定义功能,并对其完整性约束有个初步的认识。
课程名:
数据库应用与开发时间:
2014.10.23
实验五数据查询
一、目的要求
1、根据已建好的基本表,对它进行数据查询操作
2、实现对表中数据各种需求的查询,
3、熟练掌握多表查询的SELECT命令的使用,包括内连接的INNERJOIN和
外连接的LEFTOUTERJOIN、RIGHTOUTERJOIN和FULLOUTERJOIN。
4、熟悉和掌握对数据表中数据的查询操作和SQL命令的使用
5、学会灵活熟练的使用SQL语句的各种形式;
6、加深理解关系运算的各种操作(尤其关系的连接和嵌套运算)。
二、实验器材
微机+windows操作系统+SQLSERVER2008
三、实验内容
1查询马晓伟选的课程名。
2查询不学数据库的学生学号。
3查询计算机系成绩不及格的学生信息。
4查询选了数据库的学生学号
⑤查询选修了跟王伟一样课程的学生姓名及成绩
⑥查询有3人以上选修的课程名。
⑦查询每个学生的选课情况。
(要求列出学号,姓名,课程号,课程名)
⑧查询既选修了1号课又选修了3号课的学生学号(用自身连接)。
⑨查询选修2号课且成绩在90分以上的学生学号和姓名。
⑩查询所有学生的信息和对应的选课信息,没有选课的学生选课记录为NULL。
11查询计算机系学生和女学生信息的差集。
12查询“数据库”课程的选课人数和总成绩。
13查询其他系中比信息系某一学生年龄小的学生姓名和年龄。
四、实验步骤
1、进入sqlserver2008选择SSMS
2.附加数据库
3、新建查询,分析运行以上试题
五、实验结果
①Selectcnfroms,c,scwheres.sno=sc.snoando=oandsn=‘马晓伟’
②selectsnofromscwheresnonotin(selectsnofromsc,cwhereo=o
Andcn=’数据库’)
③select*fromsc,cwhereo=oandsdept=‘计算机’andscore<60
④selectsnofromsc,cwhereo=oandcn=’数据库’
⑤selectsn,scorefroms,c,scwheres.sno=sc.snoando=oandsn=‘王伟’
⑥selectcnfromc,scwhereo=ogroupbycnhavingcount(sno)>=3
⑦selects.sno,sn,o,cnfroms,c,scwheres.sno=sc.snoando=o
⑧selectx.snofromscx,scywhereo='c1'ando='c3'andx.sno=y.sno
⑨selects.sno,snfroms,scwheres.sno=sc.snoandcno='c2'andscore>=90
⑩selects.*,sc.*fromsleftjoinscons.sno=sc.sno
11select*fromstudentwheredepart='计算机'andsnonotin
(selectsnofromstudentwheresex='女')
12selectcount(sno)人数,sum(grade)总成绩fromsel_cwherecno=(selectcno
fromcoursewherecname='数据库')
13selectsname,agefromstudentwheredepart<>'信息'andage fromstudentwheredepart='信息') 六、实验小结 通过该实验对select语句的多表查询的语句的使用能有个完全的掌握很认识,并能掌握连接查询,子查询的运用,为以后多表查询奠定了基础 课程名: 数据库应用与开发时间: 2014.11.13 实验六t-sql程序设计 一、目的与要求 1.了解SQL语言中的程序设计结构 2、在SQL查询分析其中实现高级语言程序的设计 二、实验器材 微机+windows操作系统+SQLSERVER2008 三、实验内容 1、在SQLServer中完成以下程序,计算1——100之内所有数之和及个数。 2、显示学生表student表中的SNO,SNAME和SEX,性别要求SEX=‘男’时显示为‘M’,SEX=‘女’时显示为’F’,若为空则显示‘NULL’ 3.输入一个坐标值(3,8),编写程序判断他在哪一个象限 四、实验步骤 1、启动SQLSERVER2008,选择SSMS组件,在程序窗口中输入对应的程序设计语言。 2.附加数据库 五、实验结果 1、Set@x=1, Set@y=0 Set@z=0 While(@x<=100) Begin If(@x%3=0) Begin Set@y=@y+1 Set@z=@z+@x End Set@x=@x+1 End Print@y Print@z 2、SELECTSNO,SNAME, CASESEX WHEN‘男’THEN‘M’ WHEN‘女’THEN‘F’ ELSE‘NULL’ END FROMSTUDENT 3.declare@xint,@yint set@x=8 set@y=-3 if@x>0 if@y>0 print'@x@y位于第一象限' else print'@x@y位于第四象限' else if@y>0 print'@x@y位于第二象限' else print'@x@y位于第三象限' 六、实验小结 自己写 课程名: 数据库应用与开发时间: 2014.11.20 实验七创建存储过程和触发器 一、实验目的 1.掌握SQL语言中的存储过程定义、编写、运行 2、在SQL查询分析器中创建触发器 3、学会使用游标操作 二、实验器材 微机+windows操作系统+SQLSERVER2008 三、实验内容 1、定义存储过student_pro,在过程中使用游标,来输出student表中的学号和姓名,使用完后关闭游标。 2、创建一个触发器trigfor,当向选课表SC表中插入一条记录时,若插入的数据在课程表C表中无对应的课程号存在,则将此记录删除,并提示错误信息“该课程信息不存在,不允许插入该记录”。 四、实验步骤 1、,进入sqlserver2008选择SSMS对应的数据库操作,然后编写给定题目的存储过程和触发器, 2、运行、编译并查看结果 五、实验结果 1、存储过程 Ifexists(selectnamefromsysobjects Wherename=’student_pro’andtype=’p’) Dropprocedurestudent_pro Go Createprocstudent_pro As Declare@snochar(20),@snamechar(8).@messchar(100) Declares_cursorcursor For Selectsno,snamefromstudent Opens_cursor Fetchnextfroms_cursorinto@sno,@sname While@@fetch_status=0 Begin Print‘学生列表: ’ Select@mess=’学号: ’+@sno+’,姓名: ’+@sname Print@mess Fetchnextfroms_cursorinto@sno,@sname end closes_cursor deallocates_cursor 2、触发器 createtriggertrigforonsc forinsert as declare@cnochar(8) select@cno=cnofrominserted if@cnonotin(selectcnofromc) begin print'该课程信息不存在,不允许插入选修记录' rollbacktransaction end 六、实验小结 自己写 课程名: 数据库应用与开发时间: 2014.12.4 实验八自定义函数 一、实验目的与要求 1、熟悉函数的使用 2、掌握游标的概念及使用 二、实验器材 微机+windows操作系统+SQLSERVER2008+iis 三、实验内容 1、用getdate()和datepart()函数实现查询学生的出生年份 2、用left()函数查询姓王的学生信息 3、创建一个计算机系的游标,用fetch方式实现数据的推进 4、创建一游标查询各门课程前三名的学生成绩表 四、实验步骤 1、进入sqlserver2008选择SSMS 2、附加数据库 3、新建查询,分析运行以上试题 五、实验结果 1、Selectdatepart(getdate())froms 2、select*fromswhereleft(sn)=’王’ 3、declaremycursor2scrollcursor forselect*fromstudent wheredepart='计算机' openmycursor2 fetchnextfrommycursor2 4、declare@cnochar(8) declaremycursorscrollcursor for selectcnofromcourse openmycursor fetchnextfrommycursorinto@cno while(@@fetch_status=0) begin print'以下是'+@cno+'的前三名同学的成绩表' selecttop3*fromscwherecno=@cno orderbygradedesc fetchnextfrommycursorinto@cno end closemycursor deallocatemycursor 六、实验小结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 应用 开发 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)