数据库实验报告文档格式.docx
- 文档编号:19778211
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:21
- 大小:126.36KB
数据库实验报告文档格式.docx
《数据库实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《数据库实验报告文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
Cno
Cname
Cpno
Ccredit
1
数据库
5
4
2
数学
3
信息系统
操作系统
6
数据结构
7
数据处理
C语言
选修SC:
Grade
92
85
88
90
80
2.创建供应系统“GYXT”数据库,其中包括供应商表S、零件表P、工程项目表J和供应情况表SPJ四个数据表,各表中数据如下所示。
供应商S:
SNO
SNAME
CITY
S1
精益
天津
S2
万胜
北京
S3
东方
S4
丰泰隆
上海
S5
康健
南京
零件P:
PNO
PNAME
COLOR
WEIGHT
P1
螺母
红
12
P2
螺栓
绿
17
P3
螺丝刀
蓝
14
P4
P5
凸轮
40
P6
齿轮
30
工程项目J:
JNO
JNAME
J1
三建
J2
一汽
长春
J3
弹簧厂
J4
造船厂
J5
机车厂
唐山
J6
无线电厂
常州
J7
半导体厂
供应情况SPJ:
QTY
200
100
700
400
500
300
实验步骤:
1.创建教学管理“JXGL”数据库。
(注:
可采用可视窗体和SQL命令两种方法创建。
以下是SQL命令方法)
(1)创建教学管理“JXGL”数据库。
在命令窗格中输入如下命令,然后单击“运行”钮执行该命令。
CREATEDATABASEJXGL;
(2)清空命令窗格后,在JXGL数据库中建立STUDENT表,并插入记录,然后执行。
CREATETABLESTUDENT
(Snochar(5)notnullunique,
Snamechar(20)notnullunique,
Ssexchar
(1),
Sageint,
Sdeptchar(20));
INSERTINTOSTUDENTVALUES(‘95001’,’李勇’,’M’,20,’CS’);
INSERTINTOSTUDENTVALUES(‘95002’,’刘晨’,’F’,19,’IS’);
INSERTINTOSTUDENTVALUES(‘95003’,’王敏’,’F’,18,’MA’);
INSERTINTOSTUDENTVALUES(‘95004’,’张立’,’M’,18,’IS’);
(3)清空查询窗格后,JXGL数据库中建立COURSE表,并插入记录,然后执行。
CREATETABLECOURSE
(Cnochar
(2)notnullPRIMARYKEY(Cno),
Cnamechar(20),
Cpnochar
(2),
Ccreditsmallint);
INSERTINTOCOURSEVALUES(‘1’,’数据库’,’5’,4);
INSERTINTOCOURSEVALUES(‘2’,’数学’,’’,2);
INSERTINTOCOURSEVALUES(‘3’,’信息系统’,’1’,4);
INSERTINTOCOURSEVALUES(‘4’,’操作系统’,’6’,3);
INSERTINTOCOURSEVALUES(‘5’,’数据结构’,’7’,4);
INSERTINTOCOURSEVALUES(‘6’,’数据处理’,’’,2);
INSERTINTOCOURSEVALUES(‘7’,’C语言’,’6’,4);
(4)清空查询窗格后,JXGL数据库中建立SC表,并插入记录,然后执行。
CREATETABLESC
(Snochar(5)notnull,
Cnochar
(2)notnull,
Gradesmallint,
PRIMARYKEY(Sno,Cno),
FOREIGNKEY(Sno)REFERENCESSTUDENT(Sno),
FOREIGNKEY(Cno)REFERENCESCOURSE(Cno));
INSERTINTOSCVALUES(‘95001’,‘1’,92);
INSERTINTOSCVALUES(‘95001’,‘2’,85);
INSERTINTOSCVALUES(‘95001’,‘3’,88);
INSERTINTOSCVALUES(‘95002’,‘2’,90);
INSERTINTOSCVALUES(‘95002’,‘3’,80);
(5)查看三个表中的内容。
分别执行以下命令,查看STUDENT、COURSE和SC数据表中的内容。
SELECT*FROMSTUDENT;
SELECT*FROMCOURSE;
SELECT*FROMSC;
(6)ALTERTABLE、DROPTABLE、DROPDATABASE命令运用。
①向STUDENT表增加“入学时间”列,其数据类型为日期型,用SELECT命令查看表中内容。
ALTERTABLESTUDENTADDSCOMEDATETIME;
②删除“入学时间”列,再用SELECT命令查看表中内容。
ALTERTABLESTUDENTDROPCOLUMNSCOME;
③删除数据表。
DROPTABLESC;
DROPTABLESTUDENT;
DROPTABLECOURSE;
④删除数据库命令。
切换到其他任意数据库,然后可用如下命令删除JXGL数据库。
DROPDATABASEJXGL;
重复
(1)~(4)过程,建立数据库备以后的查询使用。
2.创建供应系统“GYXT”数据库。
)
下面写出实现如下操作的SQL语句:
(1)创建供应系统“GYXT”数据库。
CREATEDATABASEGYXT;
(2)建立供应商表S。
CREATETABLES
(SNOchar(6),
SNAMEchar(8),
SCITYchar(20));
INSERTINTOSVALUES('
S1'
'
精益'
天津'
);
S2'
万胜'
北京'
S3'
东方'
S4'
丰泰隆'
上海'
S5'
康健'
南京'
(3)建立零件表P。
CREATETABLEP
(PNOchar(6),
PNAMEchar(8),
COLORchar(8),
WEIGHTINT);
INSERTINTOPVALUES('
P1'
螺母'
红'
12'
P2'
螺栓'
绿'
17'
P3'
螺丝刀'
蓝'
14'
P4'
P5'
凸轮'
40'
P6'
齿轮'
30'
(4)建立工程项目表J。
CREATETABLEJ
(JNOCHAR(8),
JNAMECHAR(8),
CITYCHAR(20));
INSERTINTOJVALUES('
J1'
三建'
J2'
一汽'
长春'
J3'
弹簧厂'
J4'
造船厂'
J5'
机车厂'
唐山'
J6'
无线电厂'
常州'
J7'
半导体厂'
(5)建立供应情况表SPJ。
CREATETABLESPJ
(SNOCHAR(6),
PNOCHAR(6),
JNOCHAR(6),
QTYINT);
INSERTINTOSPJVALUES('
200'
100'
700'
400'
500'
300'
(6)应用INSERTINTO命令将相应数据写入到供应商表S、零件表P、工程项目表J和供应情况表SPJ四个数据表。
实验2简单查询和连接查询
1.熟练掌握SQLServer查询分析器的使用方法,加深对标准SQL查询语句的理解。
2.熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
1.基于实验一创建的教学管理JXGL数据库,实现数据的基本查询操作。
2.基于实验一创建的供应系统GYXT数据库,实现数据的基本查询操作。
写出下列操作的SQL语句。
1.在教学管理JXGL数据库中进行如下操作:
(1)求数学系学生的学号和姓名。
SELECTSno,Sname
FROMSTUDENT
WHERESdept='
MA'
(2)求选修了课程的学生学号。
SELECTDISTINCTSno
FROMSC
(3)求选修了数学课的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
SELECTSno,Grade
WHERE(Cno='
2'
ORDERBYGradeDESC,SnoASC
(4)求选修数学课其且成绩在80-90之间的学生学号和成绩,并将成绩乘以系数0.8输出。
SElECTSno,Grade*0.8As乘分后
WHEREGrade>
=80andGrade<
=90andCno='
(5)求数学系或计算机系姓刘的学生的信息。
SELECT*
WHERE(Sdept='
MS'
ORSdept='
IS'
)ANDSnameLIKE'
刘%'
(6)求缺少了成绩的学生的学号和课程号。
SELECTSno,Cno
WHEREGradeISNULL
(7)查询每个学生的情况以及他(她)所选修的课程。
SELECT*
FROMSTUDENT,SC
WHERESTUDENT.Sno=SC.Sno
8)求学生的学号、姓名、选修的课程名及成绩。
SELECTSTUDENT.Sno,Sname,Cname,Grade
FROMSTUDENT,SC,COURSE
WHERESTUDENT.Sno=SC.SnoandCOURSE.Cno=SC.Cno
(9)求选修数学课且成绩为90分以上的学生学号、姓名、及成绩。
SELECTSTUDENT.Sno,Sname,Grade
WHERESTUDENT.Sno=SC.SnoandCOURSE.Cno=SC.CnoandSC.Cno='
andGrade>
=90
(10)查询每一门课的间接先行课(即先行课的先行课)。
SELECTa.Cno,b.Cpno
FROMCOURSEa,COURSEb
WHEREa.Cpno=b.Cno
2.在供应系统GYXT数据库中进行如下操作:
(1)求供应工程J1零件的供应商号SNO。
SELECTDISTINCTSNO
FROMSPJ
WHEREJNO='
(2)求供应工程J1零件P1的供应商号SNO。
SELECTSNO
ANDPNO='
(3)统计每种零件的供应总量。
SELECTJNO,SUM(QTY)AS每种零件的供应总量
GROUPBYJNO
实验3嵌套查询和集合查询
2.熟练掌握数据查询中的嵌套、分组、统计、计算和组合的操作方法。
1.基于实验一创建的教学管理JXGL数据库,实现数据的高级查询操作。
(1)求选修了数学的学生的学号和姓名。
WHERESnoIN(SELECTSnoFROMSCWHERECnoIN(SELECTCnoFROMCOURSEWHERECname='
数学'
))
(2)求数学课程成绩高于李勇的学生学号和成绩。
SELECTSTUDENT.Sno,Grade
FROMSTUDENT,SC,COURSE
WHERECOURSE.Cno=SC.CnoANDSC.Sno=STUDENT.SnoANDCOURSE.Cname='
ANDSC.Grade>
(SELECTGrade
FROMSTUDENT,SC,COURSE
WHERECOURSE.Cno=SC.CnoANDSC.Sno=STUDENT.SnoANDCOURSE.Cname='
ANDSTUDENT.Sname='
李勇'
(3)求其他系中年龄小于计算机系年龄最大者的学生。
FROMSTUDENT
WHERESage>
ALL(SELECTSageFROMSTUDENTWHERESdept='
CS'
ANDSdept<
>
'
(4)求其他系中比计算机系学生年龄都小的学生。
WHERESage<
ANY(SELECTSageFROMSTUDENTWHERESDEPT='
)
ANDSDEPT<
(5)求选修了数学课的学生姓名。
SELECTSname
WHEREEXISTS(SELECT*
FROMSCWHERESTUDENT.Sno=SC.SnoANDCno='
(6)求没有选修数学课的学生姓名。
WHERE(NOTEXISTS(SELECT*FROMSCWHERESTUDENT.Sno=SC.SnoANDCno='
))
(7)查询选修了全部课程的学生的姓名。
SELECTSname
WHERENOTEXISTS
(SELECT*FROMCOURSEWHERENOTEXISTS
(SELECT*FROMSCWHERESTUDENT.Sno=SC.SnoANDCOURSE.Cno=SC.Cno))
(8)求至少选修了学号为“95002”的学生所选修的全部课程的学生学号和姓名。
SELECTSno,Sname
WHERE(EXISTS
(SELECT*
FROMSC
WHERESno=STUDENT.SnoANDCnoIN
(SELECTCno
FROMSC
WHERESno='
95002'
)))
(9)求选修各门课的人数及平均成绩。
SELECTCOUNT(*)AS人数,AVG(Grade)AS平均成绩
GROUPBYCno
(10)求选修课程在2门以上且都及格的学生号及总平均分。
SELECTSno,AVG(GRADE)AS总平均分
GROUPBYSno
HAVINGCOUNT(Cno)>
=2ANDMIN(GRADE)>
=60
(11)求95级学生中选修课程在2门以上且都及格的学生号及总平均分,并按平均成绩排序。
SELECTSno,AVG(Grade)AS总平均分
FromSC
WHEREEXISTS
(SELECT*
FROMSTUDENT
WHERENOTEXISTS
FROMSC
WHERESno=STUDENT.SnoANDCno<
60))
HAVING(COUNT(*)>
=2)
(12)统计每个人及格的成绩的平均值,及格的门数,结果按平均成绩降序,及格门数降序排列。
SELECTSno,COUNT(*)AS及格门数,AVG(Grade)AS平均成绩
FROMSC
=60
GROUPBYSno
ORDERBY平均成绩DESC,及格门数DESC
(13)统计所有课程均及格学生的平均成绩,及格的门数,结果按平均成绩降序,及格门数降序排列。
WHEREEXISTS
WHERENOTEXISTS
WHERESno=STUDENT.SnoANDCno<
(1)求供应工程J1红色零件的供应商号SNO。
SELECTSNO
FROMSPJ
WHEREPNOIN
(SELECTPNO
FROMP
WHERECOLOR='
)ANDJNO='
(2)求零件供应总量在1000种以上的供应商名字。
SELECTSNAME
FROMS
WHERESNOIN
(SELECTSNO
FROMSPJ
GROUP
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)