数据库实验报告模版

2019-08-26 18:41

《数据库系统原理》课程实验

姓 名: 班 级: 学 号:

佛山科学技术学院计算机系

2012年12月

1

目录

一.实验需用表格 ................................................... 3 二.实验内容 ....................................................... 4 2.1 SQL数据定义 ............................................... 4 2.2实验二 SQL数据查询 ......................................... 6 2.3实验三 连接、嵌套和集合查询 ................................ 10 2.4实验四 SQL的数据更新 ...................................... 15 2.5实验五 视图的定义和维护 ................................... 17 2.6实验六 触发器和存储过程 .................................... 22 三.实验感想 ....................................................... 26

2

一.实验需用表格

学生-课程数据库xskc中用到的三个表文件如下:

学生表:Student

Sno(学号) Sname(姓名) Ssex(性别) Sage(年龄) Sdept(所在系) 200215121 李勇 男 20 CS(计算机科学系) 200215122 刘晨 女 19 CS(计算机科学系) 200215123 王敏 女 18 MA(数学系) 200215125 张立 男 19 IS(信息系)

课程表:Course

Cno(课程号) Cname(课程名) Cpno(先修课) Ccredit(学分) 1 数据库 5 4 2 数学 2 3 信息系统 1 4 4 操作系统 6 3 5 数据结构 7 4 6 数据处理 2 7 PASCAL 6 4

学生选课表:SC

Sno(学号) Cno(课程号) Grade(成绩) 200215121 1 92 200215121 2 85 200215121 3 88 200215122 2 90 200215122 3 80 3

二.实验内容

2.1 SQL数据定义

一、实验目的和要求

1.掌握利用SQL查询分析器和企业管理器进行数据库及基本表的定义、删除与修改; 2.掌握索引的建立与删除的方法。

二、实验内容与步骤 (一)建立数据库

通过企业管理器或查询分析器建立学生-课程数据库xskc。 create database xskc on

( name=xskc_data,

filename='e:\\sjksy\\xskc_data.mdf') log on

( name=xskc_log,

filename='e:\\sjksy\\xskc_log.ldf')

注:先在E:盘上建立一个文件夹(例如:E:\\sjksy),数据库文件保存到自建的文件夹中。

(二)基本表的定义、修改与删除 1.定义基本表

利用查询分析器或企业管理器创建基本表,并输入数据。

【题1-01】 建立一个学生表Student,它由学号Sno、姓名Sname、性别Ssex、年龄Sage、所在系Sdept五个属性组成。要求“学号”为主键,“姓名”不能为空,“性别”默认值为“男”。

CREATE TABLE Student

(Sno CHAR(9) PRIMARY KEY, Sname CHAR(20) NOT NULL, Ssex CHAR(2) DEFAULT ‘男’, Sage INT,

Sdept CHAR(20) );

说明:在Microsoft SQL Server 2000的查询分析器(Query Analyzer)中使用单条SQL语句,其末尾不需要分号“;”作为命令结尾标记。通常,SQL Server 2000对大多数末尾带有分号的SQL命令都能顺利执行,但对少数的SQL命令,末尾若带分号,则SQL Server 2000会给出错误信息提示。 比如,若在实验五的例1的SQL命令末尾加上一个分号“;”,SQL Server 2000就会出现“Incorrect syntax near ';'”的提示,虽然SQL Server 2000实际上已经执行了该命令。

【题1-02】 建立课程表Course,它由课程号Cno、课程名Cname、先修课Cpno、Ccredit学分四个属性组成。要求“课程号”为主键,“课程名”属性不能为空。

CREATE TABLE Course

(Cno CHAR(4) PRIMARY KEY, Cname CHAR(40) NOT NULL , Cpno CHAR(4), Ccredit INT

4

);

【题1-03】 建立学生选修课表SC,包含学号Sno、课程号Cno、成绩Grade三个字段。要求建立主键及与student、kc表联接的外键,并创建检查约束(Grade>=0 and Grade<=100)。

CREATE TABLE SC ( Sno CHAR(9), Cno CHAR(4), Grade INT,

PRIMARY KEY(Sno,Cno),

FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );

2 修改基本表

利用查询分析器或企业管理器修改基本表。

【题1-04】 向基本表Student中增加“入学时间”属性列,其属性名为S_entrance,数据类型为日期型。

ALTER TABLE Student ADD S_entrance DATETIME;

【题1-05】 将Student表中Sage(年龄)的数据类型改为SMALLINT型。 ALTER TABLE Student ALTER COLUMN Sage SMALLINT; 【题1-06】 增加课程名称必须取唯一值的约束条件。 ALTER TABLE Course ADD UNIQUE(Cname);

【题1-07】将Student表的Sdept列允许空值的属性更改为不允许为空。 ALTER TABLE Student ALTER COLUMN Sdept CHAR(20) NOT NULL; 【题1-08】删除Student表中的S_entrance列。 ALTER TABLE Student DROP COLUMN S_entrance;

3 删除基本表

【题1-09】 删除Student表。 DROP TABLE Student;

说明:此表删除后,请立即将其建立起来,以便后面的例子使用。

(三)索引的建立和删除 1 建立索引

【题1-10】 在基本表Student的Sname(姓名)列上建立一个聚簇索引,而且Student中的物理记录将按照Sname值的升序存放。其语句为:

CREATE CLUSTERED INDEX Stu_Sname ON Student(Sname);

【题1-11】分别为学生-课程数据库中的Student,Course,SC三个表建立索引。其中Student表按Sno(学号)升序建唯一索引,Course表按Cno(课程号)升序建唯一索引,SC表按Sno(学号)升序和Cno(课程号)号降序建唯一索引。其语句为:

CREATE UNIQUE INDEX Stu_Sno ON Student(Sno); CREATE UNIQUE INDEX Cou_Cno ON Course(Cno);

CREATE UNIQUE INDEX SCno ON SC(Sno ASC, Cno DESC);

2 删除索引

【题1-12】删除Student表的Stu_Sname索引。 DROP INDEX Student.Stu_Sname;

5


数据库实验报告模版.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:临安监发[2011]39号关于印发《临沂市生产安全事故应急预案管理办

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: