实验指导书.docx

上传人:b****5 文档编号:12095531 上传时间:2023-04-17 格式:DOCX 页数:33 大小:499.10KB
下载 相关 举报
实验指导书.docx_第1页
第1页 / 共33页
实验指导书.docx_第2页
第2页 / 共33页
实验指导书.docx_第3页
第3页 / 共33页
实验指导书.docx_第4页
第4页 / 共33页
实验指导书.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

实验指导书.docx

《实验指导书.docx》由会员分享,可在线阅读,更多相关《实验指导书.docx(33页珍藏版)》请在冰豆网上搜索。

实验指导书.docx

实验指导书

数据库原理

实验指导书

 

实验一认识和使用SQLServer2000管理工具不交报告2

实验二基本表的修改,数据的查询与更新,视图的管理6

实验三存储过程和触发器2

实验四VB连接SQL数据库的实例2

实验五系统集成4

 

上海工程技术大学电子电气工程学院计算机系

 

上海工程技术大学实验报告要求

实验课程:

年级:

实验成绩:

实验名称:

姓名:

实验编号:

学号:

实验日期:

指导教师:

组号:

实验时间:

一、实验目的

本次实验所涉及并要求掌握的知识点。

二、实验内容与实验步骤

实验内容、原理分析及具体实验步骤。

三、实验环境

实验所使用的器件、仪器设备名称及规格。

四、实验过程与分析

详细记录实验过程中发生的故障和问题,进行故障分析,说明故障排除的过程及方法。

根据具体实验,记录、整理相应数据表格、绘制曲线、波形图等。

五、实验结果总结

对实验结果进行分析,完成思考题目,总结实验的心得体会,并提出实验的改进意见。

六、附录

 

实验一认识和使用SQLServer2000管理工具

实验目的:

熟悉SQLServer2000的环境,掌握SQLServer服务管理器,SQLServer企业管理器,SQLServer查询分析器的使用。

学会如何创建数据库及其他数据库对象,灵活进行操作。

数据库基本表的创建,数据的增加

实验环境:

SQLServer2000

实验内容:

使用SQLServer2000企业管理器,按下列要求创建和修改用户数据库,要求如下:

1.数据库名为“Stu_C”。

2.数据库中包含一个基本数据文件,逻辑文件名为Stu_C_data,磁盘文件名为Stu_C_data.mdf,文件初始容量为10MB,最大容量为100MB,文件容量递增值为5%。

3.事务日志文件,逻辑文件名为Stu_C_log,磁盘文件名为Stu_C_log.ldf,文件初始容量为5MB,最大容量为30MB,文件容量递增值为2MB。

4.对数据库做如下修改:

添加一个辅助数据文件,逻辑文件名为Stu_C2_data,磁盘文件名为Stu_C2_data.ndf,文件初始容量为5MB,最大容量为50MB,文件容量递增值为5MB;将日志文件的最大容量增加为50MB,递增值改为3MB。

5.将Stu_C数据库更名为New_Stu_C。

6.删除New_Stu_C数据库。

7.通过表设计器来创建学生课程数据库Stu_C中学生表S,表结构如表所示:

表1-1学生表S的数据结构

字段名称

字段说明

数据类型

长度

是否为空

备注

SNO

学号

CHAR

10

NOTNULL

主键

SNAME

姓名

CHAR

10

NOTNULL

普通索引

SEX

性别

CHAR

2

NULL

男或女

AGE

年龄

INT

4

NULL

大于5岁

SDEPT

系别

CHAR

10

NULL

8.通过表设计器来创建学生课程数据库Stu_C中课程表C,表结构如表所示:

表1-2课程表C的数据结构

字段名称

字段说明

数据类型

长度

是否为空

备注

CNO

课程号

CHAR

6

NOTNULL

主键

CNAME

课程名

CHAR

20

NOTNULL

PCNO

先修课号

CHAR

6

NULL

CREDIT

学分

INT

4

NULL

默认4

9.通过表设计器来创建学生课程数据库Stu_C中选修表SC,表结构如表所示:

表1-3选修表SC的数据结构

字段名称

字段说明

数据类型

长度

是否为空

备注

CNO

课程号

CHAR

6

NOTNULL

主键为(SNO,CNO)

SNO

学号

CHAR

10

NOTNULL

GRADE

成绩

INT

4

NULL

在[0,100]

实验步骤

启动SQLServer服务器。

在企业管理器中创建和修改数据库Stu_C。

1.设置常规选项卡

(1)在企业管理器的控制面板目路中选中节点“数据库”,单击鼠标右键,在弹出菜单中选择“新建数据库”命令。

(2)设置新建数据库的常规选项卡,在“名称”文本框中键入数据库名称“Stu_C”。

2.设置数据文件选项卡

(1)基本数据文件名“Stu_C_data”已自动生成在“文件名”项,“位置”指明数据文件存储的位置,可进行修改。

(2)设置该文件初始大小为10MB。

(3)选中“文件属性”对话框中的复选框“文件自动增长”,并选中“按百分比”设置文件容量递增值为5%。

(4)在“最大文件大小”对话框中选择“将文件增长限制为(MB)”为100。

3.设置事务日志选项卡

(1)事务日志文件名“Stu_C_log”已自动生成。

设置该文件初始大小为5MB。

(2)选中“文件属性”对话框中“文件自动增长”,并选中“按兆字节”设置文件容量递增值为。

(3)在“最大文件大小”对话框中选择“将文件增长限制为(MB)”为30。

(4)单击“确定”按钮,完成数据库的创建。

4.修改数据库属性

(1)从树状目录窗口中找到刚刚创建的数据库Stu_C,单击右键,从弹出菜单中选择命令“属性”,打开数据库Stu_C的属性窗口。

(2)选择数据文件选项卡。

在该选项卡中添加数据文件Stu_C2_data,设置该文件初始大小为5MB,选中“文件自动增长”,并选中“按兆字节”设置文件内容递增值为5。

最后选择“将文件增长限制为(MB)”为50。

(3)选择事务日志选项卡,在该选项卡中将事务日志文件的最大容量改为50,递增值改为3。

5.将Stu_C数据库更名为New_Stu_C

可以调用系统存储过程sp_renamedb更改数据库的名称。

在查询分析器中输入如下语句:

sp_renamedb’Stu_C’,’New_Stu_C’

6.删除数据库New_Stu_C

(1)从树状目录窗口中找到刚创建的数据库New_Stu_C,单击右键,从弹出菜单中选择命令“删除”。

(2)在弹出对话框中选择“是”确认即可。

还可以使用DROPDATABASE来实现数据库的删除。

使用语句:

DROPDATABASENew_Stu_C。

7.方法一:

使用企业管理器创建数据表

(1)打开企业管理器,在树状目录窗口中找到数据库节点Stu_C,若没有,则按照实验一方法创建数据库。

(2)选中下级节点“表”。

单击鼠标右键,从弹出菜单中选择“新建表”,打开表设计窗口,在窗口按照“实验内容”中所列出的数据表结构,定义列名、数据类型、长度等属性。

(3)选择主键字段,单击右键,选择“设置主键”,或使用工具栏上的“主键”快捷工具设定。

(4)单击工具栏“保存”按钮,在弹出的对话框中输入表名称,关闭表设计窗口,完成表的创建。

方法二:

使用Transact_SQL语句创建数据表。

如图所示,在查询分析器代码窗格内输入:

USEStu_C

GO

CREATETABLES

(SNOCHAR(10)PRIMARYKEY,

SNAMECHAR(10)NOTNULL,

SEXCHAR

(2)NULL,

AGEINTNULL,

SDEPTCHAR(10)NULL);

CREATETABLEC

(CNOCHAR(6)PRIMARYKEY,

CNAMECHAR(20)NOTNULL,

PCNOCHAR(6)NULL,

CREDITINTNULL);

CREATETABLESC

(SNOCHAR(10)NOTNULL,

CNOCHAR(6)NOTNULL,

GRADEINTNULL,

PRIMARYKEY(Sno,Cno));

然后单击工具栏上的三角形(执行查询)图标,系统将运行查询代码,并在显示结果窗格上显示Stu_C数据库中的各个表。

实验二基本表的修改,数据的查询与更新,视图的管理

实验目的:

掌握约束的定义及其删除方法,掌握规则的创建、使用和删除方法,掌握默认对象的创建、使用和删除方法,掌握创建视图的各种方法,掌握修改视图的方法,熟练使用SQL查询语句,熟悉数据的插入、删除、修改。

实验环境:

SQLServer2000

实验内容:

根据实验一建立的表,实现以下的操作:

1.通过createtable命令的方式创建学生课程数据库Stu_C中的学生表S、课程表C、修表SC和每个表的主键。

2.修改C表,删除CREDIT字段。

3.在C表中添加一列,列名为TNAME,数据类型为CHAR,长度为10,允许为空。

4.修改S表中SDEPT字段,将其长度改为30。

5.创建CHECK约束。

在S表SEX列创建“SEX”只能是“男”或“女”的(检查)约束。

6.创建DEFAULT默认值约束。

在S表AGE列创建缺省值为“18”的约束。

7.创建FOREIGNKEY约束。

C表中的先修课PCNO参照C表中的CNO。

SC表中的SNO参照S表中的SNO属性,CNO参照C表中CNO属性。

7.根据外码约束,生成S,C,SC三个表的关系图。

8. 通过打开表和INSERT命令输入数据。

基本表S的数据

S1王芳20M数学

S2李莉19M计算机

S3王华22M管理

S4王明19M数学

S5宋江21F管理

S8曹操18F计算机

基本表C的数据

C2数学NULL刘明

C4程序设计NULL吴一

C3数据库NULL李方华

C1操作系统C2刘备

C5C语言C2张飞

基本表SC的数据(空格为未修课)

S#C#

S1

S2

S3

S4

S5

S6

C1

80

85

90

75

70

90

C2

70

Null

85

 

60

Null

C3

85

 

95

Null

80

90

C4

90

Null

 

70

 

 

C5

70

 

 

 

65

Null

9.查询全体学生的学号、姓名、所在系。

10.查询全体学生的姓名及其出生年份,并给“出生年份”取别名。

11.查询选修了课程的学生学号。

12.查询年龄在20~23岁之间(包括20和23岁)的学生的姓名、年龄和所在系。

13.查询所有年龄在20岁以下、“数学系”的男学生学号和姓名。

14.查询选修“C4”课程的学生总人数。

15.查询所有有成绩的学生学号和课程号,查询结果按学号升序排列,同一个学生按课程号降序排列。

16.查询选修“C3”课程的学生平均成绩。

17.查询各门课程及相应的选课人数。

18.查询选修“C3”课程的学生最高分数。

19.若存在一个学号为“S4”的学生,试将此学生的年龄改为22岁。

20.将“C3”课程的学生成绩都增加5%。

21.删除学号为“S8”的学生记录。

22.查询所有学生姓名及其所选课程的课程号和成绩。

23.查询所有成绩在80分以上的学生的学号,姓名,课程名,成绩。

24.查询哪些学生选修了数据库课程,列出学号,姓名。

25.查询哪些学生选修了3门以上课程。

26.查询选修了3门以上课程的学生学号,姓名,所在系。

选课门数,平均分

27.查询选修“C1”课程的学生学号,姓名及成绩。

28.查询所有选修了“吴一”老师课程的女学生学号和姓名。

29.查询“程序设计”课程成绩在90分以上的学生姓名。

30.把“吴一”老师的男学生选课成绩增加4%。

31.查询所有比“王华”年龄大的学生姓名、年龄和性别。

32.检索选修4门以上课程的学生总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。

33.把SC表中每门课程的平均成绩插到另一个已存在的表SC_C(CNO,CNAME,AVG_GRADE)中。

34.查询所有“数学”课程成绩低于数学平均成绩的学生学号。

35.检索刘明老师所授课程的课程号和课程名。

36.检索年龄大于23岁的男同学的学号和姓名。

37.检索学号为s3的学生所学课程的课程名和任课教师名。

38.检索至少选修刘明老师所授课程中一门课程的女同学姓名。

39.检索至少选修两门课程的学生学号。

40.统计有学生选修的课程门数。

41.求刘明老师所授课程的每门课程的学生平均成绩。

42.求选修c4课程的学生平均年龄。

43.检索学号比王芳同学大,而年龄比他小的学生姓名。

44.检索姓名以“王”打头的所有学生的姓名和年龄。

45.在sc中检索成绩为空值的学生学号和课程号。

46.检索李莉同学不学的课程的课程号。

47.//检索全部学生都修的课程的课程号与课程名。

48.//检索选修课程包括刘明老师所教所有课程的学生学号。

49.统计每门课程的学生选修人数(超过10人的课程才统计),要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。

50.求年龄大于女同学平均年龄的男学生姓名和年龄。

51.求年龄大于所有女同学年龄的男同学姓名和年龄。

52.往基本表s中插入一个学生元组(‘s9’,‘吴用’,18)。

53.在基本表s中检索每一门课程成绩都大于等于80分的学生学号,姓名和性别,并把检索到的值送往另一个已存在的基本表student(sno,sname,sex)

54.在基本表sc中删除尚无成绩的选课元组。

55.把王明同学的学习选课和成绩全部删去。

56.把选修“数据库”课不及格的成绩全改为空值。

57.把低于总平均成绩的女同学成绩提高15%。

58.在基本表sc中修改c4课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个update语句实现)。

59.选修了全部课程的学生姓名

60.检索只选修了c2课程的学生姓名。

61.检索至少选修了c1和c2课程的学生姓名。

62.检索至少选修了s2学生所修课程的学生姓名。

63.检索英语成绩最高的学生姓名。

64.创建“计算机系”学生的视图Stu_CS1。

65.创建“计算机系”选修了“S1”号课程的学生视图Stu_CS2。

66.创建“计算机系”选修了“S1”号课程且成绩在“90”分以上的学生视图Stu_CS3。

67.基于视图进行添加、更新、删除记录。

68.删除视图Stu_CS3。

实验步骤

1.略

2.在企业管理器中删除列

(1)在目录树中选择Stu_C数据库,选择要修改的表。

(2)单击右键,选择“设计表”,打开表设计对话框。

(3)选择需要进行修改的列,选择“删除列”。

(4)保存,完成对数据表的修改。

也可以使用Transact_SQL语句来实现。

USEStu_C

GO

ALTERTABLECDROPCOLUMNCREDIT

GO

3.在企业管理器中添加列

(1)在服务器目录树中选择Stu_C数据库,展开单击“表”选项,选择C表。

(2)点击右键,选择“设计表”,打开表设计对话框。

(3)在表设计对话框中添加列TNAME,并进行数据类型及约束定义。

也可以使用Transact_SQL语句来实现。

USEStu_C

GO

ALTERTABLECADDTNAMECHAR(10)NULL

GO

(4)保存,完成对数据表的修改。

4.在企业管理器中对表结构进行修改

(1)在服务器目录树中选择Stu_C数据库,展开单击“表”选项,选择S表。

(2)点击右键,选择“设计表”,打开表设计对话框。

(3)在表设计对话框中对列SDEPT进行修改。

也可以使用Transact_SQL语句来实现。

USEStu_C

GO

ALTERTABLESALTERCOLUMNSDEPT(30)

GO

(4)保存,完成对数据表的修改。

5-6.在企业管理器中对表进行约束和规则定义

(1)在服务器目录树中选择Stu_C数据库,展开单击“表”选项,选择S表。

(2)点击右键,选择“设计表”,打开表设计对话框。

(3)在表设计对话框中,选中要进行CHECK约束定义的列SEX,点击右键,选择“CHECK约束”,在对话框中输入约束表达式“SEXIN(’男’,’女’)”。

(4)选中要进行DEFAULT定义的列AGE,在下面的属性选项卡“默认值”中输入“18”。

(5)保存,完成对数据表的约束定义。

7.在企业管理器中义创建三个表的关系

(1)在服务器目录树中选择Stu_C数据库,展开单击“表”选项,选择S表。

(2)点击右键,选择“设计表”,打开表设计对话框。

(3)在表设计对话框中,点击右键,选择“关系”,或在工具栏中选择“关系”图标。

(4)在关系对话框中,选择“新建”,在“主键表”“外键表”选项中选择表名,体现参照和被参照的关系。

并确定相对应的列名。

(5)保存,完成一个关系的定义。

之后再用同样的方法“新建”新的关系,保存。

8.使用向导创建关系图

(1)在服务器目录树中选择Stu_C数据库,展开单击“关系图”选项。

(2)进入新建关系图向导,按照提示进行此数据库关系图的创建。

(3)对关系图保存并命名。

9-62.略

63.创建视图

(1)打开企业管理器窗口,确认服务器,打开数据库文件夹,选中新视图所在的数据库;

(2)选择菜单“工具”——〉“向导”;

图5.1视图向导

(3)在向导对话框中,单击数据库左边的“+”号,使之展开。

选择“创建视图向导”项,单击“确定”按钮;

(4)进入创建视图向导后,首先出现的是欢迎进入创建视图向导对话框,其中简单介绍了该向导的功能。

单击“下一步”按钮后,就会出现选择“数据库名称”对话框;

(5)在“选择数据库名称”对话框中,选择视图所属的数据库。

单击“下一步”按钮,进入选择表对话框。

(6)在选择表对话框中,列出了指定数据库中所有用户定义的表和视图。

用户可以从中选择构造视图所需的一个表或多个表(或视图),被选中的表成为构造视图的参考表。

选择构造视图参考表的方法是:

用鼠标单击表名后的“包含在视图中”列,使复选框为选中状态。

单击“下一步”按钮,则进入选择列对话框。

(7)列选择对话框中以表格形式列出了创建视图参考表的全部属性,每个属性占表的一行。

创建视图的参考属性可以在表格中选出。

选择视图参考属性的方法是用鼠标单击属性名后边的“选择列”,使其复选框为选中状态。

单击“下一步”按钮,进入创建视图的定义限制对话框。

(8)在定义限制对话框中,输入表的连接和元组选择条件。

图5.2设计视图

(9)在输入视图名对话框中输入所建视图的标识名。

(10)在完成对话框中给出了根据前面对话框输入的内容译成的SQL语句。

读者可以认真阅读该SQL语句,如果发现与要求不符合之处则可以直接进行修改。

(11)确认无误后,单击“完成”按钮。

随后出现一个通知用户已成功创建视图的信息框,单击“确认”按钮后,整个创建视图工作就完成了。

64.查看和修改视图

视图创建后,就可以利用它进行查询信息了。

如果发现视图的结构不能很好地满足要求,还可以在企业管理器对它进行修改。

65.删除视图

删除视图的方法是:

首先要在企业管理器中,将鼠标指向数据库中的视图文件夹,单击右键。

在随后出现的弹出菜单中,选择“删除”项。

选中预删除的视图,单击“全部移出”按钮,被选中的视图就会从视图中被移出。

 

实验三存储过程和触发器

实验目的:

1.掌握创建存储过程的方法、步骤、使用方法;掌握创建触发器的方法、步骤、使用方法。

实验环境:

SQLServer2000

实验内容:

1.参照以下的例子,创建一个存储过程Pro_Com,该存储过程的作用是:

当执行该存储过程时,将返回计算机系学生的所有信息。

例:

下面的存储过程从四个表的联接中返回所有作者(提供了姓名)、出版的书籍以及出版社。

该存储过程不使用任何参数。

在SQL查询分析器中输入:

CREATEPROCEDUREau_info_all

AS

SELECTau_lname,au_fname,title,pub_name

FROMauthorsaINNERJOINtitleauthorta

ONa.au_id=ta.au_idINNERJOINtitlest

ONt.title_id=ta.title_idINNERJOINpublishersp

ONt.pub_id=p.pub_id

GO

--在SQL查询分析器中执行au_info_all存储过程方法:

EXECUTEau_info_all

--Or

EXECau_info_all

2.执行Pro_Com存储过程,查看计算机系学生的情况。

3.删除Pro_Com存储过程。

4.参照以下的例子,使用CREATEPROCEDURE语句创建一个带参数的存储过程Pro_Stu。

该存储过程的作用是:

当任意输入一个学生的姓名时,返回该学生的学号、选修的课程名称和课程成绩。

例:

下面的存储过程从四个表的联接中只返回指定的作者(提供了姓名)、出版的书籍以及出版社。

该存储过程接受与传递的参数精确匹配的值。

CREATEPROCEDUREau_info

@lastnamevarchar(40),

@firstnamevarchar(20)

AS

SELECTau_lname,au_fname,title,pub_name

FROMauthorsaINNERJOINtitleauthorta

ONa.au_id=ta.au_idINNERJOINtitlest

ONt.title_id=ta.title_idINNERJOINpublishersp

ONt.pub_id=p.pub_id

WHEREau_fname=@firstname

ANDau_lname=@lastname

GO

au_info存储过程可以通过以下方法执行:

EXECUTEau_info'Dull','Ann'

--Or

EXECUTEau_info@lastname='Dull',@firstname='Ann'

--Or

EXECUTEau_info@firstname='Ann',@lastname='Dull'

5.执行Pro_Stu存储过程,查询“宋江”的学号、选修课程名称和课程成绩。

6.使用系统存储过程sp_helptext查看存储过程Pro_Stu的文本信息

7.创建一个带参数的存储过程Pro_Couse。

该存储过程的作用是:

当任意输入一门课程的课程名时,返回选修该课程的学生学号、学生姓名和成绩。

8.执行Pro_Couse存储过程,查询选修“操作系统”的学生学号、学生

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

当前位置:首页 > 高等教育 > 农学

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

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