数据库实验报告Word格式文档下载.docx
- 文档编号:5770063
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:11
- 大小:60.09KB
数据库实验报告Word格式文档下载.docx
《数据库实验报告Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《数据库实验报告Word格式文档下载.docx(11页珍藏版)》请在冰点文库上搜索。
实验目的
掌握SQL
Server
2000
的工具使用
掌握DDL的使用方法
掌握DML的使用方法
掌握SELECT命令
使用方法
掌握DCL的使用方法
掌握数据库的备份和恢复
二、实验原理
1.DDL使用方法
(1)数据库的创建
在查询分析器中执行下列语句即可在默认的设备上创建新的数据库sch。
CREATE
DATABASE
database_name
。
(2)基本表的建立
创建基本表的命令为:
TABLE
table_name。
创建基本表时,应先选择包含表的数据库。
(3)视图的建立
视图是组成数据库体系结构——三级模式两级映像结构中的外模式的基本单元,SQL-Server的视图定义命令为:
CREATEVIEWview-nameASSELECTstatement。
视图是用于定义终端用户数据来源的。
在视图定义中可以使用复杂的SELECT命令。
2.DML使用方法
SQL的DML包括插入(INSERT)、删除(DELETE)、修改(UPDATE)等命令。
DML命令的执行是可能造成数据库不一致的根源。
(1)INSERT命令
SQL语言的插入命令:
INSERTINTOtable-name(column-list)VALUES(values-list),可以完成数据输入功能。
(2)DELETE命令
SQL的删除命令为:
DELETEFROMtable-name[WHEREcondition-expression];
执行DELETE命令后,系统会删除满足命令中条件表达式的所有元组。
这种删除只是逻辑的。
因此,当再次插入一个与被删除的元组具有相同关键字的元组时,被认为违反了实体完整性。
(3)UPDATA命令
SQL的修改命令为:
UPDATE
table-name
SET
column-name
=
expression
[WHERE
condition-expression];
执行UPDATE命令后,系统会按照SET子句修改满足命令中条件表达式的所有元组。
如果使用修改命令更新关键字的值,而该关键字在其他表中作为外码存在时,操作可能违反参照完整性。
系统将拒绝执行。
(4)SELECT命令
SELECT
命令是SQL语言中使用最频繁的命令,其变化形式繁多,灵活运用SELECT
命令可以完成任意复杂的查询要求。
命令的基本语法为:
query_expression|column-list|*
FROM
table_name_list|view_name_list
condition-expression]
[GROUP
BY
[HAVING
condition-expression]]
[ORDER
order_expression|
column
[ASC|DESC]][,…n];
三、实验内容
1.基本表的创建与数据的插入
(1)创建教学管理中的三个基本表:
Students(S#,SNAME,AGE,SEX)
学生(学号,姓名,年龄,性别)
Courses(C#,CNAME,SCORE,PC#)课程(课程号,课程名,学分,先行课号)
SC(S#,C#,GRADE)
选修(学号,课程号,成绩)
(2)用INSERT命令输入数据
S1
LU
20
M
S2
YIN
19
S3
XU
18
F
S4
QU
14
S5
PAN
S6
DONG
24
表格1基本表students的数据
C1
数学
4
C2
英语
8
C3
数据结构
C4
数据库
3.5
C5
网络
表格2基本表courses的数据
C#
S8
85
90
89
84
88
87
73
NULL
86
82
75
80
92
表格3基本表SC的数据(空格为未选修)
2.数据查询
(1)列出选修课程号为C2的学生学号与姓名。
(2)检索选修课程名为“数学”的学生学号与姓名。
(3)检索没有选修C2课程的学生姓名与年龄。
(4)检索选修全部课程的学生姓名。
3.数据修改、删除
(1)把C2课程的非空成绩提高10%。
(2)在SC表中删除课程名为“物理”的成绩所对应的元组。
(3)在S和SC表中删除学号为S8的所有数据。
4.视图的操作
(1)建立男生学生的视图,属性包括学号,姓名,选修课程名和成绩。
(2)在男生视图中查询平均成绩大于80分的学生学号和姓名。
5.库函数,授权的控制
(1)计算每个学生选修课程的门数、平均成绩。
(2)建立一个合法的用户,将SC表的查询权限授予该用户。
(3)使用GRANT语句,把对基本表students、Courses、SC的使用权限授予其他用户。
6.数据库的备份和恢复
(1)使用完全备份将你的实验数据库备份到软盘。
(2)删除你所建立的数据库。
(3)恢复你的数据库。
(4)在恢复后的数据库上撤销你建立的基本表和视图。
四、实验结果及代码
1.基本表的创建与数据插入
createtablestudents(schar(9)primarykey,snamechar(20)notnull,agechar(3),sexchar(6));
createtablecourses(cchar(9)primarykey,cnamechar(20)notnull,scoreint,pcchar(3));
createtablesc(schar(9)foreignkeyreferencesstudents(s),cnochar(9),gradeint,foreignkey(c)referencescourses(c));
insertintostudentsvalues('
S1'
'
LU'
20,'
M'
);
S2'
YIN'
19,'
S3'
XU'
18,'
F'
S4'
QU'
S6'
PAN'
14,'
S8'
DONG'
24,'
insertintoCoursesvalues('
C1'
'
数学'
4,'
C2'
英语'
8,'
C3'
数据结构'
C4'
数据库'
3.5,'
C5'
网络'
insertintoSCvalues('
85);
90);
89);
84);
88);
87);
73);
NULL);
86);
82);
75);
80);
92);
代码:
selectsc.s,snamefromstudents,scwhereo='
andsc.s=students.s;
结果:
selectsc.s,snamefromstudents,sc,courseswhereame='
andcourses.c=oandstudents.s=sc.s;
selectsname,agefromstudentswherenotexists(select*fromscwhereo='
c2'
ands=students.s);
selectsnamefromstudentswherenotexists(select*fromcourseswherenotexists(select*fromscwheres=students.sandcno=courses.c));
(1)把C2课程的非空成绩提高10%。
updatesc
setgrade=grade*1.1
whereo='
andoisnotnull
(2)在SC表中删除课程名为‘物理’的所对应的元组。
deletefromSCwherecnoin(selectcnofromcourseswherecname='
物理'
)
(3)在S和SC表中删除学号为S8所对应的数据。
deletefromscwheresc.s='
s8'
deletefromstudentswherestudents.s='
代码:
createviewstudent_m(sno,sname,cname,grade)as
selectstudents.s,students.sname,cname,gradefromsc,students,courses
wherestudents.s=sc.sandcourses.c=oandsex='
selectdistinctstudents.s,students.snamefromstudent_m,studentswherestudent_m.sno=students.sandgrade>
selectstudents.s,students.sname,count(cno)选修门数,avg(grade)平均成绩fromstudents,scwherestudents.s=sc.sgroupbystudents.s,sname
execsp_addloginschool,schooluseschoolgoexecsp_grantdbaccess'
school'
GRANTSELECTONSCTOschool;
GRANTallprivileges--授予权限
ONCoursesTOguest;
GRANTallprivileges--授予权限
ONstudentsTOguest;
ONscTOguest;
6.数据库的备份恢复
EXECsp_addumpdevice'
DISK'
backupdevice_sch'
'
d:
\backupdev\sch.bak'
BACKUPDATABASEschTObackupdevice_sch
在对象资源管理器中找到数据库sch右键删除数据库sch。
(3)回复你的数据库。
restoredatabaseschfrombackupdevice_school
(4)在恢复后的数据库撤销你建立的基本表和试图。
droptablescdroptable
students
droptablecoursesdropviewstudent_m
五、实验心得体会
通过本次实验,我学到了很多东西,包括建表,导入数据,查询,插入。
重要的是我有机会用电脑自己进行实践,没接触的时候总是觉得它比较深奥或是不可接近的新型语言。
开始知道数据库的时候想学,不知道从何而起,感觉SQLSever数据库管理既然是单独一门课程一定会讲的比较细,也能学到真正实用的内容。
管理则需要对SQLSever数据库的原理有深刻的认识,SQLServer数据库的实验学习使我对数据库的有了新的进步。
但是课上的学习远远不足以让我熟练地使用管理数据库,因此我还要在将来的程序设计语言学习中更多的使用数据库,以在不同的环境中解决实际问题,更深刻的理解数据库的原理。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告