第二章 关系模型与SQL.pptxVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 关系模型与SQL

主流数据库技术与实践;2.1关系数据库的结构;码(key,键) 属性值唯一标识元组:没有两个元组(行/记录)的所有属性值相同 超码(superkey):一个或多个属性的集合,可以唯一标识元组。它的任意超集也是超码。 候选码:任意真子集都不是超码的最小超码。 主码:设计者选中的用来区分元组的候选码。 外码、参照关系、被参照关系、模式图 图中表account是参照关系,其中的branch_name是外码,表branch是被参照关系。模式图可于表示多个有相互关系的表的数据库模式。 ;教师表(instructor)、系部表(department) 每个系有课程列表(course),包括课程号(course_id)、课程名(title)、系名(dept_name)和学分(credits),可能还有先修要求(prerequisites)。 学生列表(student)包括表识(ID)、姓名(name)、主修的系(dept_name)和已修的学分(tot_cred)。 教室列表(classroom)包括楼名(building)、房间号(room_number)和容量(capacity)。 开课列表(section)包括课程号(course_id)、开课号(sec_id)、年(year)、学期(semester)、楼名(building)、房间号(room_number)和时间段号(time_slot_id)。 系部有教学任务列表(teaches),说明每位教师的授课情况。 学生课程注册表(takes),说明每位学生在哪些课程的哪次开课中注册了。 ;大学案例关系表(模式图);大学案例关系表(表数据1);大学案例关系表(表数据2);2.2关系代数运算;投影运算(列选择) 例: 显示所有系部的教师号、姓名和工资 ?ID, name, salary(instructor) SQL语句: select ID,name,salary from instructor 关系运算的组合 关系运算的结果还是一个关系,可以对其进行其他运算。 关系代数表达式:多个关系代数运算组合成的运算式。 例:显示物理系(Physics)的所有教师的姓名 ?name(? dept_name=“Physics” (instructor)) SQL语句: select name from instructor where dept_name = ‘ Physics ‘;并运算(联合, 结合) r ?s:把两个关系的元组合并在一起(去除重复元组)。 条件:两关系相容,即要同元(属性数相同),并且对应属性的域相同。 例: 显示2009年秋季或2010年春季(或两者都有)的所有课程号的集合。 ?course_id (? semester=“Fall” Λ year=2009 (section)) ? ?course_id (? semester=“Spring” Λ year=2010 (section)) SQL语句: (select course_id from section where semester= ‘ Fall ‘ and year=2009) union (select course_id from section where semester= ‘ Spring ‘ and year=2010);集合差运算 r -s:得到在关系r中但不在关系s中的元组。 条件:两关系相容。 例: 显示2009年秋季开设但2010年春季没有开设的所有课程号的集合 ?course_id (? semester=“Fall” Λ year=2009 (section)) ? ?course_id (? semester=“Spring” Λ year=2010 (section)) SQL语句: (select course_id from section where semester= ‘ Fall ‘ and year=2009) except (select course_id from section where semester= ‘ Spring ‘ and year=2010);笛卡儿积运算 r × s:得到关系r与关系s中所有元组的交叉组合。结果中可能重复的列名要加表名前缀。 例1: 显示教师表与教学任务表的组合列表。 instructor ×teches SQL语句: select i.ID,name,dept_name,salary,t.ID,course_id,sec_id,semester,year from instructor as i, teches as t 结果见P126 图6-8。不同教师的任务信息组合在一起没有实际意义。

文档评论(0)

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

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

1亿VIP精品文档

相关文档