数据库原理及课程设计实验报告册期末提交 2.docx

上传人:b****3 文档编号:5060075 上传时间:2023-05-08 格式:DOCX 页数:32 大小:1.21MB
下载 相关 举报
数据库原理及课程设计实验报告册期末提交 2.docx_第1页
第1页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第2页
第2页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第3页
第3页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第4页
第4页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第5页
第5页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第6页
第6页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第7页
第7页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第8页
第8页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第9页
第9页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第10页
第10页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第11页
第11页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第12页
第12页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第13页
第13页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第14页
第14页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第15页
第15页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第16页
第16页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第17页
第17页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第18页
第18页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第19页
第19页 / 共32页
数据库原理及课程设计实验报告册期末提交 2.docx_第20页
第20页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

数据库原理及课程设计实验报告册期末提交 2.docx

《数据库原理及课程设计实验报告册期末提交 2.docx》由会员分享,可在线阅读,更多相关《数据库原理及课程设计实验报告册期末提交 2.docx(32页珍藏版)》请在冰点文库上搜索。

数据库原理及课程设计实验报告册期末提交 2.docx

数据库原理及课程设计实验报告册期末提交2

审定成绩:

学生实验实习报告册

 

学年学期:

2020-2021学年(春)学期

课程名称:

数据库原理及课程设计

学生学院:

软件工程学院

专业班级:

物联网

学生学号:

学生姓名:

联系电话:

 

二O二O年十二月

教师评阅记录表

【重要说明】

●学生提交报告册最终版时,必须包含此页,否则不予成绩评定。

●本报告册模板内容格式除确实因为填写内容改变了布局外,不得变更其余部分的格式,否则不予成绩评定。

报告是否符合考核规范

☑符合□不符合

报告格式是否符合标准

☑符合□不符合

报告是否完成要求内容

☑是□否

报告评语:

报告成绩:

评阅人签名(签章)

2020年月日

●教师评阅记录表

●实验实习日志

实验实习日志1

分项名称

表的创建和操作

指导教师

课程名称

数据库原理及课程设计

课程编号

20610508

实验实习地点

完成日期

学生姓名

学生学号

学院专业

软件工程学院物联网专业

所在班级

19物联网工程

一、实验实习目的及要求

熟练掌握使用Navicat和Transact-SQL语言两种方法创建、修改和删除表。

掌握管理表的有关系统存储过程。

二、实验实习设备(环境)及要求(软硬件条件)

电脑和NavicatforMySQL软件

三、实验实习过程和结果分析(源代码、步骤截图等)

1、利用Navicat创建满足以下要求的数据库:

①数据库存在于连接MySQL中;②数据库名称为xsgl;③字符集选择utf8--UTF-8Unicode;排序规则选择utf8_general_ci。

2、在数据库xsgl中,利用Navicat创建以下表格:

1)表格名为xs(学生基本情况表);

2)表格中各个属性的定义如下:

列名

含义

数据类型

长度

能否取空值

备注

xh

学号

int

no

主码

xm

姓名

char

8

yes

xb

性别

char

2

yes

nl

年龄

tinyint

yes

zy

专业

char

16

yes

jtzz

家庭住址

char

50

yes

具体步骤如下:

打开新建的数据库“xsgl”–右键点击“表”--“新建表”。

按照上表内容输入个属性的定义,填写“列名”、“数据类型”,并取消或选择“允许NULL值”前的选项,并右键点击“xh”,选择将其设为主键,如图2.1所示:

图2.1

点击“保存”,输入表名:

xs。

结果如图2.2所示:

图2.2

3、按照以下步骤向表格xs中添加如下记录:

xh

(学号)

xm

(姓名)

xb

(性别)

nl

(年龄)

zy

(专业)

jtzz

(家庭住址)

200809412

庄小燕

24

计算机

上海市中山北路12号

200809415

洪波

25

计算机

青岛市解放路105号

200109102

肖辉

23

计算机

杭州市凤起路111号

200109103

柳嫣红

22

计算机

上海市邯郸路1066号

200307121

张正正

20

应用数学

上海市延安路123号

200307122

李丽

21

应用数学

杭州市解放路56号

1)打开Navicat;

2)打开连接MySQL找到数据库xsgl中的表格xs;

3)在表格xs上右击鼠标,选择“打开表”;

4)在接着出现的记录录入界面上添加记录。

(方向键下增加新纪录)

添加完后如图3.1所示:

图3.1

4、向表xs中增加“入学时间”属性列,其列名为rxsj,数据类型为datetime型。

步骤:

右键单击xs表—设计表—加入列rxsj,设置数据类型为datetime。

如图4.1所示:

图4.1

5、将表xs中nl(年龄)列的数据类型改为int型。

步骤:

与第4项类似

6、在数据库xsgl中,利用Transact-SQL语言创建以下表格:

1)表格名为kc(课程情况表);

2)表格中各个属性的定义如下:

列名

含义

数据类型

长度

能否取空值

备注

kch

课程号

char

4

no

主码

kcm

课程名

char

20

yes

xss

学时数

int

yes

xf

学分

int

yes

步骤:

点击“新建查询”,输入以下代码,点击运行

USExsgl;

createtablekc

kchchar(4)notnull,

kcmchar(20)null,

xssintnull,

xfintnull,

primarykey(kch)

)engine=innodbdefaultcharset=utf8auto_increment=1;

命令成功完成后,在“xggl”数据库中右键点击“表”,选择“刷新”,

7、利用Transact-SQL语言修改kc表。

①增加“成绩”一列cj,int型,允许为空值,默认为0。

步骤:

点击“新建查询”,输入以下代码,点击运行

ALTERTABLEkcADDCOLUMNcjINTDEFAULT0;

②修改cj列的类型为char。

步骤:

点击“新建查询”,输入以下代码,点击运行

ALTERTABLEkcCHANGECOLUMNcjcjCHAR(4);

③修改cj列的列名为mark。

步骤:

点击“新建查询”,输入以下代码,点击运行

ALTERTABLEkcCHANGEcjmarkCHAR(4)DEFAULT0;

④删除mark列。

步骤:

点击“新建查询”,输入以下代码,点击运行

ALTERTABLEkcDROPCOLUMNmark;

7、利用Navicat和Transact-SQL语言两种方式删除表kc。

①步骤:

右键点击表“kc”,选择删除。

②步骤:

点击“新建查询”,输入以下代码,点击执行

DROPTABLEkc

8、利用Transact-SQL将表xs重命名为Students。

步骤:

点击“新建查询”,输入以下代码,点击执行

RENAMETABLExsgl.xsTOxsgl.Students;

四、实验遇到问题及解决办法(有就写,没有就不写)

五、实验心得

进一步熟悉了Navicat和Transact-SQL语言两种方法创建、修改和删除表。

了解学习了管理表的有关系统存储过程。

实验实习日志2

分项名称

表格数据的基本查询操作

指导教师

彭泽玉

课程名称

数据库原理及课程设计

课程编号

20610508

实验实习地点

1403

完成日期

10.10

学生姓名

肖洋

学生学号

2019116034

学院专业

软件工程学院物联网专业

所在班级

19物联网工程

一、实验实习目的及要求

掌握SELECT语句的基本用法。

掌握计算列的用法。

掌握WHERE子句中各类查询条件的写法。

二、实验实习设备(环境)及要求(软硬件条件)

电脑和NavicatforMySQL软件

三、实验实习过程和结果分析(源代码、步骤截图等)

图3.1

图5.1

图6.1

四、实验遇到问题及解决办法(有就写,没有就不写)

 

五、实验心得

学习了新的控制语句,掌握SELECT语句的基本用法。

掌握计算列的用法。

掌握WHERE子句中各类查询条件的写法。

 

实验实习日志3

分项名称

表格数据的编辑和维护

指导教师

彭泽玉

课程名称

数据库原理及课程设计

课程编号

20610508

实验实习地点

1403

完成日期

10.14

学生姓名

田恩

学生学号

2019116028

学院专业

软件工程学院物联网专业

所在班级

19物联网工程

一、实验实习目的及要求

熟练掌握使用Transact-SQL语言和通过Navicat输入表数据、修改表数据和删除表数据的操作。

二、实验实习设备(环境)及要求(软硬件条件)

电脑和NavicatforMySQL软件

三、实验实习过程和结果分析(源代码、步骤截图等)

1、在数据库world中建立一个名为newlanguage的表,其结构与表countrylanguage完全一样(注意各字段的默认值、字符集、排序方式等;enum型要添加枚举值否则报错),如图1.1:

图1.1

2、在表newlanguage中插入中国的客家话,其名称为CountryCode为CHN,language为Kejia,isOfficial为F,percentage为0.3。

USEworld;

INSERTINTOnewlanguage

VALUES('CHN','Kejia','F',0.3);

4、试将表countrylanguage中的所有记录插入到表newlanguage中去,其SQL命令为:

USEworld;

INSERTINTOnewlanguage

SELECT*

FROMcountrylanguage;

5、将表newlanguage中Language为“Kejia”的语言的Percentage改为0.4

UPDATEnewlanguage

SETPercentage=0.4

WHERELanguage='Kejia';

6、将表newlanguage中语言的Percentage均减去0.1。

USEworld;

UPDATEnewlanguage

SETPercentage=Percentage-0.1;

7、删除表newlanguage中澳大利亚(CountrCode为“AUS”)的英语记录。

USEworld;

DELETEFROMnewlanguage

WHERECountryCode='AUS'

ANDLanguage='English';

8、清空表newlanguage中的所有数据。

USEworld;

TRUNCATETABLEnewlanguage;

三、练习题

以下题目在数据库world中完成。

1、通过Navicat,在country、countrylanguage、和city三个表中各输入10条记录。

2、将一条新的城市记录(Name:

Beijing,Country:

AFG,District:

Beijing,Population:

21148000)插入表city中。

USEworld;

INSERTINTOcity

VALUES('Beijing','AFG','Beijing',21148000);

3、插入一条语言记录(“CHN”,“Minnan”,“F”,0.5)到表countrylanguage。

USEworld;

INSERTINTOcountrylanguage

VALUES('CHN','Minnan','F',0.5);

4、删除CountryCode为“ABW”的语言记录。

四、实验遇到问题及解决办法(有就写,没有就不写)

 

五、实验心得

学习到了更多的语法,发现语句都是灵活的,机动性很强。

使用了Transact-SQL语言和通过Navicat输入表数据、修改表数据和删除表数据的操作。

实验实习日志4

分项名称

安装并熟悉navcatmysql

指导教师

彭泽玉

课程名称

数据库原理及课程设计

课程编号

20610508

实验实习地点

1403

完成日期

2020.11.30

学生姓名

肖洋

学生学号

2019116034

学院专业

软件工程学院

所在班级

物联网

一、实验实习目的及要求

熟练掌握使用Transact-SQL语言和通过Navicat输入表数据、修改表数据和删除表数据的操作

二、实验实习设备(环境)及要求(软硬件条件)

设备:

电脑

要求:

温馨的实验以及良好的软硬件设施

三、实验实习过程和结果分析(源代码、步骤截图等)

(一)、集合查询

用UNION并操作实现集合查询,查询计算机科学系的学生详细信息及年龄不大于19岁的学生详细信息。

SELECT*

FROMstudent

WHERESdept='cs'

UNION

SELECT*

FROMstudent

WHERESage<=19;

(二)、嵌套查询

1.带有IN谓词的子查询

(1)用带有IN谓词的子查询,查询与“刘晨”在同一个系学习的学生信息,要求查出学号,姓名,所在系。

SELECTsno,sname,Sdept

FROMstudent

WHERESdeptin

SELECTSdept

FROMstudent

WHERESname='刘晨'

);

(2)用带有IN谓词的子查询,查询所有选修了1号课程的学生姓名。

SELECTsname

FROMstudent

WHEREsnoin

(SELECTsno

FROMsc

WHEREcno='1')

(3)用带有IN谓词的子查询,查询选修了课程名为“信息系统”的学生学号和姓名。

SELECTsno,sname

FROMstudent

WHEREsnoin(SELECTSno

FROMsc

WHEREcno=3);

2.带有比较运算符的子查询

(1)用带有比较运算符的子查询,查询与“刘晨”同岁的学生,要求查出学号,姓名,年龄。

SELECTsno,sname,sage

FROMstudent

WHERESage=(

SELECTSage

FROMstudent

WHERESname='刘晨');

(2)用带有比较运算符的子查询,查询成绩高于200215122这个同学平均成绩的学生选课记录,要求查出学号,课程号,成绩。

SELECTsno,cno,grade

FROMsc

WHEREGrade>(SELECTAVG(Grade)

FROMsc

WHERESno='200215122');

(3)用带有比较运算符的子查询,找出每个学生超过他选修课程平均成绩的课程号,要求结果中显示学号和对应课程号。

SELECTsno,cno

FROMscy

WHEREGrade>(SELECTAVG(Grade)

FROMscx

WHEREy.Sno=x.sno);

3.带有ANY或ALL谓词的子查询

(1)用带有ANY或ALL谓词的子查询,查询比CS系某一学生年龄小的学生姓名和年龄。

SELECTsname,Sage

FROMstudent

WHERESage

FROMstudent

WHERESdept='cs')

(2)用带有ANY或ALL谓词的子查询,查询其他系中比CS系所有学生年龄小的学生姓名和年龄。

SELECTsname,sage

FROMstudent

WHERESage

FROMstudent

WHERESdept='cs')

ANDSdept<>'cs';

4.带有EXISTS谓词的子查询

(1)用带有EXISTS谓词的子查询,查询没有选修1号课程的学生姓名。

SELECTsname

FROMstudent

WHERENOTEXISTS(SELECT*

FROMsc

WHEREcno=1ANDstudent.Sno=sc.Sno);

(2)用带有EXISTS谓词的子查询,查询与“刘晨”在同一个系学习的学生,要求查出学号,姓名,所在系。

SELECTsno,sname,sdept

FROMstudents1

WHEREEXISTS(SELECT*

FROMstudents2

WHEREs1.Sdept=s2.SdeptANDs2.sname='刘晨');

 

四、实验遇到问题及解决办法(有就写,没有就不写)

 

五、实验心得

熟练掌握使用Transact-SQL语言和通过Navicat输入表数据、修改表数据和删除表数据的操作

 

实验实习日志

分项名称

连接查询

指导教师

彭泽玉

课程名称

数据库原理及课程设计

课程编号

20610508

实验实习地点

1403

完成日期

2020.11.22

学生姓名

肖洋

学生学号

2019116034

学院专业

软件工程学院物联网专业

所在班级

物联网

一、实验实习目的及要求

熟悉连接查询的使用,连接查询是关系数据库中最主要的查询,包括非等值连接查询、等值连接查询、自然连接查询、外连接查询、自身连接查询、复合条件连接查询等。

二、实验实习设备(环境)及要求(软硬件条件)

电脑和NavicatforMySQL软件

三、实验实习过程和结果分析(源代码、步骤截图等)

(一)、在连接“MySQL”中新建数据库“stuinfo”,并将数据库文件stuinfo.sql导入到该数据库之中。

(二)、完成如下查询

1.查询每个学生的学号,姓名,所在系,选修的课程号和成绩

SELECTsc.Sno,Sname,Sdept,Cno,Grade

FROMstudent,sc

WHEREstudent.Sno=sc.Sno;

2.查询数学系(MA)学生的学号,姓名,所在系,选修的课程号和成绩(在第一题的基础上增加限定条件)

SELECTsc.Sno,Sname,Sdept,Cno,Grade

FROMstudent,sc

WHEREstudent.Sno=sc.SnoANDSdept='MA';

3.查询数学系(MA)学生的学号,姓名,所在系,选修的课程号,课程名和成绩(比第二题多查一个属性列‘课程名’,则多涉及一张表,应增加一个连接条件)

SELECTsc.Sno,Sname,Sdept,sc.Cno,Cname,Grade

FROMstudent,sc,course

WHEREstudent.Sno=sc.SnoANDsc.Cno=course.CnoANDSdept='MA';

4.查询选修了2号课程的所有学生的姓名,性别,所在系

SELECTSname,Ssex,Sdept

FROMstudent,sc

WHEREstudent.Sno=sc.SnoANDCno=2;

5.查询选修了2号课程且成绩在80分以上的所有学生的姓名,性别,所在系及成绩

SELECTSname,Ssex,Sdept,Grade

FROMstudent,sc

WHEREstudent.Sno=sc.SnoANDCno=2ANDGrade>80;

6.查询每一门课的间接先修课的课程号(即先修课的先修课)

SELECTFIRST.cno,SECOND.cpno

FROMcourseFIRST,courseSECOND

WHEREFIRST.cpno=SECOND.cno;

7.查询至少选修一门课程的女学生的姓名(使用groupby和having子句)

参考:

selectstudent.sname

fromstudent,sc

wherestudent.sno=sc.snoandstudent.ssex='女'

groupbystudent.sno

havingcount(*)>=1;

8.查询选修了信息系统课程的学生平均成绩

参考:

selectavg(grade)

fromsc,course

whereo=oandcname='信息系统';

四、实验遇到问题及解决办法(有就写,没有就不写)

 

五、实验心得

熟悉非等值连接查询、等值连接查询、自然连接查询、外连接查询、自身连接查询、复合条件连接查询等的使用。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2