数据库原理与应用实验指导书文档格式.docx

上传人:b****5 文档编号:20547422 上传时间:2023-01-23 格式:DOCX 页数:28 大小:758.86KB
下载 相关 举报
数据库原理与应用实验指导书文档格式.docx_第1页
第1页 / 共28页
数据库原理与应用实验指导书文档格式.docx_第2页
第2页 / 共28页
数据库原理与应用实验指导书文档格式.docx_第3页
第3页 / 共28页
数据库原理与应用实验指导书文档格式.docx_第4页
第4页 / 共28页
数据库原理与应用实验指导书文档格式.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

数据库原理与应用实验指导书文档格式.docx

《数据库原理与应用实验指导书文档格式.docx》由会员分享,可在线阅读,更多相关《数据库原理与应用实验指导书文档格式.docx(28页珍藏版)》请在冰豆网上搜索。

数据库原理与应用实验指导书文档格式.docx

SQLServerConfigurationManager,进入图1所示窗口。

图1启动SQL服务

选择窗口左部的SQLSERVER2008服务,在窗口右部中选择SQLServer(MSSQLSERVER),点击鼠标右键,选择启动即可。

2.运行SSMS

SQLServerManagementStudio,进行服务器的连接。

3.连接SQLSERVER2008服务器

设置连接服务器窗口(图2)中的参数。

数据库类型选择数据库引擎,服务器名称可以输入localhost、.、或者计算机名(可以通过我的电脑/属性/计算机名获取),身份验证选择Windows身份验证,点击【连接】按钮进行连接。

4.进入SSMS

与服务器连接成功,进入图3所示界面。

图3进入SSMS窗口

5.打开查询编辑器

点击SSMS窗口工具栏上的【新建查询】,打开查询编辑器,如图4所示,接着就可以在查询编辑器中操作交互式的SQL语言。

图4打开查询编辑器

四、实验报告

实验报告应包括以下内容:

实验目的、实验内容和步骤、运行结果。

实验一:

数据库和表的操作

一、实验目的

1.熟悉数据表的特点;

2.熟悉在ManagementStuio中创建、编辑及删除数据表;

3.熟悉使用T-SQL创建、编辑及删除数据表;

二、实验环境

已安装SQLServer2008企业版或者更高版本;

具有局域网环境,有固定IP;

三、实验学时

2学时

四、实验要求

1.了解表的结构特点;

2.了解SQLServer的基本数据类型;

3.熟悉使用T-SQL语法;

4.完成实验报告。

五、实验内容

请分别使用ManagementStuio及T-SQL完成以下内容:

1、请在指定数据库内完成以下内容:

1)依据数据表的结构创建相对应的数据表,表结构如下所示;

学生信息表(student)

字段名称

字段类型及长度

说明

备注

Sno

Char(9)

学生学号

主关键字

Sname

Char(6)

学生姓名

非空

Ssex

Char

(2)

学生性别

可为空

Sage

Int

学生年龄

Sdept

VarChar(8)

学生所在院系

课程信息表(course)

Cno

Char(4)

课程编号

Cname

VarChar(20)

课程名称

Cpno

先行课

Ccredit

学分

选课信息表(sc)

Grade

成绩

2)在表student中增加新字段“班级名称(sclass)“;

添加字段“sclass”

3)在表student中删除字段“班级名称(sclass)”;

删除字段“sclass”

4)修改表student中字段名为“sname”的字段长度由原来的6改为8;

将“姓名Sname”的字段长度由6改为8

5)修改表student中字段“sdept”名称为“dept”,长度为20;

修改表student中的“所在系Sdept”名称为“所在系dept”,长度为20

6)修改表student中sage字段名称为sbirth,类型为smalldatetime;

修改表student中的“年龄Sage”名称为“生日sbirth”,类型为smalldatetime

7)修改表student新名称为stu_info;

修改表名student为stu_info

8)删除数据表student;

删除表stu_info

实验二

(1):

数据库单表查询

1.掌握SELECT语句的基本语法和查询条件表示方法;

2.掌握查询条件表达式和使用方法;

3.掌握GROUPBY子句的作用和使用方法;

4.掌握HAVING子句的作用和使用方法;

5.掌握ORDERBY子句的作用和使用方法。

1.了解数据库查询;

2.了解数据库查询的实现方式;

3.完成实验报告;

五、实验内容及步骤

以数据库原理实验4数据库中数据为基础,请使用T-SQL语句实现以下操作:

1.列出姓“沈”且全名为3个汉字的学生;

列出姓“沈”且全名为3个汉字的学生

2.显示在1985年以后出生的学生的基本信息;

显示在1998年以后出生的学生的基本信息

3.按照课程号、成绩降序显示课程成绩在70-80之间的学生的学号、课程号及成绩;

按课程号降序查询课程成绩在70-80之间的学生学号,课程号,成绩信息

4.显示学生信息表中的学生总人数及平均年龄,在结果集中列标题分别指定为“学生总人数,平均年龄”;

显示学生信息表中的学生总人数及平均年龄。

5.显示选修的课程数大于3的各个学生的选修课程数;

显示选修的课程数大于等于3的各个学生的选修课程数

6.显示平均成绩大于“200515001”学生平均成绩的各个学生的学号、平均成绩;

显示平均成绩大于‘201215123’学生的平均成绩的各个学生的学号,平均成绩

7.显示选修课程数最多的学号;

显示选修课程数最多的学号

8.列出有二门以上课程(含两门)不及格的学生的学号及该学生的平均成绩;

显示有二门以上课程(含两门)不及格的学生的学号以及该生的平均成绩

实验二

(2):

数据库综合查询及视图

2.掌握查询条件种类和表示方法;

3.掌握连接查询的表示及使用;

4.掌握嵌套查询的表示及使用;

5.掌握视图的使用;

6.了解集合查询的表示及使用。

1.了解SELECT语句的基本语法格式和执行方法;

2.了解连接查询的表示及使用;

3.了解嵌套查询的表示及使用;

4.了解集合查询的表示及使用;

5.完成实验报告;

(1)以数据库原理实验5数据为基础,请使用T-SQL语句实现进行以下操作:

1.查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况;

查询以’DB_’开头且倒数第三个字符为‘s’的课程的详细情况

2.查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名;

查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名

3.查询缺少成绩的所有学生的详细情况;

查询缺少成绩的所有学生的详细情况(缺少成绩按0分计)

4.查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号;

查询出选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号

5.使用嵌套查询列出选修了“数据结构”课程的学生学号和姓名;

使用嵌套查询列出了选修了“数据结构”课程的学生学号和姓名

6.使用ANY、ALL查询,列出其他院系中比CS系所有学生年龄小的学生;

查询出其他院系中比CS系所有学生年龄小的学生

7.分别使用连接查询和嵌套查询,列出与‘张力’在一个院系的学生的信息;

使用自身连接查询出与“张力”在一个院系的学生的信息

使用嵌套查询出与“张力”在一个院系的学生的信息

8.查询这样的学生,该生至少选修了学生200515001所选修的全部课程

查询学生至少选修了学生201215121所选的全部课程

9.查询没有选修任何课程的学生的姓名;

查询没有选修任何课程的学生的姓名

实验三:

更新操作

1.熟悉数据表结构及使用特点;

2.熟悉使用ManagementStuio界面方式管理数据表数据;

3.熟悉使用T-SQL语句管理数据表数据。

1学时

1.了解SQLServer数据表数据的管理方法;

2.了解SQLServer数据类型;

3.完成实验报告(部分题只需给出关键语句)。

以课本指定的数据库为例,并依据数据表的结构创建相对应的数据表(student、course、sc),请分别使用ManagementStuio界面方式及T-SQL语句实现进行以下操作:

1.向各个数据表中插入如下记录:

200515001

赵菁菁

23

CS

200515002

李勇

20

200515003

张力

19

200515004

张衡

18

IS

200515005

张向东

200515006

张向丽

200515007

王芳

200515008

王民生

25

MA

200515009

王小民

200515010

李晨

22

200515011

张毅

WM

200515012

杨磊

EN

200515013

200515014

张丰毅

200515015

李蕾

21

200515016

刘社

CM

200515017

刘星耀

200515018

李贵

200515019

林自许

200515020

马翔

200515021

刘峰

200515022

牛站强

200515023

李婷婷

200515024

严丽

200515025

朱小鸥

30

1

数据库

5

4

2

数学

3

信息系统

操作系统

6

数据结构

7

数据处理

PASCAL语言

8

大学英语

9

计算机网络

10

人工智能

75

85

53

86

74

58

84

46

89

65

72

76

96

62

54

70

Null

给student表、course表、sc表插入记录截图

2.修改CS系姓名为“李勇”的学生姓名为“李咏”;

修改CS系姓名为“李勇”的学生姓名为“李咏”

3.修改课程“数据处理”的学分为3学分;

修改课程“数据处理”的学分为3学分

4.将选修课程“1”的同学成绩加5分;

将选修课程“1”的同学成绩加5分

5.将选修课程“大学英语”的同学成绩加5分;

将选修课程“大学英语”的同学成绩加5分

6.将学号为“200515010”的学生信息重新设置为“王丹丹、女、20、MA”;

将学号为“200515010”的学生信息重新设置:

名字为王丹丹,女、20、MA

6.修改学号“200515001”的学生信息为姓名王婧婧,所在系为IS,成绩加6分

修改学号“200515001”的学生信息为姓名王婧婧,所在系为IS,成绩加6分

7.删除数据表student中无专业的学生记录;

删除表student中无专业的学生记录

8.删除数据表student中计算机系年龄大于25的男同学的记录;

删除表student中CS系中年龄大于25岁的男同学的记录

9.删除数据表course中学分低于3学分的课程信息;

删除表student中学分低于3学分的课程信息

实验四:

触发器及存储过程

一、实验目的

1.掌握触发器的创建、修改和删除操作。

2.掌握触发器的触发执行。

3.掌握触发器与约束的不同。

4.掌握用户存储过程的创建操作。

5.掌握用户存储过程的执行操作。

6.掌握用户存储过程的删除操作。

1.创建触发器。

2.触发器执行触发器。

3.验证约束与触发器的不同作用期。

4.删除新创建的触发器。

5.创建带输入参数的存储过程的存储过程。

6.执行所创建的存储过程。

7.删除所有新创建的存储过程。

8.完成实验报告;

■触发器实验

(一)示例

1.创建触发器

①启动SQLServer查询编辑器,选择要操作数据库,如“sc(学生选课)”数据库。

②在查询命令窗口中输入以下CREATETRIGGER语句,创建触发器。

为sc(学生选课)表创建一个基于UPDATE操作和DELETE操作的复合型触发器,当修改了该表中的成绩信息或者删除了成绩记录时,触发器被激活生效,显示相关的操作信息。

--创建触发器

CREATETRIGGERtri_UPDATE_DELETE_sc

ONsc

FORUPDATE,DELETE

AS

--检测成绩列表是否被更新

IFUPDATE(成绩)

BEGIN

--显示学号、课程号、原成绩和新成绩信息

SELECTINSERTED.课程号,DELETED.成绩AS原成绩,

INSERTED.成绩AS新成绩

FROMDELETED,INSERTED

WHEREDELETED.学号=INSERTED.学号

END

--检测是更新还是删除操作

ELSEIFCOLUMNS_UPDATED()=0

--显示被删除的学号、课程号和成绩信号

SELECT被删除的学号=DELETED.学号,DELETED.课程号,

DELETED.成绩AS原成绩

FROMDELETED

ELSE

--返回提示信息

PRINT‘更新了非成绩列!

③点击快捷工具栏上的快捷按钮,完成触发器的创建。

2.触发触发器

①在查询命令窗口中输入以下UPDATEsc语句,修改成绩列,激发触发器。

UPDATEsc

SET成绩=成绩+5

WHERE课程号=’101’

②在查询命令窗口中输入以下UPDATEsc语句修改非成绩列,激发触发器。

SET课程号=’113’

WHERE课程号=’103’

③在查询命令窗口中输入以下DELETEsc语句,删除成绩记录,激发触发器。

DELETEsc

WHERE课程号=’102’

3.比较约束与触发器的不同作用期

①在查询命令窗口中输入并执行以下ALTERTABLE语句,为sc表添加一个约束,使得成绩只能大于等于0且小于等于100。

ALTERTABLEsc

ADDCONSTRAINTCK_成绩

CHECK(成绩>

=0AND成绩<

=100)

②在查询命令窗口中输入并执行以下UPDATEsc语句,查看执行结果。

UPDATEsc

SET成绩=120

WHERE课程号=’108’

③在查询命令窗口中输入执行以下UPDATEsc语句,查看执行结果。

SET成绩=90

从这部分实验中,我们可以看到,约束优先于触发器起作用,它在更新前就生效,以对要更新的值进行规则检查。

当检查到与现有规则冲突时,系统给出错误消息,并取消更新操作。

如果检查没有问题,更新被执行,当执行完毕后,再激活触发器。

4.删除新创建的触发器

①在查询命令窗口中输入DROPTRIGGER语句,删除新创建的触发器。

DROPTRIGGERtri_UPDATE_DELETE_sc

②点击快捷工具栏上的快捷按钮,删除触发器。

(二)练习

1.在Student表中编写insert的触发器,假如每个班的学生不能超过30个,如果低于此数,添加可以完成;

如果超过此数,则插入将不能实现。

2.在SC表上编写update触发器,当修改SC表中的grade字段时将其修改前后的信息保存在SC_log表中。

■存储过程实验

对应于student数据库

(1)创建一个无参存储过程StuScoreInfo,查询以下信息:

学号,姓名,性别,课程名称,考试成绩.

(2)创建一个带参数的存储过程stu_info,该存储过程根据传入的学生编号在student表中查询此学生的信息.

(3)创建一个带参数的存储过程StuScoreInfo2,该存储过程根据传入的学生编号和课程名称查询以下信息:

姓名,课程名称,考试成绩.

(4)编写带参数的存储过程,根据传入的课程名称统计该课程的平均成绩.

(5)编写存储过程,根据传入的课程名统计这门课的成绩分布情况,即按照各分数段统计人数.

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

当前位置:首页 > PPT模板 > 节日庆典

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

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