数据库实验报告3

  • 格式:doc
  • 大小:2.51 MB
  • 文档页数:42

实验项目列表 序号 实验项目名称 成绩 指导教师 1 实验一 数据库的定义实验(验证性) 2 实验二 数据库的建立和维护实验(验证性)

3 实验三 数据库的查询实验(验证性) 4 实验四 数据库的视图操作实验(验证性)

5 实验五 触发器、存储过程操作实验(综合性) 实验项目名称 一、 实验目的: 1、理解MySQL Server 5.1 服务器的安装过程和方法; 2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server

创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer。 二、实验环境: 硬件:PC 机 软件:Windows 操作系统、 MySQL Server 5.1

三、实验内容和原理: 1、安装 MySQL 以及相应的 GUI 工具 2、用 SQL 命令,建立学生-课程数据库基本表 : 学生 Student(学号 Sno,姓名 Sname,年龄 Sage,性别 Ssex,所在系 Sdept); 课程 Course (课程号 Cno,课程名 Cname,先行课 Cpno ,学分 Ccredit); 选课 SC(学号 Sno,课程号 Cno,成绩 Grade); 要求: 1) 用 SQL 命令建库、建表和建立表间联系。 2) 选择合适的数据类型。 3) 定义必要的索引、列级约束和表级约束.

四、实验步骤:

1、运行MySQL Query Browser,然后进入到GUI界面; 2、利用图形界面建立基础表: student 表的信息:

字段名 类型 长度 约束条件 Sno varchar 9 非空、主键 Sname varchar 20 Ssex varchar 2 Sage smallint 6 Sdept varchar 20

course 表的信息: 字段名 类型 长度 约束条件 Cno varchar 4 非空、主键 Cname varchar 40 Cpno varchar 4 与 course 表中 Cno 关联 Ccredit smallint 6

sc 表的信息: 字段名 类型 长度 约束条件 Sno varchar 9 非空、主键、与 student 表中 Sno 外键关联,级联删除 Cno varchar 4 非空、主键、与 course 表中

Cno 外键关联 Grade smallint 6

3、利用命令方式建表: (1)、运行MySQL Query Browser,在弹出查询窗口中输入“CREATE DATABASE 102266017053”命令,建立一个名为102266017053的数据库; (2)、通过“use 102266017053 ”命令进入到 102266017053 数据库中; (3)、在查询编辑器窗口中分别输入命令:

建立 student 表: CREATE TABLE student (Sno varchar(9) PRIMARY KEY, Sname varchar(20) UNIQUE, Ssex varchar(2), Sage SMALLINT, Sdept varchar(20) )

建立 course 表: CREATE TABLE course (Cno varchar(4) PRIMARY KEY, Cname varchar(40), Cpno varchar(4), Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES course(Cno) )

建立 sc 表: CREATE TABLE sc (Sno varchar(9), Cno varchar(4), Grade SMALLINT, PRIMARY KEY (Sno,Cno), FOREIGN KEY (Sno) REFERENCES student(Sno) ON DELETE CASCADE ON UPDATE CASCADE, FOREIGN KEY (Cno) REFERENCES course(Cno) ON DELETE NO ACTION ON UPDATE CASCADE ) (4)、向 student 表中添加“Sentrance”列: ALTER TABLE student ADD Sentrance DATE (5)、将 student 表中“Sentrance”的类型改为 varchar ALTER TABLE student MODIFY COLUMN Sentrance varchar(4); (6)、删除 student 表中的“Sentrance”列: ALTER TABLE student DROP Sentrance; 五、实验结果 1、建立student 表,如下图所示:

2、建立course 表,如下图所示: 3、建立sc 表,如下图所示: 4、向 student 表中添加 Sentrance 列,如图所示刚开始没有Sentrance 列: 添加Sentrance 列之后有Sentrance 列: 5、Sentrance 的数据类型初为DATE,如图所示: 将 Sentrance 的数据类型改为 varchar,如图: 6、删除student表中的“Sentrance”列,如图所示“Sentrance”列被删掉: 五、总结: 通过这次实验,初步了解MySQL,通过安装熟悉了MySQL的图形命令界面。通过实验,掌握了基本表的建立,并分别通过图形界面和命令界面建立,修改,删除基本表,熟练使用MySQL的一些常用的命令,实验做的意犹未尽,也因此提高了我对数据库学习的积极性。 实验二:数据库的建立和维护实验 一、实验目的和要求 熟练掌握使用 SQL、Transact-SQL 和 SQL Server 企业管理器向数据库输 入数据、修改数据和删除数据的操作。 二、实验内容和原理 1、基本操作实验 (1)通过 MySQL 的 GUI 工具 Navicat,在学生-课程数据库的 student、course 和 sc 3 个表中各输入若干条记录。要求记录不仅满足数据约束要求,还要有表 间关联的记录。 (2)通过 MySQL 的 GUI 工具 Navicat 实现对学生-课程数据库的 student、 course 和 sc 3 个表中数据的插入、删除和修改操作。 2、提高操作实验 通过查询编辑器用 SQL 命令实现对学生-课程库的数据增加、数据删除和数 据修改操作。 三、实验环境 硬件:PC 机 软件:Windows 操作系统、 MySQL Server 6.0 和 Navicat for MySQL 9.0 四、算法描述及实验步骤 1、基本操作实验 (1)运行“Navicat”,双击“student”表,将学生的信息输入对应位置(如 图 1 所示);双击“course”表,将课程信息输入对应位置(如图 2 所示);双 击“sc”表,将选课信息输入对应位置(如图 3 所示); (2)需要数据插入时,就在最后一条记录后输入一条记录。当鼠标点击其 他行时,输入的记录会自动保存在表中。 (3)需要修改记录时,直接对表中已有记录的数据进行改动,用新值替换 原有的值。 (4)需要删除记录时,先用鼠标单击要删除行的左边灰色方块,使该记录 成为当前行,然后按键。为了防止误操作,MySQL 会弹出一个警告框, 要求用户确认删除操作,单击“确认”按钮即可删除记录。也可通过先选中一行 或多行记录,然后再按 键的方法一次删除多条记录。

图 1 student 表的数据 图 3 sc 表的数据 2、提高操作实验 在查询编辑器中输入以下代码,实现相应的功能。 (1)将(学号:2008004;姓名 :李四;性别 ;男;所在系:IS;年龄 :20)的学生 信息插入到 student 表中,实现的代码如下: INSERT INTO student(Sno,Sname,Ssex,Sdept,Sage) VALUES('2008004','李四','男','IS',20); (2)将 student 表中学号为 2008001 的学生的所在系改为 MA,实现代码如下: UPDATE student SET Sdept='MA' WHERE Sno='2008001'

(3)删除姓名为“张立”的学生记录,实现代码如下: DELETE FROM student WHERE Sname='张立'

五、调试过程 六、实验结果 1、向 student 表插入数据:

2、修改数据: 3、删除数据:(删除李四)

七、总结 通过这次实验,巩固了数据库的建立,数据的增加,删除,以及具备了一 定的数据库的维护常识。并熟练使用了MySQL的图形用户界面,以及使用MySQL 命令进行修改删除操作,为后面的课程设计奠定了基础。