第3章SQL_作业讲评 (2).pptVIP

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
作业3-讲评 数据库课程作业 第1-2题 考核点: 基本概念 了解SQL语言的特点及其功能 问题: 基本都能答对 第3题 考核点: 用SQL语句建立表 回答要点: 对于相同属性的定义要一致,如S表中的sno和SPJ表中的sno定义要一致。 问题: 基本没有问题 第3题-DDL 考核要点 理解题设中隐含的完整性约束要求 考查DDL的运用 共同问题 没有声明主码 没有声明外码 缺少必要的check 非空属性,没有not null约束 声明了主码后,多余地添加unique,not null约束等 不知道如何声明包含多个属性的主码 第3题-DDL(续) 例1 create table P ( PNO char(5) primary key, PNAME char(10) not null, COLOR char(10), WEIGHT int check(weight 0 ) ) 例2 create table SPJ ( SNO char(5) not null references S(SNO) , PNO char(5) not null references P(PNO), JNO char(5) not null references J(JNO), QTY int check(QTY 0) primary key (SNO,PNO,JNO) ); 第4题 考核点: 将关系代数语言完成的查询转换成SQL语句。 共同问题: 书写SQL语句不规范,在第5题中也是这样,比如少了‘,’或者少了AND等等。 第4题(续) 答题要点: (1)(2)(3)问题不大,很容易将关系代数对应到SQL语句,个别同学没有区分“=”和“in”。 (4)(5)主要考察对exists的使用,可以用连接或者嵌套子查询来完成。重点要从逻辑上分析语义来写出SQL查询。 第4题-select from where 共同问题: 语法错误――说明上机实践少 没有认真审题,所答非所问 如5.6题,题设要求工程名称,而很多同学回答的却是工程号 设计SQL时没有考虑效率问题 只求可以运行正确 对谓词any,all,exists理解不够深刻 缺乏理论知识 没有从语义来分析 何时需要distinct? 典型语法错误 错误1: select * from p where pno = (select pno from spj where sno = s1 ) 错误2: Exit, 4.1 求供应工程J1零件的供应商号码 需要distinct ? 参考答案: select distinct SNO from SPJ where JNO = J1’ 4.2 求供应工程J1零件P1的供应商号码 需要distinct吗? 参考答案: select SNO from SPJ where (JNO = J1‘ and PNO = P1); 4.3 求供应工程J1零件为红色的供应商号码SNO select SPJ.SNO from SPJ , P where (SPJ.JNO = J1‘ and P.PNO = SPJ.PNO and P.COLOR = 红) 4.3另 求供应工程J1零件为红色的供应商号码SNO SELECT SNO FROM SPJ WHERE JNO=‘J1’ AND PNO IN --找红色零件的零件号码pno (SELECT PNO FROM P --从P表中找 WHERE COLOR=‘红’) 第4题(续) 求没有使用天津供应商生产的红色零件的工程号JNO 关系代数: ∏JNO(J)-∏JNO(∏SNO( CITY = “天津”)(S)) ∞∏SNO,PNO,JNO(SPJ) ∞ ∏PNO( COLOR=“红”)(P))) ∏JNO(J)是全部工程的工程号 减去的部分表示使用了天津供应商生产的红色零件的所有工程号。 求没有使用天津供应商生产的红色零件的工程号 没有使用任何零件的工程是不是? select distinct JNO from SPJ where PNO NOT IN (select PNO from S ,P,SPJ where S.CITY =天津’ AND S.SNO = SPJ.SNO AND P.COLOR =’红’ AND P.PNO = SPJ.PNO ) 第4题(续) 第4题(续) 求至少用了供应商S1所供应的全部零件的工程号JNO 考察:除关系 关系代数: ∏JNO,PNO(SPJ)

文档评论(0)

allap + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档