最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

《数据库系统原理》实验报告

来源:动视网 责编:小OO 时间:2025-09-28 00:45:19
文档

《数据库系统原理》实验报告

《数据库系统原理》实验实验1表和表数据的操作一、实验目的掌握在SQLServer2000环境下,利用SQL语言创建和管理表的方法。二、实验要求1、学会利用SQL语句建立自定义数据类型;2、掌握使用SQL语句建立数据表的方法;3、掌握数据表的修改及删除方法(界面方式及语句方式);4、掌握T-SQL中的INSERT、UPDATE及DELETE语句的使用方法;三、实验内容1、创建数据库利用“查询分析器”创建“stuscore”数据库。CREATEDATABASEstuscore2、创建数据表(1)用
推荐度:
导读《数据库系统原理》实验实验1表和表数据的操作一、实验目的掌握在SQLServer2000环境下,利用SQL语言创建和管理表的方法。二、实验要求1、学会利用SQL语句建立自定义数据类型;2、掌握使用SQL语句建立数据表的方法;3、掌握数据表的修改及删除方法(界面方式及语句方式);4、掌握T-SQL中的INSERT、UPDATE及DELETE语句的使用方法;三、实验内容1、创建数据库利用“查询分析器”创建“stuscore”数据库。CREATEDATABASEstuscore2、创建数据表(1)用
《数据库系统原理》实验

实验1  表和表数据的操作

一、实验目的

掌握在SQL Server 2000环境下,利用SQL语言创建和管理表的方法。

二、实验要求

1、学会利用SQL语句建立自定义数据类型;

2、掌握使用SQL语句建立数据表的方法;

3、掌握数据表的修改及删除方法(界面方式及语句方式);

4、掌握T-SQL中的INSERT、UPDATE及DELETE语句的使用方法;

三、实验内容

1、创建数据库

利用“查询分析器”创建“stuscore”数据库。

CREATE DATABASE stuscore

2、创建数据表

(1)用“查询分析器”建立stuscore数据库中的学生表(Student)、班级表(Class)、课程表(Course)及成绩表(Grade),结构如下:

(a) Student表的结构为:

字段名类型中文名备注
SNOChar(8)学号主键
SNameVarchar(10)

姓名
SexChar(2)性别男、女
ClsNOChar(6)班级外健,班级的编号,参照表Class

StuAddrVarchar(20)

住址描述性说明
BirthdayChar(20)出生年月
HeightDEC(4,2)身高以米为单位表示学生的身高。
create table student

(sno char(8) primary key,

sname varchar(10),

sex  char(2),

clsno char(6),

stuaddr varchar(20),

birthday char(20),

height DEC(4,2),

foreign key(clsno) references class(clsno)

);

(b) Class表的结构为:

字段名类型中文名备注
ClsNOChar(6)班号主键
ClsNameVarchar(16)

班名对班级的描述信息
DirectorVarchar(10)

辅导员班级的辅导员
SpecialtyVarchar(30)专业
create table class

(clsno char(6) primary key,

clsname varchar(16),

dorector varchar(10),

specialty varchar(30)

);

(c) Course表的结构为:

字段名类型中文名备注
CNOChar(4)课程号主键
CNameVarchar(16)

课程名课程的名称
PCNOchar(4)先修课程先修课程的课程号
CreditTinyint学分
create table course

(cno char(4) primary key,

cname varchar(16),

pcno char(4),

credit tinyint

);

(d) Grade表的结构为:

字段名类型中文名备注
SNoChar(8)学号学号,参照Student,与Course组成主键

CNOChar(4)课程号课程号,参照Course

ScorceChar(20)成绩
create table grade

(sno char(8),

cno char(4),

scorce int,

primary key(sno,cno)

);

2)使用T-SQL语句修改表结构

可以使用Alter语句增加、删除或修改字段信息。

(1)将表Student增加一列Department(系别)Char(2),不能为空。

alter table student add department char(2);

(2)修改学生表中的学生姓名字段的长度为20:

alter table student alter column sname char(20);

3、表数据的操作

(1)向表(Student)中插入数据

SNOSNameSexClsNOStuAddrBirthdayHeight
19920101王军CS01下关40#

1976.12.211.76
19920102李杰CS01江边路96#

1974.5.241.72
19920103李丽MT04新湖中路1#

1979.6.41.65
19920306王彤MT04路94#

1977.3.181.65
19940107吴杪PH08莲化小区74#

1979.4.81.60
插入数据之后使用命令:Select * from Student; 检查插入数据的正确性

(2)向表(Class)中插入数据

ClsNOClsNameDirector

Specialty
CS01计算机一班王宁计算机应用
MT04数学四班陈晨数学
PH08物理八班葛格物理
插入数据之后使用命令:Select * from Class; 检查插入数据的正确性

(3)向表(Course )中插入数据

CNOCNamePCNOCredit
0001数学Null6
0003计算机基础00013
0007物理00014
插入数据之后使用命令:Select * from Course; 检查插入数据的正确性

(4)向表(Grade )中插入数据

SNOCNOScore
19920101000190
19920101000786
19920102000187
19920102000376
19920306000187
199203060003

93
19940106000785
插入数据之后使用命令:Select * from Grade; 检查插入数据的正确性

实验3  关系、索引、视图和触发器

一、实验目的

1、掌握关系图的创建方法。

2、掌握创建索引、查看索引和删除索引的操作和方法。

3、掌握创建、查询、更新、修改和删除视图的操作和方法。

二、实验要求

1、掌握在SQL Server 2000环境下,利用查询分析器创建关系图,理解关系数据库中表间关系的参照引用完整性;

2、掌握在SQL Server 2000环境下,利用查询分析器创建、查看和管理视图;

3、掌握在SQL Server 2000环境下,利用查询分析器创建、查看和管理索引。

三、实验内容

索引、视图和触发器的创建、查询、修改和删除

(1)为学生情况(student)表创建一个视图V_xsqk,以显示学生的学号、姓名、性别和出生年月等基本信息。

Create view V_xsqk 

As

Select sno,sname,sex,birthday

From student

(2)创建一个视图V_XSCJ,以显示“0001”号课程的学生成绩信息,如学号、姓名、课程名称、成绩和学分等。

create view V_XSCJ(sno,sname,CName,Scorce,Credit)

as

select grade.sno,sname,CName,Scorce,Credit

from student,Course,Grade

Where student.sno=grade.sno and course.cno=grade.cno and course.CNO='0001';

(3)分别利用视图V_xsqk和V_XSCJ作查询和更新操作。

(4)创建触发器trigger_t3,实现当修改学生情况表(student)中的某个学生的学号时,对应学生成绩表(grade)中的学号也作修改。

Create trigger trigger_t3 on student for update

As

Update grade set grade.sno= inserted.sno from grade,deleted,inserted

where grade.sno=(select sno from deleted)

go

(5)在Class表ClsName列上建立一个非聚集索引

Create nonclustered index clsn on Class(ClsName)

(6)在student表的SName列上建立一个唯一性索引

Create unique index stuname on student (SName)

实验4  简单的连接查询

一、实验目的

1、掌握T-SQL中运算符和表达式的使用。

2、通过对Select的使用,掌握Select语句的结构及其应用。

3、掌握T-SQL中几个常用流程控制语句的使用。

4、掌握系统内置函数的概念及其应用。

二、实验要求

掌握在SQL Server 2000环境下,利用企业管理器和查询分析器进行SQL数据查询。学习使用Select语句进行数据库的检索,掌握在Select语句中使用where子句、order by子句、group by子句以及between、like关键字。

学习T-SQL语言的几个常用语句、系统内置函数和用户自定义函数的使用方法。

三、实验内容

1、使用SQL查询分析器,对学生成绩管理(stuscore)数据库完成如下查询:

(1)在学生成绩库中查询出生年月在“1976.12.21”至“1979.4.8”之间的男生情况,并以出生年月按降序排列。

(2)统计“数学”专业的人数。

(3)统计每个学生每个学期的最低分、最高分及平均分。

(4)查询至少被3个学生选修的课程的课程号

(5)查询每个学生的平均成绩,要求查询结果中有学号和平均成绩两列。

(6)查询CS01或MT04班级姓李的学生的信息。

(7)求选修数学课程且成绩为90 分以上的学生学号、姓名及成绩。

(8)将王军所选修的相关课程都增加5分

(1)

select *

from Student

where sex='男' and 

Birthday between '1976.12.21' and '1979.4.8'

Order by Birthday desc;

(2)

select count(*)

from student,class

where student.clsno=class.clsno and class.specialty='数学';

(3)

select sno,max(Scorce), min(Scorce),avg(scorce)

from grade

group by sno

(4)

select cno

select cno

From grade

group by cno

having count(*)>=3;

(5) 

select sno,avg(Scorce)

from grade

group by sno

(6) 

select *

from Student

where sname like '李%' and clsno in('CS01','MT04');

(7)

Select student.sno,sname,scorce

From student,class,grade

Where student.clsno=class.clsno and class.specialty='数学'

and student.sno=grade.sno and grade.scorce>'90';

(8) 

update grade

Set Scorce=Scorce+5

Where exists (select * from student 

where grade.sno=student.sno and sName='王军' );

实验5、高级查询实验

一、实验目的

使学生进一步掌握SQL Server 查询分析器的使用方法,加深Transact-SQL 语言的嵌套查询语句的理解。

二、实验内容

在SQL Server 查询分析器中使用IN 、比较符、ANY 或ALL 和EXISTS 操作符进行嵌套查询操作。

三、实验步骤

用Transact-SQL语句表示,在学生选课库中实现其数据嵌套查询操作:

(l)求选修了数学课程的学生学号和姓名。

(2)求其他系中年龄小于计算机系年龄的学生。

(3)求没有选修0003 课程的学生姓名。

(1)

select student.sno,sname

From student,grade,course

Where student.sno=grade.sno and grade.cno=course.cno and course.pcno='0001';

(2)

Select *

From student

Where birthday > all

(select birthday from student where clsno='cs01') and clsno <> 'cs01';

(3)

Select sname

From student

Where not exists

(select * from grade,course,student

Where grade.sno=student.sno and grade.cno=course.cno and course.pcno='0003') ;

文档

《数据库系统原理》实验报告

《数据库系统原理》实验实验1表和表数据的操作一、实验目的掌握在SQLServer2000环境下,利用SQL语言创建和管理表的方法。二、实验要求1、学会利用SQL语句建立自定义数据类型;2、掌握使用SQL语句建立数据表的方法;3、掌握数据表的修改及删除方法(界面方式及语句方式);4、掌握T-SQL中的INSERT、UPDATE及DELETE语句的使用方法;三、实验内容1、创建数据库利用“查询分析器”创建“stuscore”数据库。CREATEDATABASEstuscore2、创建数据表(1)用
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top