关系模型-SQL简介-20140708分析.ppt

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

关系代数(13) 除 R(X , Y) ? S(Y) R?S只包含X中的属性 元组t属于R?S,当且仅当以下两个条件同时成立 t在?X(R)中。 对S中的每一个元组s,都有R中的元组r,使得: r[Y]=s[Y] r[X]=t 除法运算适合于回答“…所有的…”这类查询。 例 找出选修了所有课程的学生 ∏S#,C#(SC) ? ∏C#(C) 关系代数(14) ? 课程 数学 物理 = 姓名 课程 成绩 张军 物理 93 王红 数学 86 张军 数学 93 刘英 数学 88 王红 物理 92 ? 课程 数学 物理 姓名 课程 张军 物理 王红 数学 张军 数学 刘英 数学 王红 物理 姓名 张军 王红 = 姓名 成绩 张军 93 选修了所有课程并且成绩都相同的学生 选修了所有课程的学生 关系代数(15) 关系代数查询实例 求选修了其先修课为001号课程的学生名。 方案1:∏SN(?PC# = 001 (SC C S)) 方案2:∏SN(?PC# = 001 (C) SC S) 求未选修001号课程的学生号。 方案1:∏S#(?C# ≠ 001 (SC)) 方案2:∏S#(S)-∏S#(?C# = 001 (SC)) 求仅选修了001号课程的学生号。 选修001号课程的学生-选修了001号之外课程的学生 ∏S#(?C# = 001 (SC))-∏S#(SC-?C# = 001 (SC)) 哪一个效率更高? 哪一个正确? 关系代数(16) 外连接 例:列出老师的有关信息,包括姓名、工资、所教授的课程 ∏P# ,PN , SAL , C# , CN((PROF) PC) 500 李三 P04 600 700 800 SAL 孙立 P03 钱广 P02 赵明 P01 PN P# P04 C02 P02 C02 P01 C01 P# C# 问题:有关P03号职工的姓名和工资信息没有显示出来。 P# PN SAL C# P01 赵明 800 C01 P02 钱广 700 C02 P04 李三 500 C02 关系代数(17) 外连接 为避免自然连接时因失配而发生的信息丢失,可以假定往参与连接的一方表中附加一个取值全为空值的行,它和参与连接的另一方表中的任何一个未匹配上的元组都能匹配,称之为外连接。 外连接 = 自然连接 + 失配的元组。 外连接的形式:左外连接、右外连接、全外连接 左外连接 = 自然连接 + 左侧表中失配的元组。 右外连接 = 自然连接 + 右侧表中失配的元组。 全外连接 = 自然连接 + 两侧表中失配的元组。 关系代数(18) 500 李三 P04 600 700 800 SAL 孙立 P03 钱广 P02 赵明 P01 PN P# P04 C02 P02 C02 P01 C01 P# C# P# PN SAL C# P01 赵明 800 C01 P02 钱广 700 C02 P04 李三 500 C02 P03 孙立 600 null SQL语句 使用 SQL SELECT 语句检索数据 查询语句格式 SELECT [ALL|DISTINCT] 目标列表达式 [,目标列表达式] … FROM 表名或视图名[, 表名或视图名 ] … [ WHERE 条件表达式 ] [ GROUP BY 列名1 [ HAVING 条件表达式 ] ] [ ORDER BY 列名2 [ ASC|DESC ] ]; ? SELECT子句:指定要显示的属性列 FROM子句:指定查询对象(基本表或视图) WHERE子句:指定查询条件 GROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。 HAVING短语:筛选出只有满足指定条件的组 ORDER BY子句:对查询结果表按指定列值的升序或降序排序 学习参考材料 SQL必知必会(初学者参考)/data/141091 SQL解惑(美)Joe Celko著,米全喜译 (研究题目参考) SQL沉思录(美)Joe Celko著,马树奇译 自己可以任选一本SQL书作为学习参考。 谢谢大家! 关系数据模型和 关系数据库标准语言 结构化查询语言 (SQL) 介绍 浙江大学软件学院 杭诚方 教授 关系数据语言概述 抽象的查询语言 关系代数:用对关系的运算来表达查询,需要指明所用操作。 关系演算:用谓词来表达查询,只需描述所需信息的特性。 元组关系演算:谓词变元的基本对象是元组变量。 域关系演算:谓词变元的基本对象是域变量。 具体系统中

文档评论(0)

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

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

1亿VIP精品文档

相关文档