实验报告
- 格式:doc
- 大小:59.50 KB
- 文档页数:5
数
据
库
系
统
概
论
实
验
报
告
实 验 一 基本表的定义、删除与修改
一、 实验目的:
熟练掌握基本表的定义、删除与修改,为后继学习作准备。
二、 实验属性(验证性)
(1)了解并掌握SQL查询分析器及企业管理器的使用;
(2)掌握基本表的定义、删除与修改。
三、 实验仪器环境与要求
1.每人一台计算机。
2.计算机安装有SQL SERVER2000。
四、 实验要求(预习、实验前、实验中、实验后等要求)
1.复习教材第三章,熟悉SQL语句。
2.熟悉SQL SERVER 2000,能使用分析管理器与企业管理器。
3.能够熟练使用SQL语句进行表的创建、删除与修改。
五、 实验原理
SQL语言基本应用。
六、 实验步骤
(1) 启动SQL SERVER。
(2) 启动SQL查询分析器;
(3) 选择SQL SERVER后,按确认;
(4) 创建数据库;
(5) 验证如下例子:
七. 实验内容
表二 关系Reports
Sno Cno Grade
S01
S01
S02
S02
S02
S03
S03
S04 C01
C03
C01
C02
C03
C01
C02
C03 92
84
90
94
82
72
90
75 表一 关系Students
Sno Sname Ssex Sage Sdept
S01
S02
S03
S04
S05
S06 王建平
刘华
范林军
李伟
黄河
长江 男
女
女
男
男
男 21
19
18
19
18
20 自动化
自动化
计算机
数学
数学
数学
1 定义基本表
(1) 建立表一所示的学生表Students,每个属性名的意义为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。这里要求Sno和Sname不能为空值,且取值唯一。Sno为主码。
CREATE TABLE Students
(Sno CHAR(5) NOT NULL UNIQUE, /*列级完整性约束条件*/
Sname CHAR(20) UNIQUE ,
Ssex CHAR(2),
Sage INT,
Sdept CHAR(15)),
说明:在Microsoft SQL Server 2000的查询分析器(Query Analyzer)中使用单条SQL语句,其末尾不需要分号“;”作为命令结尾标记。通常,SQL Server 2000对大多数末尾带有分号的SQL命令都能顺利执行,但对少数的SQL命令,末尾若带分号,则SQL Server 2000会给出错误信息提示。 比如,出现“Incorrect syntax
near ';'”的提示,虽然SQL Server 2000实际上已经执行了该命令。
(2) 建立表二所示的课程表Courses,其属性名意义分别为Cno-课程号,
Cname-课程名, Pre_Cno-先修课程号, Credits-学分。Cno为主码。
CREATE TABLE Courses
(Cno CHAR(5) PRIMARY KEY,
Cname CHAR(40) NOT NULL, /*Cname不能为空值*/
Pre_Cno CHAR(5),
Credits INT,
);
(3)建立表三所示的成绩表Reports。其中的属性名意义分别为Sno-学号,Cno-课程号和Grade-考试成绩。Sno和Cno为主码。
CREATE TABLE Reports
( Sno CHAR(5),
Cno CHAR(5) ,
Grade INT,
PRIMARY KEY (Sno,Cno),
FOREIGN KEY (Sno) REFERENCE Students(Sno),
FOREIGN KEY (Cno) REFERENCE Courses (Cno)); 表三 关系Courses
Cno Cname Pre_Cno Credits
C01
C02
C03
C04
C05
C06
C07 英语
数据结构
数据库
DB_设计
C++
网络原理
操作系统
C05
C02
C03
C07
C05 4
2
2
3
3
3
3
2 修改基本表
(1)向基本表Students中增加“入学时间”属性列,其属性名为RegisterDate,数据类型为DATETIME型。
ALTER TABLE Students ADD RegisterDate DATETIME;
(2)将Sage(年龄)的数据类型改为SMALLINT型。
ALTER TABLE Students ALTER COLUMN Sage SMALLINT;
(3)除Sname(姓名)必须取唯一值的约束。
ALTER TABLE Students DROP CONSTRAINT un_Sname;
注:SQL Server 2000 增加了删除属性的命令。比如,删除属性列RegisterDate的命令为:
ALTER TABLE Students DROP COLUMN RegisterDate;
说明:为了保证后面例子能够顺利运行,要将属性列RegisterDate从Students表中删除。
3 删除基本表
当某个基本表不再需要时,可以用DROP TABLE语句删除它,其一般格式为:
DROP TABLE
(1) 删除Students表。
DROP TABLE Students;
说明:此表删除后,立即重新将其建立起来,以便后面的例子使用。
4 向表中添加元组
(1)将一个学生元组(S01,王建平,男,21,计算机)添加到基本表Students中。
INSERT
INTO Students
VALUES ('S01','王建平','男',’21’,'自动化');
其余五个学生元组的添加操作为:
INSERT
INTO Students
VALUES ('S02','刘华','女',’ 19’,'自动化');
INSERT
INTO Students
VALUES ('S03','范林军','女',’ 18’,'计算机');
INSERT
INTO Students
VALUES ('S04','李伟','男',’ 19’,'数学');
INSERT
INTO Students
VALUES ('S05','黄河','男',’ 18’,'数学');
INSERT
INTO Students
VALUES ('S06','长江','男',’ 20’,'数学');
(2)向Courses表插入元组(‘C01’,’英语’, ‘4’)的命令为:
INSERT
INTO Courses
VALUES ('C01','英语',’4’);
与学生元组的添加类似,用上面的的操作命令将其余6门课程的信息插入Courses表中。
(3)将学习成绩的元组(‘S01’, ’C01’)添加到基本表Reports中。
INSERT
INTO Reports(Sno, Cno)
VALUES (‘S01’,’C01’);
与学生元组的添加类似,用这个命令将其余7个选课元组也添加到基本表Reports中。
实验心得:
这是一个验证性试验,在做这个实验的过程中,将前段时间学到的理论知识进行了一次实践检验,由于老师实验中程序是不可直接运行的,所以在实验过程中我们就需要进行错误查找和更正,通过与同学进行交流以及自己动手在书上查找错因,我找到了一种有的放矢的感觉,通过SQL SERVER 2000,对其中的分析管理器与企业管理器有了一个熟悉的过程。我个人感觉对这种理论性比较强的课就应该多进行这样的实验上机操作,在这个过程中也能培养我们认真细心的习惯,比如要注意那些变量及变量长度的一致,标点需要英文格式的,每行语句结尾是否要加“,”,还有就是加“;”会对整个程序的影响等等,这是一些很小很细微的东西,这些也只有在实际操作中能够增强我们对这些知识的熟练和重视程度。
有点遗憾的是,这个实验我们没能完全做完整。不过这其中的方法我们已经基本掌握了,我们了结了一点数据库实际运用方面的操作方法,在这节课中我感觉自己是有不小收获的。