当前位置:文档之家› 2014广工数据库实验报告

2014广工数据库实验报告

数据库原理实验报告

学院计算机学院

专业计算机科学与技术班级

学号

姓名

指导教师胡欣如

2014年12月24日

实验__一__题目__ 数据库及基本表的建立

实验__二__题目__ 查询数据库_ 实验__三__题目__创建和使用视图、索引、存储过程实验__四__题目__ 小型数据库规划设计_

实验平台:MS SQL sever 2005

实验一数据库及基本表的建立

一、实验目的

1、掌握SQL SERVER的查询分析器和企业管理器的使用;

2、掌握创建数据库和表的操作;

二、实验内容和要求

1、分别使用SQL语句、企业管理器(Enterprise Manager)创建数据库;

2、使用SQL语句、企业管理器(Enterprise Manager)创建数据库表;

三、实验主要仪器设备和材料

1.计算机及操作系统:PC机,Windows 2000/xp;

2.数据库管理系统:SQL sever 2000/2005;

四、实验方法、步骤及结果测试

创建一个教学管理数据库SC,其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。

创建:student表(学生信息表)、course表(课程信息表)、teacher表(教师信息表)、student _course表(学生选课成绩表)、teacher_course表(教师上课课表)等。

题目1、创建数据库:

1、创建数据库:

〃确定数据库名称;

数据库用于学生管理,命名为SC

〃确定数据库的位置;

要求:数据文件和日志文件分别存储在E盘自己的目录下。

〃确定数据库的大小;

根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。

〃确定数据库的增长;

根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。

实现代码及截图:

题目2、创建基本表

题目3、查看各数据表之间的关系,生成数据库关系图。

题目4、利用查询分析器修改上述各表。

(1)、用INSERT语句向各个表中插入数据录入5 条记录。录入时注意体会外键约束。

(2)、用UPDATE语句更改student表中数据;

(3)、用DELETE语句删除student表中数据;

实现代码:

五、实验中出现的问题及解决方案

1.插入数据时没有注意到数据的长度,导致报错。解决方法:认真核对数据,重新建立数据库,重新插入数据。

2.建这8个表的先后顺序问题。由于主外键的约束,建表的顺序不能随便调乱,要先理清了各表的关系后,再按照顺序建表。

六、思考题

1、说明数据库中的表和数据文件的关系。

答:表(table)为数据库中数据存储的基本单位,其数据按行、列存储。每个表具有一表名和列的集合。每一列有一个列名、数据类型、宽度或精度、比例。一行是对应单个记录的列信息的集合。数据文件存放着在数据库中存储的数据,且一个数据库只有一个数据文件。表作为数据库中的数据存储单位,存储在数据文件中。

2、数据库中的日志文件能否单独修改?

答:不能,因为日志文件记录了数据库,单独修改可能会造成日志文件与数据库的不一致性,影响工作。

3、在实验中创建表时,应该注意什么?你是如何解决的?

答:应该注意主键与外键的关系,按照顺序建表。实验中创建表时,当实验中有多个表且表间存在外键约束时,应该注意创建时先建立被依赖的表,或者最后再添加各表间的外键约束。表间有外键约束时,注意外键之间的数据类型应该是一致的。

4、在向表中插入数据时,应该注意什么?你是如何解决的?

答:应注意每一个数据的类型,长度。按照建表时每个数据的类型来插入数据。实验向表中插入数据时,当实验中有多个表且表间存在外键约束时,应该注意先对被依赖的表进行数据插入。注意表中各个属性的约束,例如主键、非空、唯一等约束。

5、数据表中数据的完整性如何控制?

答:为了数据表中的属性添加列级或表级约束条件,例如主键、非空、唯一等。如果发现违约行为就拒绝插入数据。实验向表中插入数据时,当实验中有多个表且表间存在外键约束时,应该注意先对被依赖的表进行数据插入。

6、如何对专业表speciality的spname建立唯一性约束,并对新建的约束进行检查。

7、如何对student_course表的score列设置检查约束?如何通过插入新的记录来检验检查约

束?

8、怎样来实现“允许空值”?设置“允许空值”时应注意哪些问题?

答:SQL sever 2005默认为允许空值,可以通过NOT NULL语句来设定不为空

实验二、查询数据库

实验项目名称:使用SQL语言查询管理数据

实验项目性质:基础型

所属课程名称:《数据库原理》

实验计划学时:2

一、实验目的

熟悉SQL语句的基本使用方法,学习如何编写SQL语句来实现查询

1、掌握基本的SELECT查询及其相关子句的使用;

2、掌握复杂的SELECT查询,如多表查询、子查询、连接查询和嵌套查询。

二、实验内容和要求

使用SQL查询分析器查询数据,练习查询语句的使用,掌握SELECT 语句的完整结构,包括简单查询、嵌套查询、连接查询等基本实现方法,掌握存储查询结果的方法,体会各种查询的异同及相互之间的转换,体会各种查询的执行过程,为简单综合应用打下良好的基础。

三、实验主要仪器设备和材料

1.计算机及操作系统:PC机,Windows 2000/xp;

2.数据库管理系统:SQL sever 2000/2003/2005;

四、实验方法、步骤及结果测试

要求用SELECT完成以下查询,

1、对实验一建立的数据库表进行查询

简单查询:

(1)、查询全部学生的学号、姓名、性别和出身年月日。

(2)、查询全体学生的学号、姓名和年龄

实现代码及查询结果截图:

(3)、查询院系编号为 'xy01'(计算机学院)的全部学生的学号、姓名、性别和出身年月日。

(4)、查询?网络工程?专业(专业代码为‘zy01001’)并且班级代码为‘

1001’的学生的学号、姓名和出生日期。 实现代码及查询结果截图:

(5)、查询在‘1988-05-09’以后出生的计算机学院(院系编号为‘100001’)学生的学号、姓名、性别和出身年月日。

连接查询:

(1)、查询全部学生的学号、姓名、性别、所在院系名称和专业名称

(2)、查询选修了课程101(上课编号)的学生的学号、姓名、专业名称和这门课的成绩实现代码及查询结果截图:

嵌套查询:

(1)、查询没有选修了课程102的学生,列出学生的学号和姓名。

(2)、查询每门课都是80分以上的学生的学号与姓名。

2、选用Northwind数据库进行查询

(1)、对NothWind. Products表进行简单查询;在查询分析器在窗口下用SELECT语句完成单表查询:

查询所有Products的详细记录;

查询单价(UnitPrice)小于20的Products;

查询Products中最高单价(UnitPrice)是多少;

实现代码及查询结果截图:

查询结果截图显示

查询分析器执行情况:

语句及执行结果显示

MAX(UnitPrice)最高单价

Products ;

(2)、在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:查询所有被订购过的Products的ProductsID和ProductName;实现代码及查询结果截图:

查询所有被CustomerID为AROUT客和订购过的ProductsID和ProductName;

查询结果截图显示

相关主题
文本预览
相关文档 最新文档