SQL server数据库管理系统实验报告Word文档下载推荐.docx
- 文档编号:17369827
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:14
- 大小:21.58KB
SQL server数据库管理系统实验报告Word文档下载推荐.docx
《SQL server数据库管理系统实验报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《SQL server数据库管理系统实验报告Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
创建一个名为Market的数据库(注意e盘下应存在sql_data目录)。
CREATEDATABASEMarket
ON
(NAME=Market_Data,
FILENAME=’e:
\sql_data\Market_Data.mdf’,
SIZE=10,
MAXSIZE=50,
FILEGROWTH=10%)
LOGON
(NAME=Market_Log,
\sql_data\Market_Log.ldf’,
SIZE=5,
MAXSIZE=15,
FILEGROWTH=10%);
(4)用企业管理器在教务管理数据库JWGL中创建学生表Student、课程表Course、学生选课表SC,它们的表结构如表B.1所示。
表B.1教务管理数据库的表结构
学生表Student
列名
数据类型
长度
允许空值
默认值
说明
Sno
char
8
×
主键
Sname
varchar
10
Sex
2
男
只能“男”或“女”
Age
tinyint
20
只能为15—30
Phonenumber
12
√
取值唯一
Sdept
课程表Course
Cno
Cname
Total_perior
64
只能为32—108
Week_perior
4
只能为2—7
credit
只能为1—7
Pcno
学生选课表SC
主键,外键
Grade
只能为0—100
(5)用T_SQL语句在Market数据库中创建客户基本信息表Customers、货品信息表Goods、订单信息表Orders,它们的定义如下
CREATETABLECustomers(
CustomerIDintIDENTITY(1,1)PRIMARYKEY,
Cnamevarchar(8)NOTNULL,
Addressvarchar(50),
Cityvarchar(10),
Telvarchar(20)UNIQUE
Companyvarchar(50),
Birthdaydatetime,
TypetinyintDEFAULT1);
CREATETABLEGoods(
GoodsIDintCONSTRAINTC1PRIMARYKEY,
GoodsNamevarchar(20)NOTNULL,
Pricemoney,
Descriptionvarchar(200),
Storageint,
Providervarchar(50),
StatustinyintDEFAULT(0));
CREATETABLEOrders(
OrderIDintIDENTITY(1,1)CONSTRAINTC2PRIMARYKEY,
GoodsIDintNOTNULLREFERENCESGoods(GoodsID)ONDELETECASCADE,
QuanityintNOTNULLCONSTRAINTC3CHECK(Quantity>
0),
OrderSummoneyNOTNULL,
OrderDatedatetimeDEFAULT(getdate()));
3.实验环境
装有SQLServer2000的实验机
4.实验前的准备
1.要明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。
2.创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长及增长的方式)和存储数据的文件。
3.确定数据库包含哪些表以及包含的各表的结构,还要了解SQLServer的常用数据类型,以创建数据库的表。
4.了解常用的创建数据库和表的方法。
5.实验步骤
1、首先在企业管理器中创建好名称为JWGL的数据库,接着根据实验内容中的要求,把数据输入,使其生成一个基本的数据库
2、接着在这个数据库中建立新表,分别为学生表、课程表、学生选课表,
讲三者的完整性和联系都确立好。
3、在Market数据库中用查询分析器创建新表:
客户基本信息表、货品信息表、订单信息表。
4、完成Market数据库中各表的数据完整性。
6.实验结果
根据以上关于表的建立操作,可以得到两个较为完整的关系表,根据这两个表格我们就可以得到想要获得的信息了。
7.评价分析与心得体会
本次实验主要是初步熟悉SQLServer2000中对于表的建立的基本操作,表格的建立相对简单,况且以前也学个SQL,这次做起来还算是驾轻就熟,但是在企业管理器中创建约束是个难点。
通过这次实验,我对数据库的基本操作有了初步的认识,为后续实验打下了坚实的基础。
实验二:
数据库上的基本操作实验
掌握使用T_SQL语句和企业管理器对数据表进行插入、修改和删除数据的操作,并体会数据完整性约束的作用,加深对数据完整性及其约束的理解。
数据查询是数据库中最基本的操作,也是使用最频繁的操作,因此必须掌握SQL的查询语句(SELECT语句)的使用方法。
进一步掌握SELECT语句的使用方法,通过实验能够熟练地使用SELECT语句。
通过本实验,要熟练掌握INSERT、UPDATE、DELETE语句的语法和使用方法。
掌握简单表的数据查询、数据排序和多表操作时数据连接查询的操作方法。
掌握嵌套查询和统计查询的操作方法。
(1)分别使用T-SQL语句和企业管理器,向数据库JWGL、数据库Market中各张表输入一些记录。
(2)使用T-SQL语句进行插入、修改和删除记录的操作。
1插入数据时既要插入一些不违背数据完整性约束的记录,也要插入一些违背数据完整性约束的记录,观察插入后的结果,并利用相关知识解释此现象。
在涉及参照完整性约束的参照表中插入数据时,理解系统是如何保证完整性的。
2修改数据时除使用正确数据外,也可以对修改后的新值使用一些违背数据完整性约束的数据,观察系统执行后的结果。
另外进一步观察在涉及参照完整性约束的参照表和被参照表中修改数据时系统的执行情况,如果违背参照完整性那么观察结果。
3删除记录时一般不会出现问题,但要是在有参照完整性约束的被参照表中删除数据时也存在破坏完整性的情况。
观察删除记录系统的执行结果。
(3)简单查询操作。
该试验包括投影、选择表达、数据排序等。
1在数据库JWGL中的学生表Student、课程表Course、学生选课表SC中完成第3章例题3.10-例题3.28的查询操作。
2在数据库Market的客户表Customers、货品表Goods、订单表Orders中完成第3章习题6中
(1)-(4)的查询。
(4)连接查询操作。
该实验包括等值连接、自然连接、一般连接(内连接)、外连接、左外连接、右外连接和自然连接等。
1在数据库JWGL中的学生表Student、课程表Course、学生选课表SC中完成第3章例题3.35-例题3.39中的查询操作。
2在数据库Market的客户表Customers、货品表Goods、订单表Orders中完成第3章习题6中(5)的查询。
(5)在数据库JWGL的学生表Student、课程表Course、学生选课表SC中完成第3章例题3.40-例题3.47中的查询操作。
(6)在数据库Market的客户表Customers、货品表Goods、订单表Orders中完成第3章习题6中(6)-(9)的查询。
装有SQLServer2000的实验机
1.要明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。
本实验中所用到的学生-课程数据库表如下:
Student
学号Sno
姓名Sname
性别Ssex
年龄Sage
所在系Sdept
950001
马征
CS
950002
杨青青
女
19
950003
王义敏
18
MA
950004
赵之琛
IS
Course
课程号Cno
课程名Cname
先修课Cpno
学分Ccredit
1
数据库
5
数学
3
信息系统
操作系统
6
数据结构
7
数据处理
C语言
SC
成绩Grade
90
88
79
93
80
1.查询全体学生的学号,姓名和所在系的有关信息
SELECTSno,Sname,Sdept
FromStudent;
2.查询全体学生的所有信息。
SELECT*
FROMStudent;
3.查询全体学生的姓名及出生年份。
SELECTSname,2008-Sage
4.查询学生的学号,姓名和所在系,要求用小写字母表示所在的系。
SELECTSno,Sname,LOWER(Sdept)
5.在SC表中查询所有选了课程的学生的学号,并消除重复的学号。
SELECTDISTINCTSno
FROMSC;
6.查询计算机系的所有学生的学号和姓名。
SELECTSno,Sname
FROMStudent
WHERESdept=‘CS’;
7查询考试成绩不及格的学生的学号。
SELECTSno
FROMSC
WHEREGrade<
60;
8.查询年龄在20~30岁之间的学生的姓名,所在系和年龄。
SELECTSname,Sdept,Sage
WHERESageBETWEEN20AND23;
9.查询计算机系、数学系和信息系的学生姓名和性别。
SELECTSname,Sage
WHERESdeptIN(‘CS’,’MA’,’IS’);
10.查询信息系所有学生的情况。
WHERESdeptLIKE‘IS’
这里要注意的是如果后面的<
匹配串>
中不含有通配符,则可以用等号(=)代替LIKE。
11.查询DB_Design课程的课程号及学分。
SELECTCno,Ccredit
FROMCourse
WHERECnameLIKE‘DB\_Design’ESCAPE‘\’;
12.查询没有考试成绩的学生的学号及相应的课程号。
SELECTSno,Cno
WHEREGradeISNULL;
13.查询计算机系年龄在20岁以下的学生的学号、姓名和性别。
SELECTSno,Sname,Ssex
WHERESdept=‘CS’ANDSage<
20;
14.查询选修了1号课程的学生的学号及成绩,查询结果按成绩的降序排序。
SELECTSno,Grade
WHERECno=’1’
ORDERBYGradeDESC
15.查询全体学生情况,查询结果按所在系的升序排序,同一系中的学生按年龄降序排序。
ORDERBYSdept,SageDESC;
16.查询每个学生及其选修课的情况
SELECTStudent.*,SC.*
FROMStudent,SC
WHEREStudent.Sno=SC.Sno;
17.对16用自然连接完成。
SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade
FROMStudent,SC
18.查询每门课的间接先修课
SELECTFirst.Cno,Second..Cpno
FROMCourseFirst,CourseSecond
WHEREFirst.Cno=Second.Cno;
19.将17改为左外连接。
FROMStudentLEFTOUTERJOINSC
ONStudent.Sno=SC.Sno;
20.查询选修了数据库原理课程且成绩在90分以上的学生的学号和姓名。
SELECTStudent.Sno,Sname
FROMStudent,Course,SC
WHEREStudent.Sno=SC.SnoANDSC.Cno=Course.Cno
ANDCname=’数据库原理’ANDGrade>
90;
21.查询选修了1号课程的学生的姓名。
SELECTSname
WHERESnoIN
(SELECTSno
WHERECno=‘1’);
22.查询和张明在一个系学习的学生的学号和姓名。
WHERESdept=
(SELECTSdept
WHERESname=‘张明’);
23.查询其他系中比计算机系某一学生小的学生姓名和年龄。
WHERESdept<
>
‘CS’
ANDSage<
ANY(SELECTSage
WHERESdept=’CS’);
24.查询每个学生超过他所选课程平均成绩的课程号。
SELECTSno,Cno
FROMSCx
WHEREGrade>
=(SELECTAVG(Grade)
FROMSCy
WHEREy.Cno=x.Cno);
在本次实验当中,首先在上次实验中创建的数据库JWGL的三个表Student、Course、SC中添加所需的数据,然后使用INSERT、UPDATE、DELETE语句对其进行了插入、修改和删除的操作,最后依据实验要求使用SELECT语句分别进行了简单查询、连接查询和复杂查询的操作
实验三:
数据库的安全性试验
一、实验目的
(1)理解SQLServer2000验证用户身份的过程,掌握设置身份验证模式的方法。
(2)理解登录账号的概念,掌握混合认证模式下登录账号的建立与取消方法。
(3)掌握混合认证模式下数据库用户的建立与取消方法。
(4)掌握数据库用户权限的设置方法。
(5)理解角色的概念,掌握管理的角色技术。
二、实验内容
(1)在企业管理器中打开“SQLServer属性(配置)”对话框,设置身份验证模式为“SQLServer”和“Windows”模式(即混合模式)。
(2)创建、管理数据库服务器的登录账号。
(3)创建、管理数据库用户。
(4)管理用户权限。
(5)创建、管理数据库角色。
三、实验环境
四、实验前准备
五、实验步骤
1.在企业管理器中打开“SQLServer属性(配置)”对话框,设置身份验证模式为“SQLServer”和“Windows”模式(即混合模式)。
2.创建、管理数据库服务器的登录账号。
用T-SQL语句创建、查看、删除登录账号。
创建一个名为Student、密码为111、使用的默认数据库为JWGL的登录账号。
EXECsp_addlogin‘student’,’111’,’JWGL’
查看登录账号
EXECsp_helplogins
删除登录账号为EXECsp_droplogins‘student’
3.创建、管理数据库用户。
用T-SQL语句创建、查看、删除数据库用户。
为数据库JWGL创建一个用户user1,该用户登录SQLServer服务器的账号为wang,登录密码为secret,相应的程序代码为:
EXECsp_addlogin‘wang’,‘secret’,‘JWGL’
GO
EXECsp_grantdbaccess‘wang’,‘user1’
查看数据库用户为EXECsp_helpuser
删除数据库中的“wang”用户为EXECsp_revokedbaccess‘wang’
4.管理用户权限。
使用T-SQL语句完成第3章习题12中
(1)~(3)的用户管理和用户权限管理。
企业管理器:
(1)允许用户李明对Orders表进行插入、删除操作。
GRANTINSERT,DELETEONOrdersTO‘李明’
(2)将查询Goods表和修改单价的权限授予用户李四。
GRANTUPDATE(Price),SELECTONGoodsTO‘李四’
(3)将查询Goods表的权限授予用户文云龙,并允许他将此权限授予他人。
GRANTSELECTONGoodsTO‘文云龙’
WITHGRANTOPTION
5.创建、管理数据库角色。
如一个小组共3个成员,他们对JWGL具有相同的操作权限,具体权限为对Student,Course表只能进行数据查询;
对SC表可以进行查询、修改、删除和插入。
可以创建一个角色(如role),给该角色赐予相应的权限,然后给每个成员建立一个登录账号(如分别为lin,wang,zheng),并将每个成员的登录账号添加为数据库角色role的成员。
其代码如下:
EXECsp_addrole‘role’
GRANTSELECTONStudent,courseTOrole
GRANTSELECT,UPDATE,DELETE,INSERTONSCTOrole
EXECsp_addrolemember‘role’,‘lin’
EXECsp_addrolemember‘role’,‘wang’
EXECsp_addrolemember‘role’,‘zheng’
删除角色role,然后再使用企业管理器完成以上任务。
删除角色role时,必须保证它不包含任务数据库用户,即要先删除其下的所有成员。
EXECsp_droprolemember‘role’,‘lin’
EXECsp_droprolemember‘role’,‘wang’
EXECsp_droprolemember‘role’,‘zheng’
EXECsp_droprole‘role’
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL server数据库管理系统实验报告 server 数据库 管理 系统 实验 报告