文档库 最新最全的文档下载
当前位置:文档库 › 数据库实验报告实验四

数据库实验报告实验四

临沂大学信息学院

学生上机(实验)报告

课程名称:数据库系统原理

指导教师:郝计奎

学生姓名:田振

学号:201209240310

实验四交互式SQL

一、实验目的

1、理解交互式SQL的含义。

2、掌握交互式SQL中的数据定义、数据更新、数据查询。

二、实验环境

1、实验仪器设备

至少具有如下配置的计算机:计算机主频至少166MHZ;计算机内存至少64MB以上;至少1G以上的硬盘空间;VGA或更高分辨率的显示器。

2、软件环境

操作系统:Windows 7或Windows XP。

DBMS: SQL Server 2005。

三、实验内容

1、在RDBMS—SQL Server 2005中建立一个数据库student,进行实验所要求的各种操作,所有的SQL操作均在此建立的新库里进行。

2、根据以下要求认真进行实验,记录所有的实验用例

(1)数据定义

基本表的创建、修改和删除;视图的创建和删除。

(2)数据查询

完成各类查询操作(单表查询、连接查询、嵌套查询、集合查询)。

(3)数据更新

完成各类更新操作(插入数据、修改数据、删除数据)。

四、实验步骤

1、用对象资源管理器创建一学生数据库(stu2.dbc)。

2、用T-SQL在stu2数据库中创建一个学生表student、一个课程表course、一个选修表sc,其结构如下所示。

(1)student表

sno:学号,sname:姓名,sAGE:年龄,ssex:性别,sdept:系别

(2)course表

表2.2 course表

cno:课程号,cname:课程名,ccredit:学分(3)sc表

表2.3 sc表

sno:学号,cno:课程号,Grade:成绩

3、建表。

CREATE TABLE Student

(sno CHAR(12) PRIMARY KEY,

sname CHAR(8),

sage INT ,

ssex CHAR(2),

sdept CHAR(20))

CREATE TABLE COURSE

(cno CHAR(2) PRIMARY KEY,

cname CHAR(20),

ccredit INT)

CREATE TABLE SC

(sno CHAR(12),

cno CHAR(2),

grade INT,

PRIMARY KEY (sno,Cno))

命令的执行步骤:

1)打开查询分析器

2)在编辑窗口中输入上面的一个建表命令:3)执行

输入一个命令执行一次

4、修改表的结构。

打开数据库STU2

(1)增加字段

ALTER TABLE Student

ADD ADDRESS varchar(40)

(2)修改字段长度

ALTER TABLE Student

alter COLUMN ADDRESS varchar(50)

(3)删除字段

ALTER TABLE Student

DROP COLUMN ADDRESS

考虑:对于SC、COURSE表可能做哪些修改。

5、删除表。

DROP TABLE Student 此命令慎用,为什么?

6、数据更新。

(1)学生利用INSERT命令向Student表中插入下面指定的3条记录或更多,学生也可以插入自己设计的记录,以下记录作为参考:

记录1:(“0001”,“张三”,21,“男”,“计算机系”)

记录2:(“0002”,“李四”,23,“男”,“计算机系”)

记录3:(“0003”,“李萍”,19,“女”,“外语系”)

命令:1)打开查询分析器

2)在编辑窗口中输入如下命令:

INSERT INTO Student VALUES(“0001”,‘张三’,21,’男’,’计算机系‘)

INSERT INTO Student VALUES(“0002”,“李四”,23,“男”,“计算机系”)……

3)单击“执行“命令

每次执行一个命令。

(2)学生利用INSERT命令向COURSE表中插入下面指定的3条记录或更多,学生也可以插入自己设计的记录,以下记录作为参:

记录1:(“C1”,“数据结构”,4)

记录2:(“C2”,“数据库”,3)

记录3:(“C3”,“C语言程序设计”,4)

命令:1)打开查询分析器

2)在编辑窗口中输入如下命令:

INSERT INTO COURSE VALUES(“C1”,“数据结构”,4)

……

3)单击“执行“命令

(3)学生利用INSERT命令向SC表中插入下面指定的7条记录或更多,学生也可以插入自己设计的记录,以下记录作为参:

记录1:(“0001”,“C1”,90)

记录2:(“0001”,“C2”,67)

记录3:(“0001”,“C3”,87)

记录4:(“0002”,“C1”,78)

记录5:(“0002”,“C2”,56)

记录6:(“0003”,“C1”,82)

记录7:(“0003”,“C2”,63)

命令:1)打开查询分析器

2)在编辑窗口中输入如下命令:

INSERT INTO SC VALUES(“0001”,“C1”,90)

……

3)单击“执行“命令

INSERT INTO SC VALUES(’0001’,“C1”,90)

INSERT INTO SC VALUES(“0001”,“C2”,67)

INSERT INTO SC VALUES(“0001”,“C3”, 87)

INSERT INTO SC VALUES(“0002”,“C1”,78)

INSERT INTO SC VALUES(“0002”,“C2”,56)

INSERT INTO SC VALUES(“0003”,“C1”,82)

INSERT INTO SC VALUES(“0003”,“C2”,63)

(4)学生利用UPDATE命令进行如下修改:

1)把张三学生的系别改为“物理系”

2)把C1课程的学分减1分

3)把李四的数据库成绩加10分

步骤:

①打开查询分析器

②在编辑窗口中输入如下类似命令:

update STUDENT set sdept =“物理系” where SNAME=’张三’……

③单击“执行“命令

update STUDENT set sdept ='物理系'where SNAME='张三'

update COURSE set credit =credit-1 where NO='c1'

update SC set grade=grade+10

where sno in(select sno from student where sname='李四')

and cno in(select cno from course where cname='数据库')

④其他表的数据修改类似类似

(5)删除

1)打开查询分析器

2)在编辑窗口中输入如下类似命令:

delete from Student where 条件

……

3)单击“执行“命令

4)其他表的数据删除类似类似

7、数据查询

打开查询分析器,输入下面的一个命令,然后执行。注意:每次执行一个命令。根据前面给出的数据表结构进行如下查询

(1)用SELECT 语句进行简单查询

1)查询所有学生的学号、姓名和年龄

select sno,sname,sage

from student

2)查询年龄>22的学生记录姓名和出生年份

select sname,2014-sage

from student

where sage>20

3)查所有选修了课程的学生学号

4)查询所有以“数据”开头的课程号、课程名。

5)查询全体学生的总人数

6)查询“0001”学生选修课程中的最高分

7)查询每门课程的课程号及其选修的人数。、

8)查询每个学生的学号和总成绩。

9)查询平均成绩大于等于70的学生学号和姓名。

(2)用SELECT语句进行高级查询。

1)查询选修了课程的学生学号和姓名

2)查询“张三”同学选修的课程号

3)查选修了“数据库”课程的学生学号和姓名(分别用连接查询和子查询实现)

4)查询没有选修“数据库”课程的学生学号和姓名(用子查询实现、用EXISTS谓词)

5)查询“李四”学生不学的的课程名。

6)查询选修了全部课程的学生姓名

7)查询所有学生都学的课程名

8、视图。

打开查询分析器,输入下面的一个命令,然后执行。注意:每次执行一个命令。

(1)创建视图

CREATE VIEW SVIEW AS SELECT XH,XM FROM S

(2)查询视图

SELECT * FROM SVIEW

(3)删除视图

DROP VIEW SVIEW

五、实验报告要求

应包含以下内容:

1、实验名称:本实验项目的名称。

2、实验目的:描述通过实验要达到的结果。

3、实验内容:描述实验任务。

4、实验环境:描述实验的软件、硬件环境。

5、实验步骤:描述实验步骤及中间的结果或现象。在实验中做了什么事情,怎么做的,发生的现象和中间结果。

6、实验结果讨论与总结:描述最终得到的结果,并进行分析说明总结,说明实验过程中遇到的问题及解决办法;新发现或个人的收获;未解决/需进一步研讨的问题或建议新实验方法等。

相关文档