数据库课内实验报告.docx
《数据库课内实验报告.docx》由会员分享,可在线阅读,更多相关《数据库课内实验报告.docx(13页珍藏版)》请在冰豆网上搜索。
![数据库课内实验报告.docx](https://file1.bdocx.com/fileroot1/2022-12/11/8e8c7b43-3bdc-4724-ba8d-4e9ad0446fc7/8e8c7b43-3bdc-4724-ba8d-4e9ad0446fc71.gif)
数据库课内实验报告
《数据库系统教程课内实验》
实验报告
一、实验目的及要求
1、掌握SQLServer数据库系统的安装、配置、基本管理。
2、熟练掌握和使用关系数据库语言SQL。
3、了解实际的数据库管理系统软件中安全性和完整性实现机制。
4、了解数据库管理系统软件中数据备份和恢复技术的机制。
二、实验环境
SQLServer
三、实验内容
1、数据库管理系统安装与使用
熟练掌握数据库管理系统安装、配置、管理,要求掌握数据库的创建、修改和删除的基本操作过程,综合了解数据库物理模型在具体数据库系统中的形态。
2、关系数据库语言SQL的使用
要能够在指定的数据库管理系统中,使用SQL语言实现基本表、视图等数据对象的创建、修改、删除,并能对数据库进行单表查询、多表查询,以及增加、修改、删除数据等基本操作。
3、了解实际的数据库管理系统软件中安全性和完整性实现机制
要能够在指定的数据库管理系统中,掌握数据库用户和角色管理,设置和管理数据操作权限,学会创建和使用完整性约束规则。
4、数据库备份和恢复实验
要能够在指定的数据库管理系统中,熟悉各种数据备份和恢复的方法。
四、实验步骤
(1)启动服务管理器
(2)创建数据库
(3)新建表
(4)定义主键
(5)定义外键
因为实验分为两次,为了方便下次实验进行了数据库备份,后来学习了
数据库恢复。
五、实验结果
1、建立的表
2、完成实验要求中的SQL语句
第一题
(1)SELECTJSJ05C110.C#,CNAME,CRIDET
FROMJSJ05C110
(2)
SELECTJSJ05S110.S#,JSJ05SC110.GRADE
FROMJSJ05S110INNERJOIN
JSJ05SC110ONJSJ05S110.S#=JSJ05SC110.S#
WHERE(JSJ05SC110.C#<>'EE-02')AND(JSJ05S110.SEX='男')
(3)
SELECT*
FROMJSJ05S110
WHERE(BDATEBETWEEN'1982'AND'1984')
(4)
SELECTJSJ05S110.S#,JSJ05S110.SNAME,SUM(JSJ05C110.CREDIT)ASExpr1
FROMJSJ05S110INNERJOIN
JSJ05SC110ONJSJ05S110.S#=JSJ05SC110.S#INNERJOIN
JSJ05C110ONJSJ05SC110.C#=JSJ05C110.C#
WHERE(JSJ05SC110.GRADE>=60)
GROUPBYJSJ05S110.S#,JSJ05S110.SNAME
(5)SELECTTOP1S#
FROMJSJ05SC110
WHERE(S#NOTIN
(SELECTTOP1S#
FROMJSJ05SC110
WHEREC#='CS-01'
ORDERBYJSJ05SC110,GRADEDESC))AND(C#='CS-01')
ORDERBYGRADEDESC
(6)
SELECTJSJ05S110.S#,JSJ05S110.SNAME,AVG(JSJ05SC110.GRADE)ASExpr1
FROMJSJ05S110INNERJOIN
JSJ05SC110ONJSJ05S110.S#=JSJ05SC110.S#
GROUPBYJSJ05S110.S#,JSJ05S110.SNAME
HAVING(AVG(JSJ05SC110.GRADE)>
(SELECTAVG(GRADE)
FROMJSJ05S110,JSJ05SC110
WHEREJSJ05S110.S#=JSJ05SC110.S#ANDJSJ05S110.SNAME='王涛'
GROUPBYJSJ05SC110.S#,JSJ05S110.SNAME))
ORDERBYJSJ05S110.S#DESC
(7)SELECTTOP1JSJ05S110.S#,JSJ05S110.SNAME
FROMJSJ05S110INNERJOIN
JSJ05SC110ONJSJ05S110.S#=JSJ05SC110.S#
GROUPBYJSJ05S110.S#,JSJ05S110.SNAME
HAVING(COUNT(*)>=3)
ORDERBYAVG(JSJ05SC110.GRADE)DESC
第二题INSERTINTOJSJ05S110
VALUES('01032005','刘静','男','1983-12-10',1.75,'西14舍31')
因为在主键上重复所以不能加入。
INSERTINTOJSJ05C110
(C#,CNAME,PERIOD,CREDIT,TEACHER)
VALUES('CS03','离散数学',64,4,'陈建明')
第三题
DELETEFROMJSJ05S110
WHERE(110<
(SELECTSUM(CREDIT)
FROMJSJ05C110,JSJ05S110,JSJ05SC110
WHEREJSJ05S110.S#=JSJ05SC110.S#AND
JSJ05C110.C#=JSJ05SC110.C#ANDJSJ05SC110.GRADE>=60))
第四题
UPDATEJSJ05C110
SETPERIOD='56',CREDIT=CREDIT+1
WHERE(CNAME='信号与系统')AND(TEACHER='张明')
第五题.
(1)CREATEVIEWS_MALE(S#,SNAME,BDATE,HEIGHT)ASSELECTS#,SNAME,BDATE,HEIGHT
FROMJSJ05S110
WHEREDORMLIKE'西18%'ANDSEX='男'
(2)CREATEVIEWZ_COURSE(C#,CNAME,AVEGRADE)ASSELECTJSJ05C110.C#,CNAME,AVG(GRADE)
FROMJSJ05C110,JSJ05SC110
WHEREJSJ05C110.C#=JSJ05SC110.C#ANDTEACHER='张明'
GROUPBYJSJ05C110.C#,CNAME
(3)CREATEVIEWR_S(S#,SNAME,GRADE)ASSELECTJSJ05S110.S#,SNAME,GRADE
FROMJSJ05S110,JSJ05C110,JSJ05SC110
WHEREJSJ05S110.S#=JSJ05SC110.S#AND
JSJ05C110.C#=JSJ05SC110.C#ANDCNAME='人工智能'
六、总结
通过上机实验更好的掌握了SQL语句,之前在作业中写的一些语句在实际中会发现是有一定问题的。
因为时间关系没有来得及做实验三中安全性的部分,有时间的时候会去机房再次实践一下。