第二章-数据库关系运算.ppt

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

第二章: 关系模型 第二章: 关系模型 关系数据库结构 基本关系代数运算 附加关系代数运算 扩展关系代数运算 空(Null)值 数据库更改 关系例子 基本结构 假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。可以扩展到多个集合的情况。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。 给定一组域D1,D2,…,Dn,这些域中可以有相同的。D1,D2,…,Dn的笛卡尔积为: D1×D2×…×Dn={(d1,d2,…,dn)|di?Di,i=1,2,…,n 所有域的所有取值的一个组合不能重复。 一般地, 给定集合D1, D2, …. Dn, 关系r 是 D1 x D2 x … x Dn 的子集。所以,关系是n-元组 (a1, a2, …, an) 集合,且ai ? Di 基本结构 例子: If customer_name = {Jones, Smith, Curry, Lindsay, …} /* Set of all customer names */ customer_street = {Main, North, Park, …} /* set of all street names*/ customer_city = {Harrison, Rye, Pittsfield, …} /* set of all city names */ Then r = { (Jones, Main, Harrison), (Smith, North, Rye), (Curry, North, Rye), (Lindsay, Park, Pittsfield) } is a relation over customer_name x customer_street x customer_city 属性类型 关系的每个属性有一个名字 每个属性允许的取值的集合叫做属性的域 属性值(通常)要求是原子的,即,不可分的“基本项” 例如:属性值可以是一个账号,但不能是账号的集合 如果所有域成员是原子的,则说域是原子的 特殊值 null 是每个可能域的成员 null 值造成定义很多运算的复杂性 在本章主要的讲解中,我们将暂时忽略null的影响 关系模式 A1, A2, …, An 是属性 R = (A1, A2, …, An ) 是关系模式 例子: Customer_schema = (customer_name, customer_street, customer_city) r(R) 表示关系模式R上的关系 r 例子: customer (Customer_schema) 关系实例 关系当前值(关系实例)由一个表确定 r 的一个成员是元组( tuple), 表示为表中一行 关系术语/文件术语:属性/项,元组/记录,表/文件 关系是无序的 数据库 数据库由多个关系组成 企业信息被划分成部分,每个关系存储一部分信息 account : 存储帐户信息 depositor (存款人): 存储关于哪个客户拥有哪个帐户的信息 customer : 存储客户的信息 把所有信息存储在单个关系中,如 bank(account_number, balance, customer_name, ..) 导致 信息重复 如,如果一个客户拥有两个帐户(哪个信息重复了?) 需要null值 如,一个没有存储账户的客户(也许有贷款,所以是客户) 规范化理论负责处理如何设计关系模式 customer 关系 depositor 关系 account 关系 branch 关系 loan 关系 borrower 关系 码 / 键(key) 使 K ? R (K:一个或多个属性集合) 如果K值足以唯一地标识每个可能关系r(R) 的一个元组,则K 是R的一个超码( superkey) “可能关系r”意思是:能够存在于我们要建模的企业的关系r 例子: {customer_name, customer_street} and {customer_name} 都是Customer的超码(如果没有重名客户) 实际中,诸如属性 customer_id 将用来代替 customer_name 去唯一地标示customers, 这里为

文档评论(0)

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

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

1亿VIP精品文档

相关文档