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

数据库实验报告

数据库原理实验报告

学院计算机学院

专业软件工程

班级08级(4)班学号3108007XXX 姓名XXX 指导教师胡欣如

(2011年6 月)

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

一、实验目的

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

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

二、实验内容和要求

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

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

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

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

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

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

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

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

题目1、创建数据库:

题目2、创建基本表

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

(1)、用INSERT语句向各个表中插入数据录入5 条记录。录入时注意体会外键约束。实现代码及截图:

共8组(共8个表)

(2)、用UPDATE语句更改student表中数据;实现代码:

update student

set sname='凹凸曼'

where s_no='6978';

select*from student;

(3)、用DELETE语句删除student表中数据;实现代码:

delete

from student

where s_no='6979';

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

出现的问题主要有几个:

1、用SQL语句建数据库、建表不是太熟悉,不过通过查看相关的书籍资料,都得到了很好的解决;

2、建这8个表的先后顺序问题。由于主外键的约束,建表的顺序不能随便调乱,理清了各表的关系后,就可以顺序建表了,为了避免错误,我就采用了把主外键约束放到建表后再用修改基本表语句声明。

六、思考题

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

数据文件的默认文件扩展名是.mdf。它将数据存储在表和索引中,包含数据库的启动信息,还包含一些系统表,这些表记载数据库对象及其他文件的位置信息。

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

不可以

实验二查询数据库

一、实验目的

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

二、实验内容和要求

使用SQL查询分析器查询数据,练习查询语句的使用,掌握SELECT 语句的完整结构,包括简单查询、嵌套查询、连接查询等基本实现方法。

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

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

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

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

实验题目:

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

简单查询:

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

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

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

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

题目(4)、查询?计算机科学与技术?专业(专业代码为‘080605’)并且班级代码为‘0201’的学生的学号、姓名和出生日期。

题目(5)、查询在‘1983/01/10’以后出生的计算机学院(院系编号为‘510000’)学生的学号、姓名、性别和出身年月日。

题目(6)、查询全部学生的学号、姓名、性别和出身日期结果按照出生日期的升序排列。

连接查询:

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

题目(2)、查询选修了课程1(上课编号)的学生的学号、姓名、专业名称和这门课的成绩

题目(3)、查询学生不及格的情况列出不及格学生的学号、姓名和不及格的课程名称。

嵌套查询:

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

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

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

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

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

Products的详细记录;

查询所有

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

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

题目(2)、在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:查询所有被订购过得Products的ProductsID和ProductName;

查询所有被CustomerID为AROUT客和订购过的ProductsID和ProductName;实现代码及查询结果截图:

查询所有被CustomerID 为AROUT 客和订购过,

且单价在20 以上的ProductsID 和ProductName ;

查询Products 中单价(UnitPrice )最高的Products 的资料;

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

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

查询相对创建数据库和基本表等操作比较简单,基本没什么问题。

六、思考题

1、连接查询分哪几类?各有什么特点?

分为(1)等值与非等值连接查询

连接条件中的各连接字段类型必须是可比的,但名字不必相同。

(2)自身连接

(3)外连接

(4)复合条件连接

2、进行连接查询时应注意哪些问题?

为了避免混淆,属性名前应加上表名前缀

实验三、创建和使用视图、索引、存储过程

一、实验目的

1、掌握视图、索引、存储过程的定义、索引、存储过程的工作原理;

2、掌握创建视图、索引、存储过程的SQL语句的用法;并能够熟练利用视图向表中插入、删除和修改数据。

3、掌握使用视图来查询数据。

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

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

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

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

(一)、视图

实验题目:(写出实验题目1-8)

1、建立“计算机学院”的学生基本情况视图ies_student_view,该视图包括计算机学院所有学生的学号、姓名、性别、出身年月、专业名称。

2、执行ies_student_view视图并观察结果。

3、建立课程3108(上课编号)的学生名册的视图,该名册包括学生的学号、姓名、专业名称和这门课的成绩;并查询结果。

4、建立统计不及格情况的视图,列出不及格学生的学号、姓名和不及格的课程代码;

5、执行视图并观察结果。

6、修改视图ies_student_view,使该视图包括所有学生的学号、姓名、性别、出身年月、学院名称、专业名称。

7、执行ies_student_view视图并观察结果。

8、删除视图ies_student_view。并查询结果。

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