当前位置:文档之家› 数据库实验封面

数据库实验封面

实验报告
《数据库原理与应用》2012-2013学年第二学期
第一次实验:掌握基本表的定义、删除与修改
一·实验目的
1、学习数据库最基本的是建立数据库,建立基本表,将用户
所需要的数据储存于内,方便后续的对这些数据的查询。

2、通过基本表的定义,删除与修改,可以输入用户需要的
数据,实现用户数据的更改与更新。

二·实验内容和步骤
以学生选课管理数据库为例子
(1) 启动SQL SERVER 2005。

(2) 启动SQL SERVER 2005查询分析器;
(3)创建数据库”学生选课管理数据库”;
1 定义基本表
1.1、学生表Student,每个属性名的意义为Sno-学号,字符型长度为12、Sname-姓名。

字符型长度20、
Ssex-性别字符型长度为4、Sage-年龄为整型、Sdept-所在系,字符型长度为15。

这里要求
Sno为主码,Sname不能为空值,且取值唯一。

定义语句:
首先创建数据库“学生选课管理系统”
Create database 学生选课管理系统
定义语句:
Create table student
(sno char(12) primary key,
Sname char(20) unique NOT NULL,
Ssex char(4),sage int,sdept char(15)
)
1.2、建立表课程表Course,其属性名意义分别为Cno-课程号、字符型长度为15, Cname-课程名、字符型长度为20, Pre_Cno-先修课程号、字符型长度为15, Credits-学分、整型。

Cno为主码。

定义语句:
Create table course
(cno char(15) primary key ,
cname char(20),pre_cno char(15),credits int,
)
1.3选课表SC。

其中的属性名意义分别为Sno-学号、字符型长度为12,Cno-课程号、字符型长度为15和Grade-考试成绩、整型。

Sno和Cno为主码。

定义语句:
Create table sc (sno char(12),
cno char(15),grade int,
Primary key (sno,cno)
)
1.4向创建好的各个表中每个表中至少输入5条数据。

2 修改基本表
2.1向基本表Student中增加“入学时间”属性列,其属性名为RegisterDate,数据类型为DATETIME型。

语句:Alter table syudent add registerdate
2.2 将Sage(年龄)的数据类型改为SMALLINT型。

语句:Alter table student alter column sage smallint
2.3 删除属性列RegisterDate.
语句:Alter table student drop column RegisterDate
3 删除基本表
3.1 创建一个test表,分别有列tno,tnam。

定义语句:
Create table test
(tno char(12),
tname char(15),
)
3.2 删除test表。

定义语句:Drop table test
三·实验体会及心得
本次实验结合课堂所学知识,采用具体例子来进行实验展示。

通过以学生选课管理数据库的例子证明来加深掌握基本表的定义、删除与修改的技能。

在本次实验中,我发现了我在基本表的制作中欠缺的不足。

在查找有关资料后,及时弥补了技术的空缺,成功完成本次实验。

本次实验加深了我对数据库这门课程的理解
第二次实验实验名称建立与删除索引
一·实验目的
了解并能熟练掌握建立与删除索引的基本方法和程序。

二·实验内容和步骤
创建和删除索引
1、打开SQL查询分析器,选择数据库student,然后输入建立索引口令:Create cluster index
On student;
删除索引:
1、打开SQL查询分析器,选择数据库student,然后输入删除索引口令:Drop index <索引名>;
三·实验心得
通过对此次实验的制作,我明白了如何建立与删除索引的基本方法和程序。

但操作过程中仍存在诸多不解过程。

在请教同学和查阅相关资料后,问题最终予以解决。

另外,通过索引技能的相关学习,我发现掌握索引技能能提高数据库查询效率。

对日后数据库的学习能起到很大的帮助作用。

第三次实验 SQL的数据查询
一·实验目的
熟悉S Q L语句的数据查询语言,能够S Q L语句对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。

二·实验内容和步骤
实验内容主要是对数据库进行查询操作,包括如下四类查询方式:
(1)单表查询
查询的目标表达式为所有列、指定的列或指定的列的运算三种不同。

●使用DISTINCT保留字消除重复行。

●对查询结果排序和分组。

●集合分组使用集函数进行各项统计。

(2)连接查询
●笛卡儿连接和等值连接。

●自连接。

●外连接
●复合条件连接。

●多表连接。

(3)嵌套查询
●通过实验验证对子查询的两个限制条件。

●体会相关子查询和不相关子查询的不同。

●考察四类谓词的用法,包括:
第一类,IN、NOT IN;
第二类,带有比较运算符的子查询;
第三类,SOME、ANY或ALL谓词的子查询,查询最大值和最小值;
第四类,带有EXISTS谓词的子查询,实现“所有”等情况(如王宏
的“所有”课程,“所有”女生选修的课程)
(4)集合运算
●使用保留字UNION进行集合或运算。

●采用逻辑运算符AND或OR来实现集合交和减运算。

实验步骤如下:
1.打开服务器
2.打开企业管理器及其数据库属性对话框。

用鼠标右击“数据库”选择“还
原数据库”
3.输入被还原的数据库名称“Student”点击源文件,选择在C盘中的数据
文件后点“确定”
4.用鼠标右击数据库中的“Student”选择“新建查询”
5.在打开中的查询框中书写SQL语句,如下
(1)查询所有学生的学号,课程号和成绩
Select Cno,Sno,Grade
From SC;
(2) 查询学生的最高分,最低分和平均成绩
Select Avg(Grade),Max(Grade),Min(Grade)
From SC;
(3)查询自动化男同学的学生信息
Select Sno,Sname,Ssex,Sage,Sdept
From Student
Where Sdept=‘自动化’And Ssex=‘男’;
(4)查询考试成绩及格的学生学号
Select Sno
From SC
Where Grade between 60 And 100 ;
(5)查询所有姓李的学生的学号,姓名,性别
Select Sno,Sname,Ssex
From Student
Where Sname Like ‘李%’;
(6)查询学生成绩大于70分的学生学号,并按成绩排序
Select Sno
From SC
Where Grade 〉70
Order by Grade
三·实验心得
通过对SQL数据库知识的基本学习,我学会了书写简单的SQL语言。

这对数据库的查询使用十分有帮助。

此外,在SQL的学习中,我了解到了更多的SQL的知识。

知道SQL SERVER是大数据库,它也属于中型数据库,应用于中小型企业。

SQL SERVER的分布式、复制、全文检索、DTS都可以满足中型的应用。

第四次实验连接、嵌套和集合查询
一·实验目的
通过相关例子来熟练掌握连接、嵌套和集合三种查询方法。

二·实验内容和过程
1·连接查询
以查询每个学生的学号(Sno)、姓名(Sname)、选修的课程名(Cname)及成绩(Grade)为例。

本查询涉及到三个表的连接操作,完成该查询的SQL语句如下:
SELECT Students.Sno, Sname, Cname, Grade
FROM Students, Reports, Courses
WHERE Students.Sno= Reports.Sno AND o= o;
2·。

相关主题