




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【强化训练1-1】
设学生一课程数据库中有3个关系。
学生关系:S(sno,sname,ssex,sage)
课程关系:C(cno,cname,teacher)
学习关系:SC(sno,eno,degree)
请写出完成如下查询所需的关系代数表达式。
(1)查询学习课程号为C3号课程的学生学号和成绩。
加sno,dcgrcc(OCno='C3,(SC))
(2)查询学习课程号为C4课程的学生学号和姓名。
ano.snamc(Ocno='C4,(S8SC))
(3)查询学习课程名为malhs的学生学号和姓名。
%no,sname(Gcname='niaih$,(S8SC8C))
(4)查询学习课程号为C1或C3课程的学生学号。
7Csno(Ocno='CI'Vcno='C3'(SC))
(5)查询不学习课程号为C2的学生的姓名和年龄。
Jtsnamc,sagc(S)-7Csnamc,sage(Ocno='C2'(ScoSC))
(6)查询学习全部课程的学生姓名。
加sname(SoO(Jt$o(SC)^7tcno(C)))
(7)杳询所学课程包括000101所学课程的学生学号。
7Csno/cno(SC)T7Tcno(Osno='0(»101'(SC))
【强化训练2-1】
将图2.8所示的E-R图,根据转换规则转换为关系模式。
系(王刍,电话号码)
教师(教师号,姓名,性别,职称,系名)
学生(变号,姓名,性别,年龄,系名)
课程(课程号,课程名)
选修(塑,课程号,成绩)
讲授(教师号,课程号)
【强化训练4-1】
利用SQL语句定义class表、department表、floor表、teacher表、teaching表的结构°
CREATETABLEclass
(classnochar(8)PRIMARYKEY,
classnamevarchar(20)z
specialityvarchar(60),
inyearyear,
classnumbcrtinyint,
headerchar(10)z
deptnochar(4),
classroomvarchar(16),
monitorchar(8)z
CONSTRAINTBlFOREIGNKEY(dcptno)REFERENCESdcpartmcnt(dcptno)
);
CREATETABLEdepartment
(deptnochar(4)PRIMARYKEY,
deptnamechar(14),
deptheaderchar(8)z
officechar(20)z
deptphonechar(20)DEFAULT'不详'
);
CREATETABLEfloor
(sfloorchar(10)NOTNULL,
sroomnochar(5)NOTNULL,
ssexchar(2),
maxntinyint,
CONSTRAINTB2PRIMARYKEY(sfloorzsroomno)
);
CREATETABLEteacher
(tnochar(4)PRIMARYKEY,
tnamcchar(lO),
tsexchar(2)DEFAULT
ttitlechar(10)z
tbirthdaydate,
deptnochar(4),
CONSTRAINTB3FOREIGNKEY(deptno)REFERENCESdepartment(deptno)
);
CREATETABLEteaching
(tnochar(4)NOTNULL,
enochar(3)NOTNULL,
ctermtinyintNOTNULL,
CONSTRAINTB4PRIMARYKEY(tno,cno,clerm),
CONSTRAINTB5FOREIGNKEY(tno)REFERENCESteacher(tno),
CONSTRAINTB6FOREIGNKEY(cno)REFERENCEScourse(cno>,
CONSTRAINTB7FOREIGNKEY(cterm)REFERENCEScouse(ctcrm)
);
【强化训练5-1]
(1)查询有考试成绩的课程号。
SELECTDISTINCTeno
FROMsc
WHEREdegreeISNOTNULL;
(2)查询数学系的男生信息。
SELECT*
FROMstudent
WHEREsdept='数学系,andssex二勇;
(3)查询计算机工程系和数学系学生的姓名、性别和出生日期,显示列名分别为“姓名”
“性别”和“出生日期
SELECTsnameAS'姓名',ssexAS性别',sbirthdayASH生日期‘
FROMstudent
WHEREsdept='计算机工程系ORsdept=,数学系,;
(4)查询所有姓李的学生的个人信息。
SELECT*
FROMstudent
WHEREsnameLIKE,李%)
(5)查询考试成绩在90分以上,或成绩不及格(低于60分)的学生学号和成绩。
SELECTsno,degree
FROMsc
WHEREdegree>90ORdegree<60;
【强化训练5-2]
(I)统计每个学生的平均成绩。
SELECTsnozavg(degree)
FROMsc
GROUPBYsno;
(2)统计每门课的平均成绩。
SELECTcnozavg(degree)
FROMsc
GROUPBYeno;
(3)统计各系每门课的总成绩和平均成绩。
SELECTsdeptzcno/sum(degrec)/avg(degree)
FROMstudenta,scb
WHEREa.sno=b.sno
GROUPBYsdept,cno;
(4)查询每门课程的最高成绩和最低成绩。
SELECTcnozmax(degree)zmin(degree)
FROMsc
GROUPBYeno;
(5)统计不及格人数超过20人的课程号,并按不及格人数降序排序。
SELECTeno
FROMsc
WHEREdegree<60
GROUPBYeno
HAVINGcount(*)>20
ORDERBYcount(*)DESC;
【强化训练7-1]
请思考,如何在命令行工具中实现例7.17?
mysql>USEgradem;
mysql>DELIMITER//
mysqI>CREATEPROCEDUREproc_stud()
->READSSQLDATA
->BEGIN
->SELECTsno,sname,classno,saddressFROMstudent
->WHEREsaddressLIKE%青岛%'ORDERBYsno;
->END//
QueryOK,0rowsaffected
mysql>DELIMITER;
【强化训练7-2】
在gradem数据库中定义一个触发器trig_snoupdale,当sludent表中的学生学号变更时,
同时更新sc表中相应的学生学号信息。
mysql>USEgradem;
mysql>DELIMITER&&
inysql>CREATETRIGGERtrig_snoupdate
->AFTERUPDATEONstudentFOREACHROW
->BEGIN
->IFnew.sno!=old.snoTHEN
->UPDATEscSETsno=new.snoWHEREsno=old.sno;
->ENDIF;
->END&&
QueryOK,0rowsaffected
mysql>DELIMITER;
【强化训练8・1】
(1)使用GRANT语句将gradem数据库中student表的DELETE权限授予用户
kenlo
mysql>GRANTDELETEongradem.studentTO'kenr@'localhost';
QueryOK,0rowsaffected
(2)使用GRANT语句将gradem数据库中sc表的degree列的UPDATE权限授予
用户palolo
mysql>GRANTupdate(degree)ongradem.seto*palo1'©localhost';
QueryOK,0rowsaffected
【强化训练8-2]
使用SELECT...INTOOUTFILE命令将gradem数据库中的course表中的记录导出到文
本文件,使用FIELDS选项和LINES选项,要求字段之间使用逗号。,”间隔,所有字段值
用双引号引起来,定义转义字符为单引号“V”。
USEgradem;
SELECT*FROMcourseINTOOUTFILE"D:/BAK/cou^se.txt,,
FIELDS
TERMINATEDBY1;
ENCLOSEDBYV
ESCAPEDBY'\"
LINES
TERMINATEDBY'\r\n';
【强化训练8-3]
使用LOADDATAINFILE命令将d:\bak\sc.txt文件中的数据导入gradem数据库的sc
表中,使用FIELDS选项和LINES选项,要求字段之间使用逗号“,”间隔,所有字段值用
双引号引起来,定义转义字符为单引号,
mysql>USEgradem;
databasechanged;
mysql>deletefromsc;
mysql>LOADDATAINFILE"d:/bak/sc.txt"INTOTABLEgradem.sc
FIELDS
TERMINATEDBY';
ENCLOSEDBYT
ESCAPEDBYV
LINF.S
TERMINATEDBYV\n,;
【强化训练8-4]
使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度休闲餐饮店员工劳动聘请服务协议
- 2025年度足浴店品牌授权及连锁经营权转让协议
- 二零二五年度黄金抵押贷款还款计划合同
- 2025年度智慧医疗合伙开店合同
- 二零二五年度商场场地租赁与物业租赁服务合同
- 二零二五年度教育行业委托担保服务协议
- 二零二五年度货车运输合伙人风险共担合作协议合同
- 2025年法人变更背景下的股权转让协议书
- 江西省水务集团有限公司2024年劳务派遣人员招聘【34人】笔试参考题库附带答案详解
- 2025西安数据资产经营有限责任公司招聘笔试参考题库附带答案详解
- 办公用品供货服务计划方案
- 《普通生物学教案》word版
- 贵州省就业失业登记表
- 预防电信诈骗网络诈骗讲座PPT幻灯片课件
- 反兴奋剂知识试题及答案
- 初中八年级上册音乐课件4.2欣赏沃尔塔瓦河(14张)ppt课件
- 人教版五年级数学下册每个单元教材分析(共九个单元)
- 深圳氢燃料共享单车项目投资计划书【参考范文】
- 主要肠内营养制剂成分比较
- 小学生如何理解句子的含义(课堂PPT)
- 实际控制关系账户申报表
评论
0/150
提交评论