第02章 关系模型与关系代数.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关系代数查询综合举例 给定一个查询需求,构造其关系代数表达式的步骤 明确该查询涉及到哪些属性; 明确该查询涉及到哪些关系; 根据数据库模式导航图,通过多对一联系(或一对多联系)把所有涉及的关系连接起来,每一个多对一联系(或一对多联系)都可以表示为外码属性的自然连接。 * 关系代数查询综合举例 例如,ScoreDB数据库中,查找“蒙古族”学生所修各门课程的情况,要求输出学生姓名、课程名和成绩。 分析: 该查询共涉及4个属性,分别是民族nation、姓名studentName、课程名courseName和成绩score,其中,nation属性用于选择条件notion=‘蒙古族’。 共涉及3个关系,分别是学生关系Student、课程关系Course和成绩关系Score。 成绩关系Score通过外码studentNo、courseNo分别与学生关系Student、课程关系Course建立多对一的联系 。 ∏studentName, courseName, score(σnation=蒙古族((Student ? Score) ? Course)) * 关系代数查询综合举例 例如,ScoreDB数据库中,查找2007级的“南昌”籍同学修读 了哪些课程,要求输出学生姓名、课程名。 分析: 该查询共涉及4个属性,分别是年级grade、籍贯native、姓名studentName和课程名courseName,其中年级grade和籍贯native用于选择条件。 共涉及3个关系,分别是班级关系Class、学生关系Student和课程关系Course。 学生关系Student与班级关系Class之间是多对一联系 ;学生关系Student和课程关系Course之间是多对多联系,并借助成绩关系Score才能建立。因此,该查询还需涉及Score关系。 ∏studentName, courseName(((σgrade=2007Class ? σnative=南昌Student) ? Score) ? Course) * 关系代数查询综合举例 例如,SCDB数据库中,查找“吴文君”老师教过的2008级 学生的姓名。 分析: 该查询共涉及3个属性,分别是职工名teacherName、年级grade和学生姓名studentName ,职工名teacherName和年级grade都是用于选择条件。 共涉及3个关系,分别是教师关系Teacher、班级关系Class和学生关系Student。 学生关系Student与班级关系Class之间是多对一联系 ;学生关系Student和教师关系Teacher之间是多对多联系,这种多对多联系不是直接通过一个联系关系就能建立 。 ∏studentName((((σgrade=2008Class ? Student) ? SC) ? CourseClass) ? σteacherName=吴文君Teacher) 开课班号 开课班号 * 关系代数查询综合举例 例如,SCDB数据库中,查找“吴文君”老师在“操作系统” 课程中教过的“信息学院”学生的姓名。 分析: 该查询共涉及4个属性,分别是职工名teacherName、课程名courseName、学院名称instituteName和学生姓名studentName,职工名teacherName、课程名courseName和学院名称instituteName都是用于选择条件。 共4个关系,分别是教师关系Teacher、课程关系Course、学院关系Institute和学生关系Student。 学生关系Student与班级关系Class之间是多对一联系。班级关系Class又与学院关系Institute之间是多对一联系 。学生关系Student和教师关系Teacher之间是多对多联系,这种多对多联系不是直接通过一个联系关系就能建立。 ∏studentName( ( ((∏classNo (σinstituteName=信息学院Institute ? Class) ? Student) ? SC) ? (CourseClass ? σcourseName=操作系统Course)) ? σteacherName=吴文君Teacher) 开课班号 开课班号 说明:由于关系Institute与关系Teacher可以通过外码InstituteNo进行自然连接,因此,在∏classNo(σinstituteName=信息学院Institute ? Class)中使用投影操作的目的是去掉无用属性(主要是为了去掉关系Institut

文档评论(0)

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

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

1亿VIP精品文档

相关文档