SQL数据库实验报告1.docx
- 文档编号:5127764
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:39
- 大小:5.03MB
SQL数据库实验报告1.docx
《SQL数据库实验报告1.docx》由会员分享,可在线阅读,更多相关《SQL数据库实验报告1.docx(39页珍藏版)》请在冰豆网上搜索。
SQL数据库实验报告1
资源与环境科学学院实验报告
一、上机实习名称:
SQLServer的安装及数据库的建立
二、实验目的:
1、通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。
2、熟悉对DBMS的操作
3、熟悉如何使用SSMS和SQL建立数据库和表,并加深对于完整性的理解。
三、实验内容:
1、根据安装文件的说明安装数据库管理系统。
2、学会启动和停止数据库服务,思考可以用哪些方式来完成启动和停止。
3、掌握管理工具的使用
(1)SQLServerManagementStudio的使用
Ø连接服务器的方法
Ø查询分析器的使用
(2)配置管理器的使用
4、了解数据库系统的逻辑组件:
它们主要是数据库对象,包括基本表、视图、触发器、存储过程、约束等。
今后将学习如何操作这些数据库对象。
5.在SSMS中创建数据库和表
四、实验步骤
1.SQLServer2008的体系结构和特点介绍
SQLServer是一个关系数据库管理系统。
由微软公司2008年第三季度正式发布,SQLServer2008是一个重大的产品版本,在安全性、可用性、易管理性、可扩展性、商业智能等方面有了更多的改进和提高,对企业的数据存储和应用需求提供了更强大的支持和便利,使得它成为迄今为止最强大和最全面的SQLServer版本。
SQLServer2008版本体系:
根据不同的用户类型和使用需求,微软公司推出了5种不同的SQLServer版本,包括企业版(Enterprise)、标准版(Standard)、工作组版(Workgroup)、学习版(Express)和移动版(Compact)
MicrosoftSQLServer2008系统由4个主要部分组成。
这4个部分被称为4个服务,这些服务分别是数据库引擎、分析服务、报表服务和集成服务。
2.SQLServer管理工作室的启动
打开windows控制面板—管理—服务,启动SQLServer服务,如下图
(1)开始→程序→MicrosoftSQLServer2008→SQLServerManagementStudio(如图1.1所示)。
图1.1 SQLServer2008服务器连接GUI
(2)在服务器类型(T)右侧的下拉列表中选择服务器类型。
本例选择:
数据库引擎。
在身份验证(A)右侧的下拉列表中选择身份验证方式。
本例选择:
Windows身份验证;如果选择SQLServer身份验证,则还需要在其下方输入用户名和密码。
在服务器名称(S)右侧的下拉列表中选择:
<浏览更多…>,然后选择相应的数据引擎。
本例选择:
ZJGSU-HAPPYYOU,单击确定。
该GUI设置后的界面如图1.2所示。
图1.2 选择数据库服务器
(3)在如图1.3所示的界面中,单击:
连接(C),连接数据库服务器,并且启动SQLServer管理工作室(如图1.3所示)。
在启动后的SQLServer管理工作室中,就可以创建数据库、数据表和视图等数据库管理操作。
图1.3 SQLServer管理工作室
2.应用界面操作创建数据库
(4)创建数据库Student
在SQLServer2008数据库管理系统的左边栏“对象资源管理器”中右击数据库对象,在弹出的快捷菜单中单击“新建数据库”命令。
在弹出的“新建数据库”对话框右侧的数据库名称中输入数据库名称“Student”,然后单击确定。
5)在Student数据库中新建表”Student”
单击SQLServer2008数据库管理系统的左侧的“对象资源管理器”栏中的”刷新”
按钮,以显示出新建的数据库“Student”。
依次展开左侧栏对象资源管理器中的“数据库”->“Student”,并右击Student数据库中的表项目,在弹出的快捷菜单中单击“新建表”命令。
在右侧在工作区中输入“Student”表的信息,该表具有如下列:
列名
数据类型
完整性约束
Sno
CHAR(5)
主码
Sname
CHAR(10)
非空
Ssex
BIT
无
Sage
INT
无
Sdept
CHAR(15)
无
单击文件菜单中的保存命令保存该表,并取名为“Student”。
5)在Student数据库中新建表”Student”
单击SQLServer2008数据库管理系统的左侧的“对象资源管理器”栏中的”刷新”
按钮,以显示出新建的数据库“Student”。
依次展开左侧栏对象资源管理器中的“数据库”->“Student”,并右击Student数据库中的表项目,在弹出的快捷菜单中单击“新建表”命令。
在右侧在工作区中输入“Student”表的信息,该表具有如下列:
列名
数据类型
完整性约束
Sno
CHAR(5)
主码
Sname
CHAR(10)
非空
Ssex
BIT
无
Sage
INT
无
Sdept
CHAR(15)
无
单击文件菜单中的保存命令保存该表,并取名为“Student”。
五、实习结果
创建了HRM数据库,并输入了数据
1.对上节建立的表输入数据:
Departments表:
DepartmentID
DepartmentName
Note
1
财务部
财务部
2
研发部
研发部
3
人力资源部
人力资源部
Employee表
EmployeeID
Name
Birthday
Sex
Address
Zip
PhoneNumber
EmailAddress
DepartmentID
1001
李勇
78-3-12
0
河南
475001
3880378
ly@
1
1002
王敏
80-11-2
1
河南
475002
0378311
wm@
1
1003
刘晨
78-6-22
0
河南
475003
0378322
lc@
1
2001
张立
78-8-1
0
河南
475004
0378333
zl@
2
2002
刘毅
82-1-23
0
河南
475005
0378344
ly@
2
2003
张玫
81-3-15
1
河南
475006
0378355
zm@
2
3001
徐静
76-8-12
1
河南
475007
0378366
xj@
3
3002
赵军
79-2-19
0
河南
475008
0378377
zj@
3
Salary表
EmployeeID
Income
OutCome
1001
3600
1500
1002
3300
1000
1003
3700
1200
2001
4000
1600
2002
3800
1800
2003
3800
1500
3001
4200
2000
3002
4100
1800
2、练习下面简单的查询语句:
a)查询每个雇员的所有信息
b)查询每个雇员的地址和电话
c)查询EmployeeID为000001的雇员的地址和电话。
d)查询女雇员地址和电话,并用AS子句将结果中各列的标题分别指定为“地址”和“电话”。
e)计算每个雇员的实际收入。
f)找出所有姓王的雇员的部门号。
思考:
找出所有地址中含有“中山”的雇员的号码和部门号。
(WhereAddresslike‘%中山%’)
3、练习多表连接查询和嵌套查询:
a)查询每个雇员的情况及工资情况(工资=Income-Outcome)
b)查询财务部工资在2200元以上的雇员姓名及工资情况
c)查询研发部在1966年以前出生的雇员姓名及其工资详情
d)查询人力资源部雇员的最高和最低工资
e)将各雇员的情况按工资由低到高排列
f)求各部门的雇员数
g)找出所有在财务部和人力资源部工作的雇员的编号
h)统计人力资源部工资在2500以上雇员的人数
i)求财务部雇员的总人数
j)求财务部雇员的平均工资
k)查找比所有财务部的雇员工资都高的雇员的姓名
l)查找财务部年龄不低于研发部所有雇员年龄的雇员的姓名
m)查找在财务部工作的雇员的情况
四、实验步骤
SQL查询语句
1、单击工具栏中的“新建查询”按钮,并在弹出的“连接到服务器”对话框中单击“连接”按钮,新建一个SQL脚本。
2、在SQL脚本中写数据查询语句执行;
从表中查询数据:
在查询分析器的查询窗口中输入SQL语句,如图所示。
点击
按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如图所示。
六、实习结果
在HRM数据库中输入了数据
用SQL语言进行了查询操作
步骤:
命令方式操作方法:
实体完整性
1.将“student”表的“sno”字段设为主键:
当“student”表已存在则执行:
altertablestudentaddconstraintpk_snoprimarykey(sno)
当“student”表不存在则执行:
Createtablestudent(snoCHAR(5)primarykey,
snameCHAR(10)NOTNULL,
ssexCHAR
(2),
sageint,
sdeptCHAR(4))
注:
可用命令“droptablestudent”删除“student”表
2.添加一身份证号字段,设置其惟一性.(注:
操作前应删除表中的所有记录)
Altertablestudentaddidchar(18)unique(id)
3.将“sc”表的“sno”和“cno”设置为主键:
当“sc”表已存在则执行:
altertablescaddconstraintPK_SnoCnoprimarykey(sno,cno)
当“sc”表不存在则执行:
Createtablesc(snoCHAR(5),
cnoCHAR
(2),
gradeINTNULL,
constraintPK_SnoCnoprimarykey(sno,cno))
域完整性
4.将“ssex”字段设置为只能取“男”,“女”两值:
当“student”表已存在则执行:
altertablestudentaddconstraintCK_Sexcheck(ssexin('男','女'))
当“student”表不存在则执行:
Createtablestudent(snoCHAR(5)primarykey,
snameCHAR(10),
ssexCHAR
(2)check(ssexin('男','女')),
sageint,sdeptCHAR(4))
5.设置学号字段只能输入数字:
altertablestudentaddconstraintCK_Sno_Formatcheck(snolike'[0-9][0-9][0-9][0-9][0-9]')
6.设置身份证号的输入格式:
altertablestudentaddconstraintCK_ID_Formatcheck((idlike'[0-9][0-9][0-9][0-9][0-9][0-9][1-2][0-9][0-9][0-9][0-1][0-9][0-3][0-9][0-9][0-9][0-9]_')OR(idlike'[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-1][0-9][0-3][0-9][0-9][0-9][0-9]'))
7.设置18位身份证号的第7位到第10位为合法的年份(1900-2050)
altertablestudentaddconstraintCK_ID_Format2check(len(id)=18and((convert(smallint,substring(id,7,4))>=1900)and(convert(smallint,substring(id,7,4))<=2050)))
6.设置男生的年龄必须大于22,女生的年龄必须大于20.
AltertablestudentaddconstraintCK_agecheck(ssex='男'andsage>=22orssex='女'andsage>=20)
参照完整性
9.将“student”表和“sc”表中的“sno”字段设为参照:
当“sc”表已存在则执行:
altertablescaddconstraintFP_snoforeignkey(sno)referencesstudent(sno)
当“sc”表不存在则执行:
Createtablesc(snoCHAR(5)constraintFP_sno
foreignkeyreferencesstudent(sno),
cnoCHAR
(2),gradeINTNULL,
constraintPK_SnoCnoprimarykey(sno,cno))
实习结果:
(文字描述、绘图、截图)
建立salary表的Income字段限定在0-9999之间。
实习内容
(1)备份数据库
在SQLServer2008的对象资源管理器中→选择需要备份的数据库(例如:
StudentTestDB)→右击→选择备份(如下图)
在下图中,对备份属性进行设置:
1)在SQLServer备份窗口中选择备份的数据库:
Student→选择备份方式:
数据库管理-安全/数据库管理-安全/事务日志/文件和文件组之一→
在目的下面,单击“添加”
2)在弹出的对话框中选择“备份设备”→ 选择:
数据库备份→ 确定
3)最后单击“确定”。
(2)还原数据库
在SQLServer2008的对象资源管理器中→选择需要恢复的数据库(例如:
StudentTestDB)→右击→选择“数据库(D)…”(如下图)
在下图中,选择需要恢复的备份数据库文件:
在还原数据库对话窗口中,选择要还原的数据库,设置还原参数→单击“确定”进行还原
注意:
★还原之前,请先进行备份操作。
步骤:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL数据库实验报告 SQL 数据库 实验 报告