作业3-点评.ppt

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
作业3-点评.ppt

作业3-点评 基本情况总结 题目:第三章1~5题 难:4.4,4.5,5.4,5.6,5.7,5.10 中:3,4.1,4.2,4.3,5.5,5.8,5.9,5.11 易:1,2,5.1,5.2,5.3, P.S. dbhw2的答案已经上传至FTP,请大家自行下载更正答案 概念性题目(第1,2题) 第1题 SQL语言5个特点 基本回答正确 第2题 SQL定义功能 包括CREATE ,ALTER和DROP 基本回答正确 第3题 考核要点 理解题设中隐含的完整性约束要求 考查DDL的运用 共同问题 没有声明主码、外码 缺少必要的check 非空属性没有not null约束 声明了主码后,多余地添加unique,not null约束等 不知道如何声明包含多个属性的主码 第3题(续) 例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) ); 声明primary key之后还有not null或unique 第4、5题 考核要点 理解题设的语义 SQL语句操作 共同问题 没有认真审题,所答非所问 如5.6题,题设要求工程名称,而很多同学回答的却是工程号 对谓词any,all,exists理解不够深刻 缺乏理论知识 没有从语义来分析 何时需要distinct? 4.1 求供应工程J1零件的供应商号码 需要distinct 参考答案: select distinct SNO from SPJ where JNO = ‘J1’ 在这里需要去重;因为指定一个工程,一个供应商可能提供多种零件 4.2 求供应工程J1零件P1的供应商号码 需要distinct吗? 参考答案: select SNO from SPJ where (JNO = J1and PNO = P1); 这里无需去重; 因为(SNO,JNO,PNO)是主码,确定了JNO和PNO,SNO只能是唯一的了 4.3 求供应工程J1零件为红色的供应商号码SNO 参考答案: select SPJ.SNO from SPJ , P where SPJ.JNO = J1‘ and P.PNO = SPJ.PNO and P.COLOR = 红; 4.4* 求没有使用天津供应商生产的红色零件的工程号 要包括没有使用任何零件的工程 不能从SPJ表里面找JNO,而是从J表中找 参考答案 select JNO from J where not exists (select * from S, P, SPJ where S.SNO=SPJ.SNO and S.CITY=天津 and SPJ.PNO=P.PNO and P.COLOR=红 and SPJ.JNO=J.JNO ) ; 如果没有使用任何零件,那么该条件不会被满足,嵌套的select不会得到结果,not exists返回true。 4.5* 求至少使用了供应商S1所供应的全部零件的工程号 查询解释为: 查询工程号为x的工程,对所有的零件y,只要S1供应商提供零件y,则工程x就使用了y。 形式化表示: 用P表示谓词“供应商S1提供了零件y” 用q表示谓词“工程x使用了零件y” 则上述查询为: (?y) p → q (?y)p →q ≡ ? ?y(p∧?q) 变换后语义: 不存在这样的零件y,供应商S1生产了y,而工程x没有使用。 4.5参考答案 select JNO from J where not exists ( select * from P where PNO in ( select PNO from SPJ where SNO=S1) and not exists ( se

文档评论(0)

maritime5 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档