某数据库中有关系: 供应商(供应商号,供应商名,地址) 零件(零件号,零件名,重量) 项目(项目编号,项目名称,开工日期) 供应(供应商号,项目编号,零件号,零件数) 其中一个供应商能提供多种零件和多个项目,一种零件能供给不同的项目和供应商,一个项目可以有不同的供应商和使用不同种类的零件。
问答题
①根据要求画出ER图;
【正确答案】正确答案:
.jpg)
【答案解析】
问答题
②用SQL创建关系供应表。
【正确答案】正确答案:②CREATE TABLE供应 (供应商号VARCHAR(10) , 项目编号VARCHAR(10) , 零件号VARCHAR(10) , 零件数工NT, PRIMARY KEY(供应商号,项目号,零件号), FOREIGN KEY<供应商号)REFERENCE供应商(供应商号), FOREIGN KEY(项目编号)REFERENCE项目(项目编号), FOREIGN KEY
【答案解析】解析:由题目已知得到,一个供应商能提供多种零件和多个项目,一种零件能供给不同的项目和供应商,一个项目可以有不同的供应商和使用不同种类的零件,即表示供应商和零件以及项目都是多对多的关系,供应关系中的属性为它们之间三个的主键的综合加上自身属性而得到。 对于教学数据库的三个基本表: S(SNo,SName,SAge,Ssex) SC(Sno,CNo,Grade) C(CNo,CName,Teacher) 使用SQL更新语句表达对下列的更新操作:
问答题
①把WANG同学的学习选课和成绩全部删去;
【正确答案】正确答案:①DELETE FROM SC WHERE Sno IN(SELECT Sno FROM S WHERE Sname='WANG');
【答案解析】
问答题
②把选修Maths课及格的成绩全改为空值;
【正确答案】正确答案:②UPDATE SC SET Grade=NULL WHERE Grade<60 AND CNo IN(SELECT Cgo FROM C WHERE Cname='Maths')
【答案解析】
问答题
③把低于总平均成绩的女同学成绩提高5%。
【正确答案】正确答案:③UPDATE SC SET Grade=Grade*1.05 WHERE Sno IN(SELECT Sno FROM S WHERE Ssex='F') AND Grade<(SELECT AVG(Grade) FROM SC);
【答案解析】解析:考查对表的删除、修改的操作以及对聚集函数的合理使用。