数据库实验报告3.docx
- 文档编号:9512018
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:11
- 大小:450.06KB
数据库实验报告3.docx
《数据库实验报告3.docx》由会员分享,可在线阅读,更多相关《数据库实验报告3.docx(11页珍藏版)》请在冰豆网上搜索。
数据库实验报告3
实验七数据安全性实验
实验内容:
1.建立教学数据库teaching
createdatabaseteaching
onprimary
(
name=teaching1,
filename='g:
teaching1t.mdf',
size=10mb,
filegrowth=10%
)
logon
(
name='teaching1_log',
filename='g:
\teaching1_log.ldf',
size=1mb,
maxsize=5mb,
filegrowth=1mb
)
2.建立教学数据库的三个基本表:
S(S#,SNAME,AGE,SEX)学生(学号,姓名,年龄,性别)
SC(S#,C#,GRADE)选修(学号,课程号,成绩)
C(C#,CNAME,TEACHER)课程(课程号,课程名,任课教师)
useteaching
CREATETABLEC
(
C#CHAR(10),
CNAMECHAR(10),
TAECHERCHAR(10),
constraintC#_fkforeignkey(C#)referencesSC(C#)
S表,SC表略.
3.输入数据
useteaching
INSERTINTOS(S#,SNAME,AGE,SEX)VALUES('S1','WANG',20,'M');
INSERTINTOS(S#,SNAME,AGE,SEX)VALUES('S2','LIU',19,'M');
INSERTINTOS(S#,SNAME,AGE,SEX)VALUES('S3','CHEN',22,'M');
INSERTINTOS(S#,SNAME,AGE,SEX)VALUES('S4','WU',19,'M');
INSERTINTOS(S#,SNAME,AGE,SEX)VALUES('S5','LOU',21,'F');
INSERTINTOS(S#,SNAME,AGE,SEX)VALUES('S8','DONG',18,'F');
INSERTINTOSC(S#,C#,GRADE)VALUES('S1','C1',80);
INSERTINTOSC(S#,C#,GRADE)VALUES('S1','C2',70);
INSERTINTOSC(S#,C#,GRADE)VALUES('S1','C3',85);
INSERTINTOSC(S#,C#,GRADE)VALUES('S1','C4',90);
INSERTINTOSC(S#,C#,GRADE)VALUES('S1','C5',70);
INSERTINTOSC(S#,C#,GRADE)VALUES('S2','C1',85);
INSERTINTOSC(S#,C#)VALUES('S2','C2');
INSERTINTOSC(S#,C#)VALUES('S2','C3');
INSERTINTOSC(S#,C#)VALUES('S2','C4');
INSERTINTOSC(S#,C#)VALUES('S2','C5');
INSERTINTOSC(S#,C#,GRADE)VALUES('S3','C1',90);
INSERTINTOSC(S#,C#,GRADE)VALUES('S3','C2',85);
INSERTINTOSC(S#,C#,GRADE)VALUES('S3','C3',95);
INSERTINTOSC(S#,C#)VALUES('S3','C4');
INSERTINTOSC(S#,C#)VALUES('S3','C5');
INSERTINTOSC(S#,C#,GRADE)VALUES('S4','C1',70);
INSERTINTOSC(S#,C#,GRADE)VALUES('S4','C2',60);
INSERTINTOSC(S#,C#,GRADE)VALUES('S4','C3',80);
INSERTINTOSC(S#,C#)VALUES('S4','C4');
INSERTINTOSC(S#,C#,GRADE)VALUES('S4','C5',65);
INSERTINTOSC(S#,C#,GRADE)VALUES('S5','C1',90);
INSERTINTOSC(S#,C#)VALUES('S5','C2');
INSERTINTOSC(S#,C#,GRADE)VALUES('S5','C3',90);
INSERTINTOSC(S#,C#)VALUES('S5','C4');
INSERTINTOSC(S#,C#)VALUES('S5','C5');
useteaching
INSERTINTOC(C#,CNAME,TAECHER)VALUES('C2','MATHS','MA');
INSERTINTOC(C#,CNAME,TAECHER)VALUES('C4','PHYSICS','SHI');
INSERTINTOC(C#,CNAME,TAECHER)VALUES('C3','CHEMISTRY','ZHOU');
INSERTINTOC(C#,CNAME,TAECHER)VALUES('C1','DB','LI');
INSERTINTOC(C#,CNAME,TAECHER)VALUES('C5','OS','WEN');
4.数据修改、删除
1)把C2课程的非空成绩提高10%。
USETEACHING
updateSC
setGRADE=GRADE*1.1
WHEREC#='C2';
2)在SC表中删除课程名为PHYSICS的成绩的元组。
USETEACHING
DELETE
FROMSC
WHEREC#IN
(
SELECTC#
FROMC
WHERECNAME='PHYSICS'
);
3)在S和SC表中删除学号为S8的所有数据。
USETEACHING
delete
FROMS
WHERES#='S8';
实现的级联删除
5.计算每个学生有成绩的课程门数、平均成绩。
useteaching
SELECTS#,COUNT(C#)'SUM',AVG(GRADE)'AVG'
FROMSC
WHEREGRADE!
=0
GROUPBYS#;
6.创建一个登录用户
(1)打开企业管理器中的安全性文件夹,右击其中的登录文件夹,在弹出的菜单中选择“新建登录”选项后,就会出现一个登录属性对话框,在常规选项卡中输入用户名(login1),选择该用户的安全认证模式,选择默认数据库和默认语言。
如使用SQLSERVER安全认证模式,可以直接在名称栏中输入新登录名,并在下面的栏目中输入登录密码。
(2)选择数据库访问选项卡,确定用户能访问的数据库为教学数据库teaching,操作完成后,单击“确定”按钮,完成创建登录用户的工作。
7.创建新的数据库用户在企业管理器中扩展SQL服务器及数据库文件夹。
右击用户文件夹,弹出的菜单中选择“新建数据库用户”项,会出现新建数据库用户属性对话框。
在对话框的登录名栏中选择一个SQL服务器登录用户名(login1),并在它下面的用户名栏中输入数据库用户名u2,单击“确定”按钮完成。
8.使用GRANT语句,把对基本表S、SC、C的使用权限授给用户u2。
并用REVOKE语句回收权限。
grantallPRIVILEGES
ontableS
TOu2
授权失败,原因不详
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告