数据库实验书.docx

上传人:b****3 文档编号:5419239 上传时间:2022-12-16 格式:DOCX 页数:35 大小:121.47KB
下载 相关 举报
数据库实验书.docx_第1页
第1页 / 共35页
数据库实验书.docx_第2页
第2页 / 共35页
数据库实验书.docx_第3页
第3页 / 共35页
数据库实验书.docx_第4页
第4页 / 共35页
数据库实验书.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

数据库实验书.docx

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

数据库实验书.docx

数据库实验书

实验1 SQLServer2000安装及管理工具的使用

一、        实验目的

1.     了解SQLServer2000安装对软、硬件的要求,学会安装方法。

2.     了解SQLServer的注册和配置方法。

3.     了解SQLServer2000包含的主要组建及其功能。

4.     熟悉企业管理器和查询分析器的界面及基本使用方法。

5.     对数据库及其对象有一个基本了解。

二、        实验准备

1.     了解安装SQLServer2000的软、硬件要求。

2.     了解SQLServer2000支持的身份验证模式。

Windows的两种服务帐户:

本地系统帐户和域用户帐户。

3.     了解SQLServer各组件的主要功能。

4.     对数据库、表和数据库对象有一个基本了解。

5.     了解在查询分析器中执行SQL语句的方法。

三、        实验内容及步骤

1.     根据软、硬件环境的要求,安装SQLServer2000。

2.     通过“开始”→“程序”→MicrosoftSQLServer→“服务管理器”,打开“SQLServer服务管理器”窗口,选择SQLServer服务。

并且通过该窗口“启动”和“停止”SQLServer服务。

 

3.     通过“开始”→“程序”→MicrosoftSQLServer→“企业管理器”打开企业管理器窗口。

4.     在企业管理器中,使用“注册向导”注册服务器。

查看本地已注册的SQLServer。

搜索网络上的另一台计算机,并且注册该机上的SQLServer,注册时使用“Windows认证模式”或“用我的SQLServer账户信息自动登录”的连接方式。

5.     从SQL企业管理器中注销网络SQLServer。

 

6.     打开本地服务器的属性对话框,查看以下信息:

产品名称、主机操作系统、产品的版本、操作平台、主机内存等。

7.     利用企业管理器访问系统自带的pubs数据库。

(1)       以企业管理员的身份登录到企业管理器。

(2)       在企业管理器的树形目录中找到pubs数据库并展开,查看该数据库的所有对象,如表、视图、存储过程、默认和规则等。

(3)       选择pubs数据库的“表”选项,在右窗口中将列出pubs数据库的所有表(包括系统表和用户表),选择用户表titles表,右击鼠标,弹出快捷菜单,从中选择“打开表”→“返回所有行”菜单项,打开titles表,查看其内容。

8.     利用查询分析器访问pubs数据库的表。

(1)       通过“开始”→“程序”→MicrosoftSQLServer→“查询分析器”方式运行SQLServer查询分析器,或者在企业管理器中选择“工具”→“SQL查询分析器”菜单项,运行SQLServer查询分析器。

(2)       在查询分析器窗口中,选择“查询”→“更改数据库…”菜单项,或者单击常用工具栏中的“更改数据库”下拉按钮,选择要操作的pubs数据库。

(3)       在查询分析器的编辑窗口中,输入以下代码:

SELECTtype,avg(price)

FROMtitles

WHEREroyalty=10

GROUPBYtype

(4)       选择查询分析器的“查询”→“分析”菜单项,或者单击常用工具栏上“分析查询”按钮

,查询分析器将对输入的代码进行语法分析,并由消息窗格给出分析结果报告。

(5)       选择查询分析器的“查询”→“执行”菜单项,或者单击常用工具栏上“执行查询”按钮

,SQLServer将编译窗口中的代码,并在结果窗格中显示查询结果,如图1-1所示。

实验2 SQLServer 数据库的管理

一、        实验目的

1.  了解SQLServer数据库的逻辑结构和物理结构的特点。

2.  学会使用企业管理器对数据库进行管理。

3.  学会使用Transact-SQL语句对数据库进行管理。

二、        实验准备

1.  确定能够创建数据库的用户是系统管理员,或是被授权使用CREATEDATABASE语句的用户。

2.  确定要创建的数据库名、所有者(即创建数据库的用户)、数据库大小(最初的大小、最大的大小、是否允许增长即增长的方式)和存储数据的文件。

3.  了解常用的创建数据库方法。

三、        实验内容及步骤

1.     在企业管理器中创建studentsdb数据库。

(1)       运行SQLServer管理器,启动企业管理器,展开服务器“(LOCAL)(WindowsNT)”。

(2)       右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。

在新建数据库对话框的名称文本框中输入学生管理数据库名studentsdb。

2.     选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“数据文件”、“事务日志”、“文件组”、“选项”和“权限”页面。

3.     打开studentsdb数据库的“属性”对话框,在“数据文件”选项卡中修改studentsdb数据文件的“分配空间”大小为2MB。

指定“最大文件大小”为5MB.在“事务日志”选项卡中修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。

4.     启动查询分析器,在查询分析器中使用Transact-SQL语句CREATEDATABASE创建studb数据库。

然后通过系统存储过程sp_helpdb查看系统中的数据库信息。

5.     在查询分析器中使用Transact-SQL语句ALTERDATABASE修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小文1MB。

6.     在企业管理器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。

7.     使用企业管理器将studb数据库的名称更改为student_db。

8.     使用Transact-SQL语句DROPDATABASE删除student_db数据库。

9.     在企业管理器中删除studentsdb数据库。

四、        实验思考

新数据库是否包含SQLServer在主设备中生成的模型数据库内的所有对象?

实验3 SQLServer 数据表的管理

一、        实验目的

1.     学会使用企业管理器和Transact-SQL语句CREATETABLE和ALTERTABLE创建和修改表。

2.     学会在企业管理器中对表进行插入、修改和删除数据操作。

3.     学会使用Transact-SQL语句对表进行插入、修改和删除数据操作。

4.     了解SQLServer的常用数据类型。

二、        实验准备

1.     了解在企业管理器中实现表数据的操作,如插入、修改和删除等。

2.     掌握用Transact-SQL语句对表数据进行插入(INSERT)、修改(UPDATE)和删除(DELETE和TRANCATETABLE)操作。

三、        实验内容及步骤

1.     启动企业管理器,展开studentsdb数据库文件夹。

2.     在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2、图1-3和图1-4所示。

图1-2  学生基本情况表student_info

图1-3  课程信息表curriculum

图1-4  学生成绩表grade

3.     在企业管理器中创建student_info、curriculum表。

4.     在企业管理器中,将student_info表的学号列设置为主键,非空。

5.     使用Transact-SQL语句CREATETABLE在studentsdb数据库中创建grade表。

6.     student_info、curriculum、grade表中的数据如图1-5、图1-6和图1-7所示。

图1-5 student_info的数据

图1-6 curriculum的数据

图1-7 grade的数据

7.     在企业管理器中为student_info、curriculum、grade表添加数据。

8.     使用Transact_SQL语句INSERTINTO...VALUES向studentsdb数据库的grade表插入以下数据:

学号    课程编号    分数

0004   0001       80

9.     使用Transact_SQL语句ALTERTABLE修改curriculum表的“课程编号”列,使之为非空。

10.  使用Transact_SQL语句ALTERTABLE修改grade表的“分数”列,使其数据类型为real。

11.  使用Transact_SQL语句ALTERTABLE修改student_info表的“姓名”列,使其列名为“学生姓名”,数据类型为archar(10),非空。

12.  分别使用企业管理器和Transact_SQL语句DELETE删除studentsdb数据库的grade表中学号为'0004'的成绩记录。

DELETEgradeWHERE 学号='0004'

13.  使用Transact_SQL语句UPDATE修改studentsdb数据库的grade表中学号为'0003'、课程编号为'0005'、分数为90的成绩记录。

UPDATEgradeSET 分数=90

WHERE 学号='0003'and 课程编号='0005'

14.  使用Transact_SQL语句ALTER...ADD为studentsdb数据库的grade表添加一个名为“备注”的数据列,其数据类型为VARCHAR(20)。

ALTERTABLEgradeADD 备注 VARCHAR(20)NULL

15.  分别使用企业管理器和Transact_SQL语句DROPTABLE删除studentsdb数据库中的grade表。

四、        实验思考

1.  使用Transact-SQL语句删除在studentsdb数据库的grade表添加的“备注”数据列。

2.  在企业管理器中,studentsdb数据库的student_info表的数据输入时,如果输入相同学号的记录将出现什么现象?

怎样避免该情况的发生?

实验4  数据查询

一、        实验目的

1.     掌握使用Transact-SQL的SELECT语句进行基本查询的方法。

2.     掌握使用SELECT语句进行条件查询的方法。

3.     掌握嵌套查询的方法。

4.     掌握多表查询的方法。

5.     掌握SELECT语句的GROUPBY和ORDERBY子句的作业和使用方法。

6.     掌握联合查询的操作方法。

7.     掌握数据更新语句INSERTINTO、UPDATE、DELETE的使用方法。

二、        实验准备

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

2.     了解嵌套查询的表示方法。

3.     了解UNION运算符的用法。

4.     了解SELECT语句的GROUPBY和ORDERBY子句的作用。

5.     了解IN、JOIN等子查询的格式。

6.     了解INSERTINTO、UPDATE、DELETE的格式与作用。

三、        实验内容及步骤

0.   创建studentsdb数据库及其相应表,并录入数据。

     启动查询分析器,运行下面链接的代码即可。

        创建数据库代码

1.     在studentsdb数据库中,使用下列SQL语句将输出什么?

(1)       SELECTCOUNT(*)FROMgrade

(2)       SELECTSUBSTRING(姓名,1,2)FROMstudent_info

(3)       SELECTUPPER('kelly')

(4)       SELECTReplicate('kelly',3)

(5)       SELECTSQRT(分数)FROMgradeWHERE 分数>=85

(6)       SELECT2,3,POWER(2,3)

(7)       SELECTYEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE())

2.     在studentsdb数据库中使用SELECT语句进行基本查询。

(1)       在student_info表中,查询每个学生的学号、姓名、出生日期信息。

(2)       查询学号为0002的学生的姓名和家庭住址。

(3)       找出所有男同学的学号和姓名。

3.     使用SELECT语句进行条件查询

(1)       在grade表中查找分数在80~90分为内的学生的学号和分数。

(2)       在grade表中查询课程编号为0003的学生的平均分。

(3)       在grade表中查询学习各门课程的人数。

(4)       将学生按出生日期由大到小排序。

(5)       查询所有姓“张”的学生的学号和姓名。

SELECT 学号,姓名 FROMstudent_infoWHERE 姓名 LIKE'张%'

4.     嵌套查询

(1)       在student_info表中查找与“刘卫平”性别相同的所有学生的姓名、出生日期。

SELECT 姓名,出生日期

FROMstudent_info

WHERE 性别=

                     (SELECT 性别

                      FROMstudent_info

                      WHERE 姓名='刘卫平')

(2)       使用IN子查询查找所修课程编号为0002、0005的学生学号、姓名、性别。

SELECT 学号,姓名,性别

FROMstudent_info

WHEREstudent_info.学号 IN

                     (SELECT 学号

                      FROMgrade

                     WHERE 课程编号 IN('0002','0005'))

(3)       列出学号为0001的学生的分数比0002号的学生的最低分数高的课程编号和分数。

SELECT 课程编号,分数

FROMgrade

WHERE 学号='0001'AND 分数>ANY

                     (SELECT 分数

                      FROMgrade

                      WHERE 学号='0002')

(4)       列出学号为0001的学生的分数比0002的学生的最高成绩还要高的课程编号和分数。

5.     多表查询

(1)       查询分数在80~90范围内的学生的学号、姓名、分数。

SELECTstudent_info.学号,姓名,分数

FROMstudent_info,grade

WHEREstudent_info.学号=grade.学号 AND 分数 BETWEEN80AND90

(2)       查询学习“C语言程序设计”课程的学生的学号、姓名、分数。

SELECTstudent_info.学号,姓名,分数

FROMstudent_info

INNERJOINgradeONstudent_info.学号=grade.学号

INNERJOINcurriculumON 课程名称='C语言程序设计'

(3)       查询所有男同学的选课情况,要求列出学号、姓名、课程名称、分数。

(4)       查询每个学生的所选课程的最高成绩,要求列出学号、姓名、课程名称、分数。

(5)       查询所有学生的总成绩,要求列出学号、姓名、总成绩,没有选修课程的学生的总成绩为空。

提示:

使用左外连接。

(6)       为grade表添加数据行:

学号0004、课程编号为0006、成绩为76。

查询所有课程的选修情况,要求列出课程编号、课程名称、选修人数,curriculum表中没有的课程列值为空。

提示:

使用右外连接。

6.     使用UNION运算符将student_info表中姓“张”的学生的学号、姓名与curriculum表的课程编号、课程名称返回在一个表中,且列名为u_编号、u_名称,如图1-8所示。

图1-8  联合查询结果集

 

7.     数据更新

(1)       创建totalgrade表,具有数据列:

学号、姓名、总成绩。

CREATETABLEtotalgrade

( 学号 char(4)NOTNULL,

 姓名 varchar(8)NULL,

 总成绩 decimal(5,2)NULL)

(2)       使用INSERTINTO语句通过student_info表更新totalgrade表的学号、姓名列数据。

INSERTINTOtotalgrade

 SELECT 学号,姓名,总成绩=0FROMstudent_info

(3)       使用UPDATE语句通过grade表更新totalgrade表的中成绩列数据,使totalgrade表中每个学生的总分成绩为grade表中该学生各成绩之和。

UPDATE totalgradeSET 总成绩=

 (SELECTSUM(分数)FROMgradeWHEREtotalgrade.学号=grade.学号)

FROMgrade

(4)       删除totalgrade表中没有总成绩的学生记录。

四、        实验思考

1.  查询所有没有选修课程的学生信息,返回结果包括学号、姓名、性别。

2.  在student_info表和grade表之间实现交叉连接。

3.  查询每个学生的所选课程的成绩,并列出学号生成分组汇总(总成绩)和明细行(各课成绩)。

提示:

使用SELECT语句的COMPUTE选项。

实验5  索引和视图

一、实验目的

1.           学会使用企业管理器和Transact-SQL语句CREATEINDEX创建索引。

2.           学会使用企业管理器查看索引。

3.           学会使用企业管理器和Transact-SQL语句DROPINDEX删除索引。

4.           掌握使用企业管理器、向导等创建、管理和删除全文索引,并使用全文引索查询信息的方法。

5.           掌握使用企业管理器和Transact-SQL语句CREATE-VIEW创建视图的用法。

6.           掌握系统存储过程sp_rename的用法。

7.           掌握使用Transact-SQL语句ALTERVIEW修改视图的方法。

二、实验准备

1.           了解聚集索引和非聚集索引的概念。

2.           了解使用Transact-SQL语句CREATEINDEX创建索引的语法。

3.           了解使用企业管理器创建索引的步骤。

4.           了解Transact-SQL语句DROPINDEX删除索引的用法。

5.           了解创建视图的Transact-SQL语句CREATEINDEX的语法格式及用法。

6.           了解修改视图的Transact-SQL语句ALTERVIEW的语法格式。

7.           了解视图更名的系统存储过程sp_rename的用法。

8.           了解删除视图的Transact-SQL语句DROPVIEW的用法。

三、实验内容

0.   创建studentsdb数据库及其相应表,并录入数据。

     启动查询分析器,运行下面链接的代码即可。

        创建数据库代码

1.分别使用企业管理器和Transact-SQL语句为studentsdb数据库的student_info表格和curriculum表创建主键索引。

2.使用企业管理器按curriculum表的课程编号列创建唯一性索引。

3.分别使用企业管理器和Transact-SQL语句为studentsdb数据库的grade表的“分数”字段创建一个非聚集索引,命名为grade_index。

CREATEINDEXgrade_indexONgrade(分数)

4.为studentsdb数据库的grade表的“学号”和“课程编号”字段创建一个复合唯一索引,命名为grade_id_c_ind。

     CREATEUNIQUEINDEXgrade_id_c_indONgrade(学号,课程编号)

5.分别使用企业管理器和系统存储过程sp_helpindex查看grade表和student_info表上的索引信息。

      sp_helpindexgrade

6.使用企业管理器的“向导”工具对grade表创建一个聚集索引和唯一索引。

7.使用系统存储过程sp_rename将引索grade_index更名为grade_ind。

        sp_rename ˊgrade.grade_indexˊ,ˊgrade_indˊ, ˊINDEXˊ

8.           分别使用企业管理器和Transact-SQL语句DROPINDEX删除索引grade_ind。

再次使用系统存储过程sp_helpindex查看grade表上的索引信息。

    DROPINDEXgrade.grade_ind

9.           分别使用企业管理器和系统存储过程sp_fulltext_database为studentsdb数据库启用全文索引。

10.       分别使用企业管理器和系统存储过程sp_fulltext_catalog为studentsdb数据库建立全文目录,命名为FT_stu。

为student_info表建立全文索引数据元。

     executesp_fulltext_catalog ˊFT_stuˊ,ˊcreateˊ

     execsp_fulltext_tableˊstudent_infoˊ,ˊcreateˊ,ˊFT_stuˊ,ˊPK_student_infoˊ

在建立全文索引数据元之前保证已为student_info表建立了PK_student_infl索引。

11.       为student_info表设置全文索引列名为ˊ家庭住

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

当前位置:首页 > 医药卫生 > 基础医学

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

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