华科数据库实验报告Word格式.docx
- 文档编号:15116610
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:18
- 大小:156.20KB
华科数据库实验报告Word格式.docx
《华科数据库实验报告Word格式.docx》由会员分享,可在线阅读,更多相关《华科数据库实验报告Word格式.docx(18页珍藏版)》请在冰豆网上搜索。
1)数据库创建
在查询分析器中执行下列语句即可在默认的设备上创建新的数据库ems。
CREATEDATABASEdatabase_name
2)基本表的建立
创建基本表的命令为:
CREATETABLEtable_name,在该命令中定义主码和外码时,可以使用列约束(ColumnConstraint)或表约束(TableConstraint)子句。
创建基本表时,应先选择包含表的数据库。
3)视图的建立
视图是组成数据库体系结构——三级模式两级映像结构中的外模式的基本单元,SQL-Server的视图定义命令为:
CREATEVIEWview-nameASSELECTstatement
视图是用于定义终端用户数据来源的。
在视图定义中可以使用复杂的SELECT命令。
3.DML使用方法
SQL的DML包括插入(INSERT)、删除(DELETE)、修改(UPDATE)等命令。
DML命令的执行是可能造成数据库不一致的根源。
因此,每一条语句在执行前,SQL-Server都要验证语句是否符合完整性要求,包括实体完整性、参照完整性、用户定义完整性。
1)INSERT命令
SQL语言的插入命令:
INSERTINTOtable-name(column-list)VALUES(values-list),可以完成数据输入功能。
2)DELETE命令
SQL的删除命令:
DELETEFROMtable-name[WHEREcondition-expression];
执行DELETE命令后,系统会删除满足命令中条件表达式的所有元组。
这种删除只是逻辑的。
因此,当再次插入一个与被删除的元组具有相同关键字的元组时,被认为违反了实体完整性。
3)UPDATE命令
SQL的修改命令为:
UPDATEtable-name
SETcolumn-name=expression
[WHEREcondition-expression];
执行UPDATE命令后,系统会按照SET子句修改满足命令中条件表达式的所有元组。
如果使用修改命令更新关键字的值,而该关键字在其他表中作为外码存在时,操作可能违反参照完整性。
系统将拒绝执行。
4)SELECT命令
SELECT命令是SQL语言中使用最频繁的命令,其变化形式繁多,灵活运用SELECT命令可以完成任意复杂的查询要求。
SELECT命令的基本语法为:
SELECTquery_expression|column-list|*
FROMtable_name_list|view_name_list
[WHEREcondition-expression]
[GROUPBY[HAVINGcondition-expression]]
[ORDERBYorder_expression|column[ASC|DESC]][,…n];
4.DCL的使用方法
1)SQLServer登录认证
•新登录的创建
新的登录者可以是WINDOWS的用户或用户组,也可以是使用SQLServer认证模式的登录帐号。
设定WINDOWS的用户为SQLServer登录者时使用sp_grantlogin。
创建新的使用SQLServer认证模式的登录帐号时使用sp_addlogins。
•登录的删除
删除基于使用SQLServer认证模式的SQLServer的登录可以使用sp_droplogin。
但是,如果与该登录匹配的数据库用户仍存在sysuser表中,则不能删除该登录账号。
删除WINDOWS的用户或用户组时,使用sp_revokelogin,拒绝WINDOWS的用户或用户组连接到SQLServer时,使用sp_decnylogin。
•登陆的查看
sp_helplogins可以用来显示SQLServer的所有登录者的信息。
如图29是显示数据库ems的所有登录者信息的代码。
2)用户管理
SQLServer利用下列系统过程管理数据库用户:
sp_addusersp_grangdbaccesssp_dropuserSp_dropusersp_revokedbaccesssp_helpuser。
其中sp_adduserSp_dropuser是为了保持与以前版本相兼容,因此不主张使用,在SQLServer2000中,建议使用sp_grangdbaccesssp_revokedbaccess。
•创建新数据库用户
所有的数据库用户(除了guest)均必须与某一登录账号相匹配,因此在使用系统过程创建新数据库用户时,不但要指出新数据库用户的名称,还必须指出一个已经存在的登录账号。
系统过程sp_grantdbaccess用于为SQLServer登录用户或NT用户或用户组建立相匹配的数据库用户帐号。
•删除数据库用户
系统过程sp_revokedbaccess用于将数据库用户从当前数据库中删除,删除后与其匹配的登录即无法再访问该数据库了。
•查看数据库用户信息
sp_helpuser可用来显示当前数据库的指定用户信息。
3)用户授权管理
对于登录到SQLServer的合法数据库用户,必须获得对数据库操作的授权。
在SQLServer中包括两种类型的权限,即对象权限和语句权限。
对象权限总是针对表、视图、存储过程而言,它决定了能对这些对象执行哪些操作(如UPDATEDELETEINSERTSELECTEXECUTE)。
不同类型的对象支持不同类型的操作。
语句权限指数据库用户执行某种语句的操作权,如创建数据库、表、存储过程等。
这些语句虽然(如CREATE命令)包含有操作对象,但这些对象在操作前并不存在于数据库中。
5.数据库的备份和恢复
备份是指对SQLServer数据库或事务日志进行拷贝,如果数据库因意外而损坏,备份文件可以用来恢复数据库。
SQLServer2000中有四种备份类型,分别是:
数据库备份、事务日志备份、差异备份、文件和文件组备份。
在使用是可以根据实际情况选择一种或几种的混合应用。
1)备份设备
在进行备份以前必须创建备份设备。
备份设备是用来存储数据库、事务日志、文件和文件组备份的存储介质。
可以是磁盘、磁带或管道。
SQLServer2000提供了两种创建备份的途径,即可视化方式和命令方式。
用命令备份数据库
使用BACKUP命令进行备份操作。
备份完整数据库
/*EXECsp_addumpdevice'
DISK'
'
backupdevice_name'
'
d:
\backupdev\ems.bak'
目标路径*/
BACKUPDATABASEdatabaseTObackupdevice_name
2)恢复数据库
使用命令恢复数据库
数据库恢复命令为:
RESTOREDATABASE/LOG。
三、实验内容
实验1:
基本表的创建、数据插入
(1)建立教学管理中的三个基本表:
Students(S#,SNAME,AGE,SEX)学生(学号,姓名,年龄,性别)
Courses(C#,CNAME,SCORE,PC#)课程(课程号,课程名,学分,先行课号)
SC(S#,C#,GRADE)选修(学号,课程号,成绩)
(2)用INSERT命令输入数据。
表1基本表Students的数据
S1
LU
20
M
S2
YIN
19
S3
XU
18
F
S4
QU
S6
PAN
14
S8
DONG
24
表2基本表Courses的数据
C1
数学
4
C2
英语
8
C3
数据结构
C4
数据库
3.5
C5
网络
表3基本表SC的数据
85
90
89
84
88
87
73
NULL
86
82
75
80
92
实验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)创建基本表
createdatabaseems
useems;
go
createtablestudents(snochar(9)primarykey,
snamechar(20)notnull,
agechar(3),
sexchar(6));
createtablecourses(cnochar(9)primarykey,
cnamechar(20)notnull,
scoreint,
pcchar(3));
createtablesc(snochar(9)foreignkeyreferencesstudents(sno),
cnochar(9),
gradeint,
foreignkey(cno)referencescourses(cno));
(2)用INSERT命令输入数据
go
insertintostudentsvalues('
S1'
LU'
20,'
M'
);
S2'
YIN'
19,'
S3'
XU'
18,'
F'
S4'
QU'
insertintostuden
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告