离散数学课-第4章-4.ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
一、n元关系 我们从建立关系数据库理论的基本定义开始。 定义1:设A1, A2,…, An是集合,在这些集合上的n元关系是A1×A2×…×An 的子集。这些集合A1, A2,…An叫做关系的域,n叫做它的阶。 【example1】 R是由三元组(a,b,c)构成的关系 ,其中a、b、c是满足abc的整数。那么(1,2,3)∈R但(2,4,3)不属于R.这个关系的阶石3.它的域等于整数集合。 【example 2】设R是由5元组(A,N,S,D,T)构成的表示飞机航班的关系,其中A是航空公司,N是航班号,S是出发地,D是目的地,T是起飞时间。例如,如果Nadir直达航空公司在15:00有从Newark到Bangor的936航班,那么(Nadir,936,Newark,Bangor,15:00)属于R.这个关系的阶是5,并且它的域是所有航空公司的集合、航班号的集合、城市的集合、城市的集合以及时间的集合。 二、数据库与关系 操作数据库信息所需的时间依赖于这些信息是怎样存储的。一些基本的插入、删除、更新和检索记录以及从一个重叠的数据库中组合记录的操作在一个大型数据库中每天要执行几百万次。 由于这些操作的重要性,已经开发了数据库表示的各种方法,这里将讨论其中一种基于关系概念的方法,叫做关系数据模型。 数据库由记录组成,这些记录是由字段构成的n元组,这些字段是n元组的数据项。 例如,学生记录的数据库可以由包含学生的姓名、学号、平 均学分绩点(GPA)的字段构成。关系数据模型把一个记录的数 据库表示成一个n元关系。于是,学生记录可以被表示成形如 (学生姓名、学号、专业、GPA)的4元组。 3.当n元组的某个域的值能够确定这个n元组时,n元关系 的这个域就叫做 主关键字。 因为常常要从数据库中添加或删除记录。所以一个域是主 关键字的性质是随时间而改变的。所以一个主关键字应该选择 那种无论数据库怎么改变都能继续存在的字段。 4.用数据库的内涵的主关键字在任何时候都是不会改变 的,它包含了在表示这个数据库的n元关系中可能永远存 在的所有的n元组。 【example3】假设将来不再增加n元组,对于表1所示的n元关系,哪个域是主关键字? Solution: 因为在这个表中对应每个学生的姓名只有一个4元组,学 生姓名的域是主关键字。 类似地,在这个表中学号是唯一的,学号的域也是主关键 字。 但是,所学专业的域不是主关键字,因为包含同样的专业 的4元组有多个。 平均学分绩点的域也不是主关键字,因为有2个4元组包含了 同样的GPA. 5.在一个n元关系中域的组合也可以唯一地标识n元组。当一 组域的值确定了一个关系中的n元组时,这些域的笛卡尔积 就叫做复合关键字。 【example 4】对于表1中的n元关系,假设不增加n元组,所 学专业的域与GPA的域的笛卡尔积是复合关键字吗? Solution: 这个表中没有两个4元组有同样的专业和同样的GPA,因此 这个笛卡尔积是一个复合关键字。 6.因为主关键字和复合关键字用于唯一地标识数据库中的记 录,当新的记录被追加到这个数据库时关键字要保持有效是 非常重要的。 因此,应该确保与主关键字或复合关键字相对应的字段中 每个新记录与表中所有其他的记录不同。 例如,使用学号作为学生记录的主关键字是有意义的,因为没 有两个学生有同样的学号。一个大学不应该使用姓名字段为主关键 字,因为有可能两个学生有同样的姓名。 三、n元关系的运算 n元关系存在可以用于构成新的n元关系的不同的运算。综 合使用这些运算能够回答对数据库的满足特定条件的所有元组 的查询。 一个n元关系最基本的运算是在这个n元关系中确定满足特 定条件的所有n元组。 例如,我们可能想在学生记录的数据库中找出主修计算机科学 专业的所有学生的记录,或是想找出所有平均学分绩点在3.5以上 的学生,等等。未完成这些任务我们使用了选择运算。 【example 5】为了找出表1所示的n元关系R中主修计算机科学 专业的学生的记录,我们使用运算sC1, 其中 C1是条件 专业=“计算机科学”。 结果是两个4元组(Achermann,231455,计算机科学,3.88) 和(Chou,102147,计算机科学,3.49)。 类似地,为了在这个数据库中找出平均学分绩点在3.5以上的 学生记录,我们使用运算sC2,其中C2是条件 GPA3.5. 【example 6】当投影P1,3施用到4元组(2,3,0,4), (Jane Doe,234111001,地理学,3.14)以及(a1,a2,a3,a4) 时结果是什么? solution :

文档评论(0)

180****3195 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档