太原理工大学数据库实验报告文档格式.docx

上传人:b****5 文档编号:18977767 上传时间:2023-01-02 格式:DOCX 页数:16 大小:506.44KB
下载 相关 举报
太原理工大学数据库实验报告文档格式.docx_第1页
第1页 / 共16页
太原理工大学数据库实验报告文档格式.docx_第2页
第2页 / 共16页
太原理工大学数据库实验报告文档格式.docx_第3页
第3页 / 共16页
太原理工大学数据库实验报告文档格式.docx_第4页
第4页 / 共16页
太原理工大学数据库实验报告文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

太原理工大学数据库实验报告文档格式.docx

《太原理工大学数据库实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《太原理工大学数据库实验报告文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

太原理工大学数据库实验报告文档格式.docx

进行管理。

SQLSERVER配置管理器综合了SQLSERVER2000中的服务管

理器、服务器网络适用工具和客户端网络实用工具的功能。

打开SQLSERVER配置管理器工具,单击“SQLSERVER2005服务”

节点,其中的“SQLSERVER”服务就是我们所说的数据库引擎。

与SQL

SERVER2000一样,可以通过这个配置管理器来启动、停止所安装的服

务,如“SQLSERVER(MSSQLSERVER)”。

3.了解RDBMS系统的体系结构。

实验二交互式SQL

一.数据定义

(一)基本表的操作

1.建立基本表

例如,建立一个学生表:

createtableStudent

(Snochar(9)primarykey,

Snamechar(20)unique,

Ssexchar

(2),

Sagesmallint,

Sdeptchar(20))

建立一个课程表:

createtableCourse

(Cnochar(4)primarykey,

Cnamechar(40),

Cpnochar(4),

Ccreditsmallint,

foreignkey(Cpno)referencesCourse(Cno))

createtablesc

(Snochar(9),

Cnochar(4),

Gradesmallint,

primarykey(Sno,Cno),

foreignkey(Sno)referencesstudent(Sno),

foreignkey(Cno)referencescourse(Cno));

2.修改基本表

例如,像student表加一个入学时间列:

altertableStudentaddS_entrancedatetime

altertableStudentaltercolumnSageint

altertableCourseaddunique(Cname)

3.删除基本表

例如,删除已经建立的学生表:

droptableStudent

droptableCourse

(二)索引操作

1.建立索引

例如,为学生课程数据库中的student,course,sc三个表建立索引。

其中student表按学号升序建唯一索引,course表按课程号升序建唯一索引,sc表按学生升序和课程号升序建唯一索引:

createuniqueindexStusnoonStudent(Sno);

createuniqueindexCoucnoonCourse(Cno);

createuniqueindexSCnoonSC(SnoASC,CnoDESC)

2.删除索引

例如,删除student表的Stusno索引:

dropindexStusname

(三)数据操作

一.更新操作

1.插入数据

例如,在student表中插入下列数据:

200215125,张立,男,19,IS

代码如下

insertintostudent(Sno,Sname,Ssex,Sage,Sdept)values('

200215125'

'

立'

男'

19,'

IS'

插入后,结果如下:

在Course表中插入以下数据:

1,数据库,5,4

2,数学,null,2

6,数据处理,null,2

4,操作系统,6,3

7,PASCAL语言,6,4

5,数据结构,7,4

3,信息系统,1,4

insertintocourse(Cno,Cname,Cpno,Ccredit)values('

1'

数据库'

5'

4);

insertintocourse(Cno,Cname,Ccredit)values('

2'

数学'

2);

6'

数据处理'

4'

操作系统'

3);

7'

PASCAL语言'

数据结构'

3'

信息系统'

2.修改数据

例如,将学生200215121的年龄改为22岁:

updatestudentsetSage=22whereSno='

200215121'

修改前:

修改后:

3.删除数据

例如,删除学号为200215128的学生记录:

deletefromstudentwhereSno='

200215128'

删除所有学生的选课记录:

deletefromsc

删除计算机科学系所有学生的选课记录:

deletefromscwhere'

CS'

=(selectSdeptfromstudentwherestudent.Sno=SC.Sno)

二.查询操作

1.单表查询

例如,查询全体学生的学号与姓名:

selectSno,Snamefromstudent

再例如,查询全体学生的详细记录

select*fromstudent;

查询所有年龄在20岁以下的学生姓名及其年龄。

selectSname,SagefromstudentwhereSage<

20;

查询所有姓刘的学生的姓名、学号和性别。

selectSname,Sno,SsexfromstudentwhereSnamelike'

刘%'

;

2.连接查询

例如,查询每个学生及其选修课程的情况:

selectstudent.*,sc.*

fromstudent,sc

wherestudent.Sno=sc.Sno

查询每一门课的间接先修课:

selectfirst.Cno,second.Cpno

fromcoursefirst,coursesecond

wherefirst.Cpno=second.Cno

查询每个学生及其选修课程的情况,用外连接来完成。

selectstudent.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade

fromstudentleftouterjoinscon

(student.Sno=sc.Sno);

3.嵌套查询

例如,查询与“刘晨”在同一个系学习的学生。

selectSno,Sname,Sdept

fromstudentwhere

Sdeptin

(selectSdeptfromstudent

where

Sname='

刘晨'

);

查询选修了课程名为“信息系统”的学生学号和姓名.

selectSno,Sname

Snoin

(selectSnofromsc

Where

Cnoin

(select

Cnofromcourse

Cname='

));

 

4.集合查询

例如,查询计算机科学系的学生以及年龄不及十九岁的学生:

Select*

Formstudent

Wheresdept=‘cs’

Union

Fromstudent

Wheresage<

19

三.视图操作

1.建立视图

例如,建立信息系学生的视图:

Createview

IS_student

As

Selectsno.sname,sage

Formstudent

Wheresdept=‘IS’

将学生的学号和他的成绩定义为一个视图

2.删除视图

例如,删除视图BT_S

DropviewBT_S

3.查询视图

在信息系学生中找出年龄小于20岁的学生

Select*

FormIS_Student

Wheresage<

20

4.更新视图

将信息系统学生IS_student中学号为200215122的学生姓名改为“刘辰”

UpdateIS_student

Setsname=‘l刘辰’

Wheresno=‘200215122’

删除信息系学生视图IS_studnet中学号为200215129的记录

Delete

FromIS_student

Wheresno=‘200215129’

实验三数据库完整性

(1)了解SQLSerer数据库系统中数据完整性控制的基本方法

(2)了解使用SSMS设置约束

(3)熟练掌握常用CREATE或ALTER在创建或修改表时设置约束

(4)了解触发器的机制和使用

(5)验证数据库系统数据完整性控制

使用SQLServer数据库管理系统提供的SSMS。

三、实验内容及要求

结合图1—ST数据库中的各个表,设置相关的约束,并设置一个触发器,实现学生选课总学分的完整性控制,并验证完整性检查机制。

要求包括如下方面的内容:

1.使用SSMS的图形界面设置约束

使用SSMS的图形界面设置各种约束,按如下图示进入表设计窗口:

在表设计窗口中,鼠标右击,选择设置约束(按如下图示)

2.使用SQL语句设置约束

使用CREATE或ALTER语句完成如下的操作,包括:

1)设置各表的主键约束

2)设置相关表的外键

3)设置相关属性的非空约束、默认值约束、唯一约束

4)设置相关属性的CHECK约束

Createtablestudent

(snochar(6)primarykey,--主键约束

Snamechar(10)unique,--唯一约束

Sumcintcheck(sumc=0),--用户自定义约束,初值为0

Sdeptchar

(2)notnull)--非空约束

Createtablesc

(snochar(6),

Cnochar(3)notnull,--非空约束

Gradeint,

Creditint,

Primarykey(sno,cno),--主键约束

Foreignkey(sno)referencesstudent(sno))--外键约束

3.使用触发器

创建一个触发器,实现如下的完整性约束:

1)当向SC表中插入一行数据时,自动将学分累加到总学分中。

●定义触发器

createtriggerstu_insert

onscafterinsert

as

begin

declare@snochar(8),@xfint

ifexists(select*frominsertedwheregrade>

60)then

begin

select@sno=sno,@xf=creditfrominserted

updatestudentsetsumc=sumc+@xfwheresno=@sno

print'

success'

end

else

fail'

end

2)在表student中建立删除触发器,实现表student和表sc的级联删除

Createtriggersdelete

Onstudentinsteadofdelete

Deletefromsc

Wheresnoin(selectsnofromdeleted)

Deletefromstudent

4.检查约束和触发器

分别向相关表插入若干条记录,检查你设置的完整性约束是否有效:

1)插入若干条包含正确数据的记录,检查插入情况

2)分别针对设置的各个约束,插入违反约束的数据,检查操作能否进行

3)向SC表插入若干行数据,检查触发器能否实现其数据一致性功能。

●激活触发器

insertintostudent(sno,sname,sdept)values('

010001'

王林'

01'

010002'

程明'

insertintoscvalues('

101'

80,4)

102'

87,3)

85,4)

实验四数据库安全性

(1)了解SQLSerer数据库系统中数据访问控制的基本方法

(2)了解使用SSMS如何给用户授权

(3)熟练掌握常用GRANT和REVOKE进行权限控制

(4)验证数据库系统的访问控制

使用SQLServer数据库管理系统提供的SSMS和查询编辑器。

对上以一实验建立的表进行权限设置,并检查权限控制。

(一)使用SSMS的图形界面授权

1. 

使用SSMS的图形界面创建登录名(按如下图示)

2.使用ssms图形界面创建数据库用户(按下图所示)

3.使用SSMS的图形界面进行授权,分别设置用户对象的访问权限:

(1)打开属性窗口

(2)在属性窗口的“安全对象”中进行设置

(二)使用SQL语句设置权限

1.创建登录名。

创建SQLserver登录名hawk,其密码为hawk:

Createloginhawk

Withpassword=‘hawk’

修改登录密码为11:

Alterloginhawk

Withpassword=‘11’

删除帐户hawk:

Droploginhawk

2.创建数据库用户

使用CREATEUSER语句为新创建的登录名创建用户:

Createuserhawk

Forloginhawk

删除用户操作为:

Dropuserhawk

3.授权

按上述方法创建两个用户,并对其中一个授予查询、插入和修改的权限,另一个不授权。

例如:

Grantselectonstudent

Toaa

Grantinsertonstudent

下面检查权限控制

分别以两个登录名登录,在查询编辑器中使用SQL语句进行如下操作:

已授权用户登录界面如下,

1)以授权用户执行一个查询表的操作,检查操作能否进行

2)以未授权用户执行一个查询表的操作,检查操作能否进行

3)给未授权用户授权后,执行授权的操作,检查操作能否进行

4)撤销权限后,检查操作能否进行

REVOKESELECTONSCFROMaa

实验心得

这次实验做的时间比较长,尤其是第二个实验,我把所有的操作都实践了一遍,做的时候也发现了很多问题,输入时不能出现一点错误,一旦出错,程序将运行不出来。

做实验报告时选取了其中的一部分,从中体会到了很多上课体会不到的东西。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 纺织轻工业

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1