sqlserver实验指导书.docx
- 文档编号:30559712
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:41
- 大小:242.60KB
sqlserver实验指导书.docx
《sqlserver实验指导书.docx》由会员分享,可在线阅读,更多相关《sqlserver实验指导书.docx(41页珍藏版)》请在冰豆网上搜索。
sqlserver实验指导书
《SqlSever2005数据库原理及应用》
实验指导书
目录
实验1通过E-R图设计关系数据模型3
【实验目的】3
【实验环境】3
【实验内容】3
实验2确定表中的关键字4
【实验目的】4
【实验环境】4
【实验重点及难点】4
【实验内容】4
实验3规范化数据5
【实验目的】5
【实验环境】5
【实验重点及难点】5
【实验内容】5
实验4服务器的启动、暂停和停止7
【实验目的】7
【实验环境】7
【实验重点及难点】7
【实验内容】7
实验5创建并管理数据库11
【实验目的】11
【实验环境】11
【实验重点及难点】11
【实验内容】11
实验6创建表并输入数据12
【实验目的】12
【实验环境】12
【实验重点及难点】12
【实验内容】13
实验7使用Select语句查询数据
(一)——简单查询15
【实验目的】15
【实验环境】15
【实验重点及难点】15
【实验内容】15
实验8使用Select语句查询数据
(二)——汇总查询17
【实验目的】17
【实验环境】17
【实验重点及难点】17
【实验内容】17
实验9使用Select语句查询数据(三)——连接查询和子查询19
【实验目的】19
【实验环境】19
【实验重点及难点】19
【实验内容】19
实验10创建视图并通过视图操作表数据20
【实验目的】20
【实验环境】20
【实验重点及难点】20
【实验内容】20
实验11使用规则实现数据完整性22
【实验目的】22
【实验环境】22
【实验重点及难点】22
【实验内容】22
实验12使用T-SQL 编写程序24
【实验目的】24
【实验环境】24
【实验重点及难点】24
【实验内容】24
实验13使用触发器实现数据完整性26
【实验目的】26
【实验环境】26
【实验重点及难点】26
实验14为用户设置权限29
【实验目的】29
【实验环境】29
【实验重点及难点】29
实验15导入导出数据30
【实验目的】30
【实验环境】30
【实验重点及难点】30
实验1通过E-R图设计关系数据模型
【实验目的】
1)熟悉E-R模型的基本概念和图形的表示方法。
2)掌握将现实世界的事物转化成E-R图的基本技巧。
3)熟悉关系数据模型的基本概念。
4)掌握将E-R图转化成关系表的基本技巧。
【实验环境】
Sqlserver2005
【实验重点及难点】
1)根据需求确定实体、属性和联系。
2)将实体、属性和联系转化为E-R图。
3)将E-R图转化为表。
【实验内容】
(1)设计能够表示出班级与学生关系的数据模型
1)确定班级实体和学生实体的属性和码。
2)确定班级和学生之间的联系,给联系命名并指出联系的类型。
3)确定联系本身的属性。
4)画出班级和学生关系的E-R图。
5)将E-R图转化为表,写出表的关系模式并标明各自的主键或外键。
(2)设计能够表示出顾客与商品关系的数据模型
1)确定顾客实体和商品实体的属性和码。
2)确定顾客和商品之间的联系,给联系命名并指出联系的类型。
3)确定联系本身的属性。
4)画出顾客与商品关系的E-R图。
5)将E-R图转化为表,写出表达关系模式并标明各自的主键或外键。
(3)设计能够表示出学校与校长关系的数据模型
1)确定学校实体和校长实体的属性和码。
2)确定学校和校长之间的联系,给联系命名并指出联系的类型。
3)确定联系本身的属性。
4)画出学校与校长关系的E-R图。
5)将E-R图转化为表,写出表达关系模式并标明各自的主键或外键。
(4)设计能够表示出房地产交易中客户、业务员和合同三者之间的关系的数据模型
1)确定客户实体、业务员实体和合同的属性和码。
2)确定客户实体、业务员实体和合同之间的联系,给联系命名并指出联系的类型。
3)确定联系本身的属性
4)画出客户实体、业务员实体和合同关系的E-R图
5)将E-R图转化为表,写出表达关系模式并标明各自的主键或外键
实验2确定表中的关键字
【实验目的】
1)正确理解候选键、主键、组合键、外键的基本概念。
2)能够正确判断给定表中各种类型的键。
3)在设计数据库时能正确指定各种类型的键,知道如何实施数据的完整性。
【实验环境】
Sqlserver2005
【实验重点及难点】
1)复习候选键、主键、外键、组合键以及数据完整性的基本概念。
2)在给出的部门表和员工表中能正确标识出各种类型的键。
【实验内容】
1)写出候选键、主键、组合键、外键、实体完整性、域完整性、参照完整性的定义。
2)已知部门表和员工表如下所示:
部门表
部门代码
部门名
负责人
地点
0001
生产部
李华江
重庆荣昌县
0002
销售部
张丽
重庆渝中区
0003
市场部
王欣
重庆江北区
员工表
员工代码
姓名
家庭住址
联系电话
邮政编码
部门代码
200001
王华
重庆
67690986
401147
0001
200002
李想
成都
54387659
508763
0003
200003
张丽
上海
67893542
208761
0002
200004
李江华
重庆
76549873
400054
0001
3)确定部门表和员工表中的候选键,并陈述理由。
4)在候选键中确定部门表和员工表的主键。
5)确定部门表和员工表中的共有属性。
6)指出哪个表中的哪个属性时外键。
7)确定哪个表是主表,哪个表是从表。
8)回答问题:
部门表和员工表是如何通过关键字实施数据完整性的?
实验3规范化数据
【实验目的】
1)了解函数(数据)依赖的基本概念。
2)能正确判断某一关系属于第几范式。
3)掌握规范化数据的方法。
【实验环境】
Sqlserver2005
【实验重点及难点】
1)复习函数(数据)依赖、数据规范化、范式的基本概念以及各级范式的判别标准。
2)判断给定的表满足哪级别范式的条件。
3)将给定的表转换成特定等级的范式条件的表。
【实验内容】
1)写出函数(数据)依赖、数据规范化、范式的定义以及各级范式的判别标准。
2)项目表1,判断是否满足第一范式的条件并说明理由。
项目表1
项目代码
职员代码
部门
累计工作时间
P27
P51
P20
E101
系统集成部
90
101
60
P27
P22
E305
销售部
109
98
P51
P27
E508
行政办公室
NULL
72
3)项目表2,判断是否满足第二范式的条件并说明理由。
项目表2
项目代码
职员代码
部门
累计工作时间
P27
E101
系统集成部
90
P51
E101
系统集成部
101
P20
E101
系统集成部
60
P27
E305
销售部
109
P22
E305
销售部
98
P51
E508
行政办公室
NULL
P27
E508
行政办公室
72
4)职员表,判断其是否满足第三范式的条件并说明理由。
职员表
职员代码
部门
部门负责人代码
E101
系统集成部
E901
E305
财务部
E309
E402
销售部
E909
E508
行政办公室
E908
E607
财务部
E909
E608
财务部
E909
5)项目表3,判断其是否满足BCNF的条件并说明理由。
项目表3
项目代码
职员代码
职员姓名
累计工作时间
P2
E1
李华玉
48
P5
E2
陈家伟
100
P6
E3
张勤
15
P3
E4
谢成全
250
P5
E4
谢成全
75
P5
E1
李华玉
40
6)将项目表1转换成满足第一范式条件的表。
7)将项目表2转换成满足第二范式条件的表。
8)将职员表转换成满足第三范式条件的表。
9)将项目表3转换成满足BCNF条件的表。
10)回答问题:
规范化数据带来的不利影响是什么?
实验4服务器的启动、暂停和停止
【实验目的】
1)熟悉SQLServer2005配置管理器。
2)掌握服务器的启动方法。
3)掌握服务器的暂停方法。
4)掌握服务器的停止方法。
【实验环境】
Sqlserver2005
【实验重点及难点】
利用SQLServer配置管理器实现服务器的启动、暂停和停止。
【实验内容】
实训1服务器管理
启动,暂停和停止服务的方法很多,这里主要介绍SQLServer配置管理器完成这些操作,其操作步骤如下:
1)单击“开始”---“MicrosoftSQLServer2005”-----“配置工具”,选择“SQLServerConfigurationManager”,打开SQLSetver配置管理器,如图2-52所示。
单击“SQLServer2005服务”选项,在右边的对话框里可以看到本地所有的SQLServer服务,包括不同实例的服务,如图2-53所示。
2)如果要启动、停止、暂停SQLServer服务的话,鼠标指向服务名称,单击右键,在弹出的快捷键菜单里选择“启动”、“停止”、“暂停”即可。
实训2服务器注册
服务器注册主要为注册本地或者远程SQLServer服务器。
打开SQLServer2005下ManagementStudio,进行服务器注册。
注册步骤如下:
图2-52SQLServer配置服务管理器
(一)
图2-53SQLServer配置管理器
(二)
1)在视图菜单中单击“已注册的服务器”菜单选项显示出已注册的服务器,如图2-54所示。
图2-54已注册服务器
2)在右上角已注册的服务器中,选择注册类型进行相应服务类型注册。
3)在选定的服务类型的树型架构的根部单击鼠标右键,选择“新建”菜单下面的“服务器组”进行组的建立,如图2-55所示。
图2-55选择服务器组菜单
4)输入服务器组名称,单击保存即可,如图2-56所示。
图2-56新建服务器组
5)在新建的服务器组下面注册服务器,在新建服务器节点处单击鼠标右键,弹出菜单,选择新建选项下面的服务器注册选项,进行服务器注册,如图2-57所示。
填写服务器名称,选择相应的认证方式,输入用户名及密码,完成注册。
图2-57新建服务器注册
实验5创建并管理数据库
【实验目的】
1)熟悉SQLServerManagementStudio窗口。
2)掌握创建数据库的方法。
3)掌握管理数据库的方法。
【实验环境】
Sqlserver2005
【实验重点及难点】
1)启动SQLServerManagementStudio窗口。
2)创建XSCJ数据库。
3)修改XSCJ数据库。
4)分离XSCJ数据库。
5)附加XSCJ数据库。
【实验内容】
1)打开“SQLServerManagementStudio”窗口,在“对象资源管理器”中展开服务器,鼠标右键单击“数据库”节点,单击“新建数据库”命令,会出现“新建数据库”对话框。
2)在对话框的“数据库名称”框内输入数据库名“XSCJ”后,单击“确定”按钮即可创建默认大小的数据库。
3)鼠标右键单击“XSCJ”数据库,在弹出的快捷菜单中选择“属性”命令,会出现“数据库属性”对话框;在对话框中单击“文件”选项卡,可以增加或删除数据库文件,单击“确定”按钮即可完成数据库的修改。
4)鼠标右键单击“XSCJ”数据库,在弹出的快捷菜单中选择“任务”→“分离”命令,会出现“分离数据库”对话框,单击“确定”按钮即可完成数据库的分离。
5)鼠标右键单击“数据库”,在弹出的快捷菜单里选择“附加”命令,会出现“附加数据库”对话框,在该对话框中单击“添加”按钮,会出现“定位数据库文件”对话框,在改对话框中,选择要附加的数据库文件(.mdf),单击“确定”按钮后,返回到“附加数据库”对话框,再单击“确定”按钮即可完成数据库的附加。
实验6创建表并输入数据
【实验目的】
1)熟悉创建数据表的操作
2)掌握创建数据表的操作
3)掌握数据输入和修改的操作
【实验环境】
Sqlserver2005
【实验重点及难点】
1)在xscj数据库中分别创建学生情况表xsqk,课程表kc,学生与课程表xs_kc,并表结构分别如表4-5,表4-6表4-7所示
列名
数据类型
长度
属性
约束
学好
Char
6
是否允许为空置
默认值
标识符
主键
否
无
姓名
Char
8
否
无
唯一
性别
Bit
1
否
1
0或1
出生日期
Smalldatetime
4
否
无
表4-5
列名
数据类型
长度
属性
约束
是否允许为空置
默认值
标识符
所在系
Char
10
否
无
专业名
Char
10
否
无
联系电话
Char
11
是
无
6为数字
总学分
Tinyint
1
是
无
0~200
备注
Text
30
是
无
表4-6
列名
数据类型
长度
属性
约束
是否允许为空值
默认值
标识列
序号
Int
4
初始值增量为1
课程号
Char
3
否
无
主键
课程名
Char
20
否
无
授课教师
Char
8
无
开课学期
Tinyint
1
否
1
只能为1~6
学时
Tinyint
1
无
学分
Tinyint
1
无
表4-7
列名
数据类型
长度
属性
约束
是否允许为空
默认值
学号
Char
6
否
无
外键,参照XSQK表
组合为主键
课程号
Char
3
否
无
外键,参照cK表
成绩
Tinyint
1
无
0~100
学分
Tinyint
1
无
2)分别向XSQK,KCXS_KC表中输入数据,其内容由用户自定义
【实验内容】
1)打开“SQLserverManagementStudio”窗口,单击在’标准”工具栏汇总“新建查询”按钮,会出现如图所示的界面
2)在“SQL编辑器”工具栏中,单击“可用数据库”右边的下拉按钮,将当前数据库切换成”XSCJ”库
3)在查询窗口中,输入如下的命令
CREATETABLEXSQK
(学号CHAR(6)NOTNULL,
姓名CHAR(8)NOTNULL,
性别BITNOTNULLDEFAULT1,
生日SMALLEATETIMENOTNULL,
专业CHAR(10)NOTNULL,
所在系CHAR(10)NOTNULL,
联系电话CHAR(11),
总学分TINYINT,
备注TEXT,
CONSTRAINTPK_XSQK_XHPRIMARTKEY(学号),
CONSTRAINTUQ_XSQK_DHUNIQUE(姓名),
CONSTRAINTCK_XSQK_XBCHECK(姓名=1OR姓名=0)
CONSTRAINTCK_XSQK_DHCHECK(联系电话LIKE’【1-9】【1-9】【1-9】【1-9】【1-9】【1-9】‘),
CONSTRAINTCK_XSQK_ZXFCHECK(总学分<=0AND总学分<=200》))
GO
CREATETABLEKC
(序号INTINDENTITY,
课程号CHAR(3)NOTNULLPRIMARYKEY(课程号),
课程名CHAR(20)NOTNULL,
授课教师CHAR(8),
开课上学期TINYINTNOTNULLDEFAULT1,
学时TINYINTNOTNULL,
学分TINYINT,
CONSTRAINTCK_KC_XQCHECK(开课学期>=1AND开课学期<=6))
GO
CREATETABLEXS_KE
(学号CHAR(6)NOTNULLREFERENCESXSQK(学号),
课程号CHAR(3)NOTNULL,
成绩TINYINTCHECK(成绩>=0AND成绩<=100),
学分TINYINT,
PRIMARYKEY(学号,课程号),
FOREIGNKEY(课程号)REFERENCEDKE(课程号))
4)在“SQL编辑器’工具栏中,单击”执行“阿牛,XSQKKEXS_KE表创建成功后,在结果窗口会出现”命令以成功’的信息提示,如图
5)在“对象资源管理器“中展开数据库”XSCJ”鼠标右键单击”表“节点,在弹出的快捷菜单中单击”刷新“命令,课看到个那个创建号的上面3张表
实验7使用Select语句查询数据
(一)——简单查询
【实验目的】
掌握SELECT语句的使用和简单查询方法。
【实验环境】
Sqlserver2005
【实验重点及难点】
1)启动SQLServer2005查询环境。
2)涉及单表的简单查询。
【实验内容】
1)打开“SQLServerManagementStudio”窗口。
2)单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口
3)在窗口中输入以下SQL查询命令并执行:
a.在KC表中,查询第2学期开课的课程、授课教师
select课程名,授课教师,开课学期
fromkc
where开课学期=2
b.在XSQK表中,查询女同学的姓名和电话号码
select姓名,性别,联系电话
fromxsqk
where性别=0
c.在XS_KC表中,查询成绩在80分以上的学号、课程号和成绩
select学号,课程号,成绩
fromxs_kc
where成绩>=80
d.在XS_KC表中,查询在80以上和不及格学生的信息
select学号,课程号,成绩
fromxs_kc
where成绩>=80or成绩<60
e.在XSQK表中,查询不在1980年7、8、9月出生的学生信息
select学号,姓名,出生日期
fromxsqk
where出生日期notbetween‘1980-07-07’and‘1980-09-30’
f.在XSQK表中,擦汗寻陈姓且单名的信息
select*
fromxsqk
where姓名like‘陈_’
g.在XSQK表中,查询学号中含有1的记录信息
select*
fromxsqk
where学号like‘%1%’
h.在XSQK表中,查询电话号码第7位为4和6的记录信息
select*
fromxsqk
where联系电话like‘______[46]_’
i.在KC表中,查询第一、三、五学期开设的课程信息
select*
fromkc
where开课学期in(1,3,5)
j.查询XSQK表,输出学号、姓名、出生日期、并使查询结构按出生日期升序排列
select学号,姓名,出生日期
fromxsqk
orderby出生日期
实验8使用Select语句查询数据
(二)——汇总查询
【实验目的】
掌握数据汇总查询及其相关子句的使用。
【实验环境】
Sqlserver2005
【实验重点及难点】
1)启动SQLServer2005查询环境。
2)涉及单表的汇总查询。
【实验内容】
1)打开“SQLServerManagementStudio”窗口。
2)单击“标准”工具栏的“新建查询”按钮,打开“查询编辑器”窗口
3)在窗口中输入以下SQL查询命令并执行:
a.在KC表中,统计每学期的总分数
select开课学期,sum(学分)as各学期的学分合计
fromkc
groupby开课学期
b.在XS_KC表中统计每个学生的选修课程的门数
select学号,count(*)as每个学生选修的课程门数
fromxs_kc
groupby学号
c.统计KC表中的总学分,并显示明细信息
select课程名称,开课学期,学分
fromkc
computesum(学分)
d.按开课学期统计KC表中各期的学分,并显示明细信息
select课程名称,开课学期,学分
fromkc
orderby2
computesum(学分)by开课学期
e.将XS_KC表中的数据记录按学号分类汇总,输出学号和平均分
select学号,avg(成绩)as学生的平均分
fromxs_kc
groupby学号
f.查询平均分大于70且小于80的学生学号和平均分
select学号,avg(成绩)as学生的平均分
fromxs_kc
groupby学号
havingavg(成绩)between70and80
g.查询XS_KC表,输出学号、课程号、成绩,并使查询结果首先按照课程号的升序排列,当课程号相同时再按照成绩降序排列,并将查询结果保存到新表TEMP_KC中
select学号,课程号,成绩
intotemp_kc
fromxs_kc
orderby课程号,成绩desc
h.查询选修了“101”课程的学生的最高分和最低分
selectmax(成绩)as101课程的最高分,min(成绩)as101课程的最低分
fromxs_kc
where课程号=’101’
i.统计每个学期所开设的课程门数
select开课学期,count(*)as每学期开设的课程门数
fromkc
groupby开课学期
j.查询各专业的学生人数
select专业名,count(专业名)as各专业人数
fromxsqk
groupby专业名
实验9使用Select语句查询数据(三)——连接查询和子查询
【实验目的】
1)掌握内连接的查询方法。
2)了解子查询的查询方法。
【实验环境
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- sqlserver 实验 指导书