1、数据库实验报告 福建农林大学金山学院(程序设计类课程)实验报告课程名称:数据库系统概论姓 名:陈华实系:信息与机电工程系专 业:计算机科学与技术年 级:2009学 号:092231044指导教师:陈长江职 称:讲师20102011学年第二学期实验项目列表序号试验项目名称指导教师1实验一数据库的定义实验(验证性)2实验二数据库的建立和维护实验(验证性)3实验三数据库的查询实验(验证性)4实验四数据库的视图操作实验(验证性)5实验五触发器、存储过程操作实验(综合性)福建农林大学金山学院实验报告专业: 计算机科学与技术 年级: 2009 姓名: 陈华实 学号: 092231044 实验室号_ 608
2、 计算机号 J608S044 实验时间: 2011.11.23 指导教师签字: 成绩: 实验一:数据库的定义实验一、实验目的:1、理解MySQL Server 6.0 服务器的安装过程和方法;2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser ManagerServer 创建数据库、表、索引和修改表结构,并学会使用SQL Server QueryAnalyzer,接收TSQL 语句和进行结果分析。二、实验环境:硬件:PC 机软件:Windows 操作系统、 MySQL Server 6.0 和Navicat for MySQL 9.0三、实验内容和原理:
3、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、运行Navicat for MySQL,然后进行数据库连接,进入到GUI 界面;2、利用图形界面建立基础表:student 表的的信息
4、:字段名类型长度约束条件Snochar9非空、主键Snamechar20Ssexchar2Sagesmallint6Sdeptchar20:字段名类型长度约束条件Cnochar4非空、主键Cnamechar40Cpnochar4Ccreditsmallint6course 表的信息:字段名类型长度约束条件Snochar9非空、主键、与student 表中Sno外键关联,级联删除Snamechar4非空、主键、与course 表中Cno外键关联Gradesmallint6sc表的信息:(1)、连接数据库,在localhost 中点击鼠标右键(如图1 所示),点击“新建数据库”,在弹出的窗口中输入
5、数据库名称(如图2 所示),然后单击“确定”,就完成了数据库的建立。 图1. 新建数据库 图2.(2)、进入新建的数据库,在表的位置单击鼠标右击(如图3 所示),点击“新建表”,分别在“栏位”中输入上表所示的字段名、类型及长度中的数据(如图4、5、6 所示),在“外键”中输入对应表的约束条件(如图)。图3 新建表 图4 student 表 图5 course 表 图6 sc 表 图7 course 的约束条件 图8 sc 的约束条件3、利用命令方式建表:(1)、单击“查询”,然后点击“新建查询”,在弹出的新建查询窗口中输“CREATE DATABASE zhz”命令,建立一个名为zhz 的数据
6、库;(2)、通过“use zhz”命令进入到zhz 数据库中;(3)、在查询编辑器窗口中分别输入命令:建立student 表:CREATE TABLE student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20)6建立course 表:CREATE TABLE course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCE
7、S course(Cno)建立sc 表:CREATE TABLE sc(Sno CHAR(9),Cno CHAR(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 studen
8、t ADD Sentrance DATE(5)、将student 表中“Sentrance”的类型改为charALTER TABLE student MODIFY COLUMN Sentrance CHAR(4);(6)、删除student 表中的“Sentrance”列:ALTER TABLE student DROP Sentrance;五、实验结果1、student 表:2、course 表:3、sc 表:4、向student 表中添加Sentrance 列:5、student 表的基本信息:6、将Sentrance 的数据类型改为char:六、总结:通过这次实验,要求掌握了数据库的定义
9、以及基本表的建立,熟悉MySQL图形界面和SQL 命令去创建、修改、删除基本表及设定表级完整性约束,巩固了SQL 的一些常用的命令语句,为接下来的实验奠定基础。福建农林大学金山学院实验报告专业: 计算机科学与技术 年级: 2009 姓名: 陈华实 学号: 092231044 实验室号_ 608 计算机号 J608S044 实验时间: 指导教师签字: 成绩: 实验二:数据库的建立和维护实验一、实验目的和要求熟练掌握使用 SQL、Transact-SQL 和SQL Server 企业管理器向数据库输入数据、修改数据和删除数据的操作。二、实验内容和原理1、基本操作实验(1)通过MySQL 的GUI
10、工具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)运行“Nav
11、icat”,双击“student”表,将学生的信息输入对应位置(如图1 所示);双击“course”表,将课程信息输入对应位置(如图2 所示);双击“sc”表,将选课信息输入对应位置(如图3 所示);(2)需要数据插入时,就在最后一条记录后输入一条记录。当鼠标点击其他行时,输入的记录会自动保存在表中。(3)需要修改记录时,直接对表中已有记录的数据进行改动,用新值替换原有的值。(4)需要删除记录时,先用鼠标单击要删除行的左边灰色方块,使该记录成为当前行,然后按键。为了防止误操作,MySQL 会弹出一个警告框,要求用户确认删除操作,单击“确认”按钮即可删除记录。也可通过先选中一行 Student表
12、的数据course 表的数据 SC表的数据 警告图标 2、提高操作实验在查询编辑器中输入以下代码,实现相应的功能。(1)将(学号:2008004;姓名:李四;性别;男;所在系:IS;年龄:20)的学生信息插入到student 表中,实现的代码如下:INSERT INTO student(Sno,Sname,Ssex,Sdept,Sage)VALUES(2008004,李四,男,IS,20);(2)将student 表中学号为2008001 的学生的所在系改为MA,实现代码如下:UPDATE studentSET Sdept=MAWHERE Sno=2008001(3)删除姓名为“张力”的学生记
13、录,实现代码如下:DELETEFROM studentWHERE Sname=张立五、调试过程学号有重复,将原表中的2008004改2008005在试,成功。六、实验结果1、向student 表插入数据:2、修改数据:3、删除数据:七、总结通过这次实验,掌握了数据库的建立和维护的基本知识以及约束条件的作用,掌握使用MySQL 图形界面和SQL 命令对建立的基本表进行添加数据、修改数据、删除数据的操作,同时也巩固了SQL 命令中的添加、修改、删除语句,为以后做数据库的维护奠定基础。福建农林大学金山学院实验报告专业: 计算机科学与技术 年级: 2009 姓名: 陈华实 学号: 092231044
14、实验室号_ 608 计算机号 J608S044 实验时间: 指导教师签字: 成绩: 实验三:数据库的查询实验一、实验目的和要求1、掌握select 语句的基本语法;2、掌握子查询、连接查询的表示;3、掌握select 语句的GROUP BY、ORDER BY、LIMIT 的作用和使用方法。二、实验内容和原理1、select 语句的基本使用:(1)查询student 表中每个学生的所有数据;(2)查询course 和sc 表的所有记录;(3)查询年龄在1719 岁之间的学生的姓名及年龄;(4)统计学生总人数;(5)查询信息系(IS)学生的姓名和性别;(6)查询所有姓“王”的学生的信息。2、子查询
15、的使用:(1)查询与“李勇”在同一个系的学生(2)查询其他系中比CS 系所有学生年龄都小的学生的姓名和年龄。3、连接查询的使用:(1)查询选修了3 号课程且成绩在85 分以上的学生的学号、姓名。(2)查询所有学生的选课情况。4、GROUP BY、ORDER BY 和LIMIT 子句的使用:(1)查找student 中男生和女生的人数;(2)查找选修了2 号课程的学生的学号及其成绩,查询结果按成绩降序排列;(3)返回student 表中的前3 为同学的信息。三、实验环境硬件:PC 机软件:Windows 操作系统、 MySQL Server 6.0 和Navicat for MySQL 9.01
16、3四、算法描述及实验步骤1、select 语句的基本使用:(1)查询student 表中每个学生的所有数据:SELECT * FROM student(2)查询年龄在1719 岁之间的学生的姓名及年龄:SELECT Sname,SageFROM studentWHERE Sage BETWEEN 17 AND 19(3)统计学生总人数:SELECT COUNT(*) FROM student(4)查询信息系(MA)学生的姓名和性别:SELECT Sname,SsexFROM studentWHERE Sdept IN(MA)(5)查询所有姓“王”的学生的信息。SELECT *FROM stud
17、entWHERE Sname LIKE 王%2、子查询的使用:(1)查询与“李勇”在同一个系的学生的姓名和所在系:SELECT Sname,SdeptFROM studentWHERE Sdept IN(SELECT SdeptFROM studentWHERE Sname=李勇)(2)查询其他系中比IS 系所有学生年龄都小的学生的姓名和年龄。SELECT Sname,SageFROM studentWHERE SageSno2 THENSET BJ=0;ELSESET BJ=1;END IF;END $delimiter调用该存储过程:CALL COMPA(2008002,2008003,BJ);查看结果:SELECT BJ2、触发器:(1)创建触发器,在student 表中删除学生信息的同时将sc 表中该学生的选课信息删除,以确保数据的完整性:CREATE TRIGGER DELETE_SM AFTER DELETEON student FOR EACH ROWDELETE
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1