[理学]sql 课件 第2章 关系模型.pptVIP

  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文档。上传文档
查看更多
相关符号 R,t?R,t[Ai] 设关系模式为R(A1,A2,…,An) 它的一个关系设为R。t?R表示t是R的一个元组 t[Ai]则表示元组t中相应于属性Ai的一个分量 相关符号 πcustomer_name,branch_name(Deposits Account) customer_name可以取六个值{刘晨、王敏、赵维、孙大庆、刘伟、于童} 刘晨的象集为 {经七路支行}  王敏的象集为 {市中支行,栈桥支行}  赵维的象集为 {栈桥支行}  孙大庆的象集为 {和平支行} 刘伟的象集为 {舜耕支行} 于童的象集为 {解放支行} πbranch_name( ?branch_city=“青岛”(Branch)) {栈桥支行,市中支行 } 只有刘晨的象集包含了{栈桥支行,市中支行 } 所以 πcustomer_name,branch_name(Deposits Account)÷πbranch_name(?branch_city=青岛(Branch)) ={刘晨} 2.3 关系演算 按谓词变元不同分类 元组关系演算 以元组变量作为谓词变元的基本对象 元组关系演算语言ALPHA 域关系演算 以域变量作为谓词变元的基本对象 域关系演算语言QBE(Query By Example) 元组关系演算 元组关系演算是以元组为变量 其一般形式为: { t[〈属性表〉] | P(t) } 语法说明: t是元组变量,既可以用整个t作为查询对象,也可以查询t中的某些属性。如果查询整个t,则可省去属性表。 P(t)是t应满足的谓词。 利用元组关系演算,可以表示关系代数操作 投影:设有关系R(a, b, c),则:πa, b (R) = { t[a, b] | t ? R } 选择:设有关系R(a, b, c),则:?F (R) = { t | t?R AND F }。其中F是以t为变量的布尔表达式,属性变量以t.a形式表示。 并:设有关系R(a, b, c)和S(a, b, c),则:R∪S = { t | t?R OR t?S }。 差:设有关系R(a, b, c)和S(a, b, c),则:R-S = { t | t?R AND NOT(t?S) }。 自然连接:设有关系R(a, b, c)和S(c, d, e),则:RS = { t[a,b,c,d,e] | t[a,b,c] ?R AND t[c,d,e] ?S } 域关系演算 域关系演算以域为变量 其一般形式为: { x1, x2, …, xn | P(x1, x2, …, xn, xn+1,…,xn+m) } 语法说明: 式中x1, x2, …, xn, xn+1,…,xn+m为域变量,其中x1, x2, …, xn出现在结果中,其他m个域变量不出现在结果中,但出现在谓词P中。 实体完整性约束 例如,在关系Customer(customer_name, customer_street, customer_city)中,客户姓名customer_name属性为主码(这里假设客户不会重名),那么customer_name不能取空值。 注意,实体完整性约束规定主码包含的所有属性都不能取空值,而不仅是主码整体不能取空值。 选修(学号,课程号,成绩) “学号、课程号”为主码,则两个属性都不能取空值。 引用完整性约束 例如:账户和支行 账户Account(account_number, branch_name, balance) 支行Branch(branch_name, branch_city, assets)。 引用完整性约束 例如:学生实体、专业实体以及专业与学生 间的一对多联系  学生(学号,姓名,性别,专业号,年龄)   专业(专业号,专业名) 插入操作 在Account关系中插入元组〈NULL, 市中支行, 800〉 由于新元组中主码account_number为空值,这个插入操作破坏了实体完整性约束,因此拒绝该操作。 在Account关系中插入元组〈A101, 铁路支行, 800〉 由于新元组的主码值A101与Account关系中已经存在的另一个元组的主码值相同,这个插入操作破坏了实体完整性约束,所以拒绝该操作。 在Account关系中插入元组〈A401, 花园支行, 700〉 这个插入破坏了指定在branch_name上的引用完整性约束,因为Branch关系中没有branch_name为花园支行的元组存在。 在Account关系中插入元组〈A401, 和平支行, 700〉 这个插入操作满足所有的约束,所以接受该操作。 删除操作 删除branch_name

文档评论(0)

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

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

1亿VIP精品文档

相关文档