当前位置:范文大全 > 调查报告 > 理工大学数据库实验报告:北理工大学计算机实验报告

理工大学数据库实验报告:北理工大学计算机实验报告

时间:2021-10-14 00:35:11 浏览次数:

 精品文档

 精品文档

 i

 i欢迎下载

 理工大学学生实验报告

 学院名称

 专业班级

 课程名称

 学号

 学生姓名

 实验日 期

 实验成 绩

 实验题目

 交互式SQL

 实验一认识DBMS

 一、 实验目的1 ?通过对某个商用数据库管理系统的安装使用,初步了解 DBMS的 工作环境和系统构架。在此推荐SQL SERVER2O05

 熟悉DBMS的安装、配置及使用。

 3 ?搭建今后实验的平台。

 二、 实验平台

 操作系统:Windows XF。

 数据库管理系统:SQL SERVER2005选择安装各个数据库管理系统 之前,请仔细看清硬件的配置要求。

 三、 实验内容和要求

 1 .根据安装文件的说明安装数据库管理系统。在安装过程中记录安 装的选择,并且对所作的选择进行思考,为何要进行这样的配置,对今 后运行数据库管理系统会有什么影响。

 学会启动和停止数据库服务。

 在正确安装SQL SERVER200后, SQL SERVE数据库弓I擎服务会在 系统启动时自动启动。如果要手动地启动和停止数据库引擎服务,可以

 通过 SQL SERVEBE置管理器(SQLSERVER CONFIGURATION MANAGER 进行管理。SQL SERVED置管理器综合了 SQLSERVER 200中的服务管 理器、服务器网络适用工具和客户端网络实用工具的功能。

 打开SQL SERVERS置管理器工具,单击“ SQL SERVER200服务”

 节点,其中的“ SQL SERVER服务就是我们所说的数据库引擎。与 SQL SERVER 200(一样,可以通过这个配置管理器来启动、停止所安装的服 务,如“ sqlservermssqlsermeRo

 了解RDBMS系统的体系结构。

 实验二交互式SQL

 .数据定义

 (一) 基本表的操作

 1.建立基本表

 例如,建立一个学生表:

 create table Stude nt (Sno char(9) primary key, Sn ame char(20) uniq ue, Ssex char(2), Sage smalli nt,

 Sdept char(20))

 I sno

 建立个课程表:

 create table Course (Cno char(4) primary key,

 Cn ame char(40),

 Cpno char(4),

 Ccredit smalli nt,

 foreig n key (Cp no) refere nces Course(C no))

 I | cn撫电 | ccr tdi t | cptio

 create table sc

 (S no char(9),

 Cno char ⑷,

 Grade smalli nt,

 primary key(S no,Cno),

 foreig n key (Sno) refere nces stude nt(S no),

 foreig n key (Cno) refere nces course(C no)) ;

 sno con grade

 2?修改基本表

 例如,像student表加一个入学时间列:

 alter table Stude nt add S_entrance datetime

 sno | sname ss?x sage t s ftntranee

 alter table Stude nt alter colu mn Sage int

 alter table Course add uniq ue(C name)

 3.删除基本表

 例如,删除已经建立的学生表:

 drop table Stude nt

 drop table Course

 (二)索引操作

 建立索引

 例如,为学生课程数据库中的 student, course, sc 三个

 表建立索引。其中 student 表按学号升序建唯索引,

 course表按课程号升序建唯索引, sc表按学生升序和课

 程号升序建唯索引:

 create unique in dex Stus no on Stude nt(S no);

 create unique in dex Couc no on Course(C no);

 create un ique in dex SCno on SC(S no ASC,C no DESC)

 删除索引

 例如,删除student表的Stusno索引:

 drop in dex Stus name

 (三)数据操作

 更新操作

 插入数据

 例如,在student表中插入下列数据:

 200215125,张立,男,19,IS

 代码如下

 in sert into stude nt(S no,S name,Ssex,Sage,Sdept)values('200215125',' 张

 立;,’男',19,'S"「

 | IX

 I Edept

 I e antraiic#

 ^□021^121B

 结果如下:

 22

 CS

 <FULL>

 插入后,

 L9

 IS

 <KULL>

 200Z151Z3

 L0

 Mk

 <HULL>

 200215125

 L9

 IS

 <MULL>

 在Course表中插入以下数据:

 数据库,5,4

 数学,null ,2

 数据处理,null ,2

 操作系统,6,3

 PASCAL语言,6,4

 数据结构,7,4

 1,数据库,5,4

 信息系统,1,4

 insert into course(Cno,Cname,Cpno,Ccredit)values('1',' 数据库','5',4);

 in sert into course(C no,C name,Ccredit)values('2',' 数学',2);

 insert into course(Cno,Cname,Ccredit)values('6',' 数据处理',2);

 insert into course(Cno,Cname,Cpno,Ccredit)values('4',' 操 作系统

 ',6,3);

 insert into course(Cno,Cname,Cpno,Ccredit)values('7',PASCAL 语言

 ',6,4);

 insert into course(Cno,Cname,Cpno,Ccredit)values('5',' 数据结构

 ',7,4);

 insert into course(Cno,Cname,Cpno,Ccredit)values('1',' 数据库','5',4);

 insert into course(Cno,Cname,Cpno,Ccredit)values('3',' 信息 系 统

 ','1',4);

 con

 cnarrie

 cpnc

 □credit

 1

 m i

 埶据库

 5

 4

 2

 2

 数学

 NULL

 2

 3

 3

 信息系藐

 1

 4

 4

 4

 G

 3

 5

 5

 数摇结构

 7

 4

 6

 €

 NULL

 2

 7

 7

 PASCAL语=

 G

 4

 2?修改数据

 例如,将学生200215121的年龄改为22岁:

 update stude nt set Sage=22 where Sn o='200215121'

 修改前:

 Issas

 sage

 | s;d?pt

 I s entranct

 200215121

 李萸

 男

 20

 cs

 <MULL>

 修改后:

 I EDlO>

 I

 sage

 sdept

 s entr &nce

 1200215121

 章重

 畀

 22

 cs

 <SULL>

 删除数据

 例如,删除学号为 200215128的学生记录:

 delete from stude nt where Sn o='200215128'

 删除所有学生的选课记录:

 delete from sc

 删除计算机科学系所有学生的选课记录:

 delete from sc where 'CS'=(select Sdept from stude nt where

 stude nt.S no=SC.S no )

 查询操作

 单表查询

 例如,查询全体学生的学号与姓名:

 select Sn o,S name from stude nt

 ST1O

 12345200215121 李勇

 1

 2

 3

 4

 5

 200215126张魚明

 200215125 张立

 再例如,查询全体学生的详细记录

 select * from stude nt;

 S10

 snamre

 SSSC

 ssge

 adept

 s_entrance

 1

 | 200215121

 ■j李勇

 男

 23

 cs

 NULL

 2

 200215122

 刘晨

 女

 20

 cs

 NULL

 3

 200215123

 王敏

 7B

 ma

 NULL

 4

 200215125

 张立

 20

 is

 NULL

 5

 200215126

 张咸民

 H

 19

 C5

 NULL

 6

 200215128

 陈冬

 19

 is

 NULL

 查询所有年龄在20岁以下的学生姓名及其年龄

 select Sn ame,Sage from stude nt where Sage<20;

 3结果A消息

 sriarTie

 『

 查询所有姓刘的学生的姓名、学号和性别 。

 select Sn ame,S no ,Ssex from stude nt where Sn ame like ' 刘 %';

 sname

 sno

 1 j划晨

 I 20Q215122

 连接查询

 例如,查询每个学生及其选修课程的情况:

 select stude nt.*,sc.* from stude nt,sc where stude nt.S no=sc.S no

 snossex sage sdepts ent rancesno

 sno

 ssex sage sdept

 s ent rance

 sno

 eno

 grade

 ]2l j21&:21 2002151213

 ]2l j21&:21 200215121

 3 ^200215121

 41200215122

 5 1200215122

 李李李刘刘

 臭胃舅女女

 NULL

 200215121

 1

 92

 NULL

 200215121

 2

 35

 NULL

 200215121

 3

 88

 NULL

 200215122

 2

 90

 NULL

 200215122

 3

 SO

 查询每一门课的间接先修课:

 select first.C no ,sec on d.Cp no from course first,course sec ond where first.Cp no=sec on d.C no

 匚

 eno epno

 1

 1 7

 2

 3 E

 3

 4 NULL

 4

 5 6

 7 NULL

 查询每个学生及其选修课程的情况,用外连接来完成

 select stude nt.S no,S name,Ssex,Sage,Sdept,C no,Grade from stude nt left outer join sc on

 (stude nt.S no=sc.S no);

 Sno

 Sname

 Ssex

 Sage

 Sdept

 Con

 Grade

 1

 1 200215121

 1

 i李勇

 ft

 23

 cs

 1

 0

 2

 200215121

 李更

 w

 23

 cs

 2

 D

 3

 200215121

 李勇

 23

 cs

 3

 0

 4

 200215122

 划晨

 女

 20

 cs

 2

 0

 5

 200215122

 対晨

 女

 20

 GS

 3

 0

 嵌套查询

 例如,查询与“刘晨”在同一个系学习的学生

 select Sn o,S name,Sdept

 from stude nt where

 Sdept in

 (select Sdept from stude nt

 where

 Sn ame=刘晨');

 Sno

 Sname

 Sdept

 1

 f 200215121]

 李更

 cs

 2

 200215122

 刘晨

 cs

 3

 张成民

 cs

 查询选修了课程名为“信息系统”的学生学号和姓名

 select Sn o,S name

 from stude nt where

 Sn o in

 (select Sno from sc

 Where

 Cn o in

 (select

 Cno from course where

 Cname=信息系统'));

 Sno SnarriE

 riooiisiif'l 李勇

 2W215122 J 划晨

 集合查询

 例如,查询计算机科学系的学生以及年龄不及十九岁的学生:

 Select *

 Form stude nt

 Where sdept = ‘s'

 Union

 Select *

 From stude nt

 Where sage < 19

 sno

 sage

 sdept

 s entrance

 1

 200215121

 李勇

 22

 OS

 NULL

 2

 200215123

 王敏

 W

 MA

 NULL

 3

 200215126

 张成明

 1&

 cs

 NULL

 视图操作

 1.建立视图

 例如,建立信息系学生的视图:

 Create view

 IS_stude nt

 As

 Select sno.sn ame, sage

 Form stude nt

 Where sdept = 'IS'

 sno

 I siiaine

 対展

 19

 200215125

 19

 生

 将学生的学号和他的成绩定义为一个视图

 删除视图

 例如,删除视图 BT_S

 Drop view BT_S

 查询视图

 在信息系学生中找出年龄小于 20岁的学生

 Select *

 Form IS_Stude nt

 Where sage < 20

 sno

 sname

 sage

 1

 200215122 刘辰 19

 2

 200215125 张立 19

 更新视图

 将信息系统学生IS_student中学号为200215122的学生姓名改为“刘辰”

 Update IS_stude nt

 Set sname = I'文悚'

 Where sno = 200215122'

 删除信息系学生视图IS_studnet中学号为200215129的记录

 Delete

 From IS_stude nt

 Where sno = 200215129'