数据库系统概论实验指导书

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验一 创建数据库和表

一、实验目的及要求:

1.了解SQL SERVER 数据库的逻辑结构和物理结构

2.了解表的结构特点

3.了解SQL SERVER 的基本数据结构

二、实验任务:

1.学会在企业管理器中创建数据库和表

2.学会在T-SQL 语句创建数据库和表

三、操作要点:

1.启动企业管理器,并创建数据库和表

2.启动SQL 查询分析器

3.掌握创建数据库和表分别是CREATE DATABASE 和CREATE TABLE

四、注意事项:

1.在Microsoft SQL Server 2000的查询分析器(Query Analyzer)中使用单条SQL 语句,其末尾不需要分号“;”作为命令结尾标记。

2.通常,SQL Server 2000对大多数末尾带有分号的SQL 命令都能顺利执行,但对少数的SQL 命令,末尾若带分号,则SQL Server 2000会给出错误信息提示。

五、实验学时:2学时

六、实验重点及难点:

1.列级完整性约束条件

2.空值的概念

3.CREATE DA TABASE 和CREATE TABLE 的用法

七、实验步骤:

(一) 企业管理器创建数据库和表

1.启动企业管理器;

2.创建数据库Company ,并创建一个主数据文件Company_Data1,一个二级数据

文件Company_Data2,一个日志文件Company_Log ,以及一个自定义文件组

Company_Group ,该组中有数据文件Company_Data3,设置各文件属性。

(二) T-SQL 语句创建数据库和表

1.启动SQL 查询分析器;

2.创建数据库University ,并创建一个主数据文件University_Data 和一个日志文

件University_Log ;

3. 建立表5.3所示的学生表Students ,各属性为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。要求Sno 和Sname 不能为空值,且取值唯一,Sno 为键码。

表5.3 关系Students

表5.4 关系Courses 表5.5 关系Reports

4.建立表

5.4所示的课程表Courses,各属性为Cno-课程号, Cname-课程名, Pre_Cno-先

修课程号, Credits-学分,要求Cno和Cname不能为空值,Cno取值唯一,且为键码。

5.建立表5.5所示的成绩表Reports。各属性名为Sno-学号,Cno-课程号和Grade-考试成

绩,要求Sno和Cno不能为空,且取值唯一,Sno+ Cno为键码。

6.在相关表上建立索引。

实验二 SQL 基本表的插入、修改和删除

一、实验目的及要求:

熟练掌握基本表的插入、修改和删除,为后继学习作准备。

二、实验任务:

1.了解并掌握SQL 查询分析器及企业管理器的使用;

2.掌握基本表的插入、删除与修改。

三、操作要点:

1.启动SQL 查询分析器

2.掌握进行插入、删除与修改分别是INSERT 、DROP 和UPDATE

四、注意事项:

1.注意每次对表的修改,命令执行完后要查看表的变动刷新表。

2.特别注意在执行插入、删除与修改等更新操作时,要保证数据的完整性。

3.SQL Server 2000 增加了删除属性的命令。

五、实验学时:2学时

六、实验重点及难点

1.T-SQL 语句对基本表的定义进行删除与修改,并插入基本表数据。

2.T-SQL 语句对数据库操作的灵活控制功能。

七、实验步骤:

1.启动SQL 查询分析器;

2.选择SQL SERVER 后,按确认;

3.选择University 数据库;

4.验证如下例题:

4.1 修改基本表

①向基本表Students 中增加“入学时间”属性列,其属性名为Sentrancedate ,数据类型为DATETIME 型。

②将Sage(年龄)的数据类型改为SMALLINT 型。

③删除Sname(姓名)必须取唯一值的约束。

说明:⑴ 为了保证后面例子能够顺利运行,请大家一定将属性列Sentrancedate 从Students 表中删除。

⑵ 为了调试SQL 语句方便,这里没有在表Reports 中增加参照完整性约束,甚至没有表5.3 关系Students

表5.4 关系Courses

定义主键。

4.2 删除Students表。

说明:此表删除后,请立即将其建立起来,以便后面的例子使用。

4.3 向表中添加元组

①将一个学生元组(S01,王建平,男,21,计算机)添加到基本表Students中。

②请同学们用这个命令,按表5.3提供的数据,将其余5个学生的元组也添加到基本表Students中。

③向Courses表插入元组(‘C01’,’英语’,’’,4)。

④请同学们用这个命令,按表5.4提供的数据,将其余6门课程的信息插入Courses表中。

⑤将学习成绩的元组(‘S01’, ’C01’)添加到基本表Reports中。

实验三数据库的查询

一、实验目的及要求

1.熟练掌握SELECT查询语句的使用

2.掌握无条件、有条件查询及查询结果排序与分组

二、实验任务

1.掌握查询语句的一般格式。

2.掌握无条件、有条件查询及查询结果排序与分组

三、操作要点

1.进行查询时先进入查询分析器

2.明白了解无条件、有条件查询及查询结果排序与分组

四、注意事项

1.SELECT语句的基本语法格式

2.SELECT语句的执行方法

3.SELECT语句和ORDER BY子句的作用和用法

4.SELECT语句和GROUP BY子句的作用和用法

五、实验学时:4学时

六、实验重点及难点

1.SELECT语句的基本语法

2.掌握数据汇总的方法

七、实验步骤

1.启动SQL查询分析器;

2.选择SQL SERVER后,按确认;

3.选择数据库University,验证如下例题:

3.1 查询全体学生的详细记录。这是一个无条件的选择查询,其命令为:

3.2查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。这是一个无条件的投影查询,其命令为:

3.3 查询选修了课程的学生学号。其命令为:

3.4查询数学系全体学生的学号(Sno)和姓名(Sname)。其命令为:

3.5查询所有年龄在18~22岁(包括18岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。其命令为:

3.6查询年龄不在18-22岁之间的学生姓名(Sname)及年龄(Sage)。其命令为:

3.7查询自动化系、数学和计算机系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。其命令为:

3.8查询所有姓刘的学生的姓名(Sname)、学号(Sno)和性别(Ssex)。其命令为:

相关文档
最新文档