您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 数据库原理实验指导书(Mysql)
cj1数据库原理实验指导书cj2实验项目列表序号实验项目名称指导教师1实验一数据库的定义实验(验证性)2实验二数据库的建立和维护实验(验证性)3实验三数据库的查询实验(验证性)4实验四数据库的视图操作实验(验证性)5实验五触发器、存储过程操作实验(综合性)cj3实验一:数据库的定义实验一、实验目的:1、理解MySQLServer6.0服务器的安装过程和方法;2、要求学生熟练掌握和使用SQL、T-SQL、SQLServerEnterpriserManagerServer创建数据库、表、索引和修改表结构,并学会使用SQLServerQueryAnalyzer,接收T-SQL语句和进行结果分析。二、实验环境:硬件:PC机软件:Windows操作系统、MySQLServer6.0和NavicatforMySQL9.0三、实验内容和原理: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、运行NavicatforMySQL,然后进行数据库连接,进入到GUI界面;2、利用图形界面建立基础表:student表的信息:字段名类型长度约束条件Snovarchar9非空、主键Snamevarchar20Ssexvarchar2cj4Sagesmallint6Sdeptvarchar20course表的信息:字段名类型长度约束条件Cnovarchar4非空、主键Cnamevarchar40Cpnovarchar4与course表中Cno关联Ccreditsmallint6sc表的信息:字段名类型长度约束条件Snovarchar9非空、主键、与student表中Sno外键关联,级联删除Cnovarchar4非空、主键、与course表中Cno外键关联Gradesmallint6(1)、连接数据库,在localhost中点击鼠标右键(如图1所示),点击“新建数据库”,在弹出的窗口中输入数据库名称(如图2所示),然后单击“确定”,就完成了数据库的建立。图1新建数据库图2(2)、进入新建的数据库,在表的位置单击鼠标右击(如图3所示),点击“新建表”,分别在“栏位”中输入上表所示的字段名、类型及长度中的数据(如图4、5、6所示),在“外键”中输入对应表的约束条件(如图)。cj5图3新建表图4student表图5course表图6sc表图7course的约束条件图8sc的约束条件3、利用命令方式建表:(1)、单击“查询”,然后点击“新建查询”,在弹出的新建查询窗口中输入“CREATEDATABASEzhz”命令,建立一个名为zhz的数据库;(2)、通过“usezhz”命令进入到zhz数据库中;(3)、在查询编辑器窗口中分别输入命令:建立student表:CREATETABLEstudent(Snovarchar(9)PRIMARYKEY,Snamevarchar(20)UNIQUE,Ssexvarchar(2),SageSMALLINT,Sdeptvarchar(20))cj6建立course表:CREATETABLEcourse(Cnovarchar(4)PRIMARYKEY,Cnamevarchar(40),Cpnovarchar(4),CcreditSMALLINT,FOREIGNKEY(Cpno)REFERENCEScourse(Cno))建立sc表:CREATETABLEsc(Snovarchar(9),Cnovarchar(4),GradeSMALLINT,PRIMARYKEY(Sno,Cno),FOREIGNKEY(Sno)REFERENCESstudent(Sno)ONDELETECASCADEONUPDATECASCADE,FOREIGNKEY(Cno)REFERENCEScourse(Cno)ONDELETENOACTIONONUPDATECASCADE)(4)、向student表中添加“Sentrance”列:ALTERTABLEstudentADDSentranceDATE(5)、将student表中“Sentrance”的类型改为varcharALTERTABLEstudentMODIFYCOLUMNSentrancevarchar(4);(6)、删除student表中的“Sentrance”列:ALTERTABLEstudentDROPSentrance;五、实验结果1、student表:2、course表:cj73、sc表:4、向student表中添加Sentrance列:5、student表的基本信息:6、将Sentrance的数据类型改为varchar:六、总结:通过这次实验,要求掌握了数据库的定义以及基本表的建立,熟悉MySQL图形界面和SQL命令去创建、修改、删除基本表及设定表级完整性约束,巩固了SQL的一些常用的命令语句,为接下来的实验奠定基础。cj8实验二:数据库的建立和维护实验一、实验目的和要求熟练掌握使用SQL、Transact-SQL和SQLServer企业管理器向数据库输入数据、修改数据和删除数据的操作。二、实验内容和原理1、基本操作实验(1)通过MySQL的GUI工具Navicat,在学生-课程数据库的student、course和sc3个表中各输入若干条记录。要求记录不仅满足数据约束要求,还要有表间关联的记录。(2)通过MySQL的GUI工具Navicat实现对学生-课程数据库的student、course和sc3个表中数据的插入、删除和修改操作。2、提高操作实验通过查询编辑器用SQL命令实现对学生-课程库的数据增加、数据删除和数据修改操作。三、实验环境硬件:PC机软件:Windows操作系统、MySQLServer6.0和NavicatforMySQL9.0四、算法描述及实验步骤1、基本操作实验(1)运行“Navicat”,双击“student”表,将学生的信息输入对应位置(如图1所示);双击“course”表,将课程信息输入对应位置(如图2所示);双击“sc”表,将选课信息输入对应位置(如图3所示);(2)需要数据插入时,就在最后一条记录后输入一条记录。当鼠标点击其他行时,输入的记录会自动保存在表中。(3)需要修改记录时,直接对表中已有记录的数据进行改动,用新值替换原有的值。(4)需要删除记录时,先用鼠标单击要删除行的左边灰色方块,使该记录cj9成为当前行,然后按Delete键。为了防止误操作,MySQL会弹出一个警告框,要求用户确认删除操作,单击“确认”按钮即可删除记录。也可通过先选中一行或多行记录,然后再按Delete键的方法一次删除多条记录。图1student表的数据图2course表的数据图3sc表的数据图4警告图标2、提高操作实验在查询编辑器中输入以下代码,实现相应的功能。(1)将(学号:2008004;姓名:李四;性别;男;所在系:IS;年龄:20)的学生信息插入到student表中,实现的代码如下:INSERTINTOstudent(Sno,Sname,Ssex,Sdept,Sage)VALUES('2008004','李四','男','IS',20);(2)将student表中学号为2008001的学生的所在系改为MA,实现代码如下:UPDATEstudentSETSdept='MA'WHERESno='2008001'(3)删除姓名为“张立”的学生记录,实现代码如下:DELETEFROMstudentWHERESname='张立'五、调试过程cj10提示操作失败,应将SETSdept=MA和WHERESno=2008001改为:SETSdept='MA'和WHERESno='2008001',然后再运行,提示修改成功,如下图:六、实验结果1、向student表插入数据:2、修改数据:cj113、删除数据:七、总结通过这次实验,掌握了数据库的建立和维护的基本知识以及约束条件的作用,掌握使用MySQL图形界面和SQL命令对建立的基本表进行添加数据、修改数据、删除数据的操作,同时也巩固了SQL命令中的添加、修改、删除语句,为以后做数据库的维护奠定基础。cj12实验三:数据库的查询实验一、实验目的和要求1、掌握select语句的基本语法;2、掌握子查询、连接查询的表示;3、掌握select语句的GROUPBY、ORDERBY、LIMIT的作用和使用方法。二、实验内容和原理1、select语句的基本使用:(1)查询student表中每个学生的所有数据;(2)查询course和sc表的所有记录;(3)查询年龄在17~19岁之间的学生的姓名及年龄;(4)统计学生总人数;(5)查询信息系(IS)学生的姓名和性别;(6)查询所有姓“王”的学生的信息。2、子查询的使用:(1)查询与“李勇”在同一个系的学生(2)查询其他系中比CS系所有学生年龄都小的学生的姓名和年龄。3、连接查询的使用:(1)查询选修了3号课程且成绩在85分以上的学生的学号、姓名。(2)查询所有学生的选课情况。4、GROUPBY、ORDERBY和LIMIT子句的使用:(1)查找student中男生和女生的人数;(2)查找选修了2号课程的学生的学号及其成绩,查询结果按成绩降序排列;(3)返回student表中的前3为同学的信息。三、实验环境硬件:PC机软件:Windows操作系统、MySQLServer6.0和NavicatforMySQL9.0cj13四、算法描述及实验步骤1、select语句的基本使用:(1)查询student表中每个学生的所有数据:SELECT*FROMstudent(2)查询年龄在17~19岁之间的学生的姓名及年龄:SELECTSname,SageFROMstudentWHERESageBETWEEN17AND19(3)统计学生总人数:SELECTCOUNT(*)FROMstudent(4)查询信息系(MA)学生的姓名和性别:SELECTSname,SsexFROMstudentWHERESdeptIN('MA')(5)查询所有姓“王”的学生的信息。SELECT*FROMstudentWHERESnameLIKE'王%'2、子查询的使用:(1)查询与“李勇”在同一个系的学生的姓名和所在系:SELECTSname,SdeptFROMstudentWHERESdeptIN(SELECTSdeptFROMstudentWHERESname='李勇')(2)查询其他系中比IS系所有学生年龄都小的学生的姓名和年龄。SELECTSname,SageFROMstudentWHERESageALL(SELECTSageFROMstudentWHERESdept='IS')3、连接查询的使用:(1)查询选修了3号课程且成绩在85分以上的学生的学号、姓名:SELECTSno,SnameFROMstudentWHERESnoINcj14(SELECTSnoFROMscWHERECno='3')(2)查询有选课的学生的基本情况。SELECTstudent.Sno,student.Sname,course.Cno,course.CnameFROMstudent,sc,courseWHEREstudent.Sno=sc.SnoANDsc.Cno=course.Cno4、GROUPBY、ORDERBY和LIMIT子句的使用:(1)查找student中男生和女生的人数:SELECTSsex,COUNT(Ssex)FROMstudentGROUPBYSsex(2)查找选修了2号课程的学生的学号及其成绩,查询结果按成绩降序排列:SEL
本文标题:数据库原理实验指导书(Mysql)
链接地址:https://www.777doc.com/doc-5728628 .html