聚合函数和群组化的范例.PPT

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

第 6 章 關聯式代數與關聯式計算 學習重點 關聯式代數 一元關聯式運算 集合論的關聯式代數運算 二元關聯式運算 其他關聯式運算 關聯式代數形式的查詢範例 關聯式計算 值組關聯式計算 定義域關聯式計算 範例資料庫應用 (COMPANY) 關聯式代數概觀 所謂的關聯式代數 (relational algebra) 就是針對關聯式模型的一組基本運算集合 這些運算讓使用者能夠設定基本的擷取動作 (或查詢) 運算的結果是一個新關聯,這個新關聯可能是由一或多個輸入關聯所組成 這個特性使得代數為「封閉的」(closed),也就是在關聯式代數中所有的物件都是關聯 關聯式代數概觀 (續) 因此代數運算會產生新的關聯 而新的關聯可以繼續再利用代數來運算 像這樣一連串的代數運算便形成所謂的關聯式代數運算式 (relational algebra expression) 關聯式代數運算式的結果也會是一個關聯,這就是資料庫查詢 (query) 的結果 關聯式代數概觀 (續) 關聯式代數可分成幾組運算: 一元關聯式運算 SELECT (符號: ? (sigma)) PROJECT (符號:? (pi)) RENAME (符號: ? (rho)) 集合論的關聯式代數運算 UNION ( ? ) 、INTERSECTION ( ? ) 、DIFFERENCE (或MINUS, – ) CARTESIAN PRODUCT ( x ) 二元關聯式運算 JOIN (JOIN有一些變化版本) DIVISION 其他關聯式運算: OUTER JOIN、OUTER UNION AGGREGATE FUNCTIONS (用來總計資訊,如SUM、COUNT、AVG、MIN、MAX) COMPANY的資料庫狀態 以下探討的範例都是以這個COMPANY資料庫為例 一元關聯式運算:SELECT SELECT運算 (表示成 ? (sigma)) 是用來篩選在關聯中,滿足某些選擇條件 (selection condition) 的值組子集合 這裡的選擇條件可被視為一個過濾器 (filter) 只留下滿足此條件的值組 滿足此條件的值組被選中,其餘值組則被丟棄 範例: 選擇屬於4號部門的EMPLOYEE值組: ? DNO = 4 (EMPLOYEE) 選擇薪資高於$30000的EMPLOYEE值組: ? SALARY 30,000 (EMPLOYEE) 一元關聯式運算:SELECT (續) 一般而言,SELECT運算是用? selection condition(R) 來表示,其中 符號? (sigma) 是代表SELECT運算子 selection condition 則是個指定在關聯R屬性上的布林 (Boolean) 條件運算式 條件值為真的值組將被選取 出現在運算結果中 條件值為假的值組會被過濾掉 不會出現在運算結果中 一元關聯式運算:SELECT (續) SELECT運算的特性 SELECT運算? selection condition(R)所產生的結果關聯S,其綱要 (同屬性) 將與R完全相同 SELECT ? 具有交換律: ? condition1(? condition2 (R)) = ? condition2 (? condition1 (R)) 由於交換律這個特性,串聯的SELECT運算能以任意順序應用在關聯上: ?cond1(?cond2 (?cond3 (R)) = ?cond2 (?cond3 (?cond1 ( R))) 串聯的SELECT運算可以轉換成一個具有AND條件的單一SELECT運算: ?cond1(? cond2 (?cond3(R)) = ? cond1 AND cond2 AND cond3(R))) SELECT結果的值組個數會小於 (或等於) 輸入關聯R的值組個數 以下的查詢結果是參考這個資料庫狀態 一元關聯式運算:PROJECT PROJECT運算表示成 ? (pi) 這種運算是從表格中選擇某些欄位 (屬性),而丟棄其他欄位 PROJECT運算就像是關聯的垂直分割動作 將保留每個值組中指定的欄位 (屬性) 每個值組中非指定欄位將被丟棄 範例:列出每個員工的姓名與薪資,表示如下: ?LNAME, FNAME,SALARY(EMPLOYEE) 一元關聯式運算:PROJECT (續) PROJECT運算的一般格式如下: ?attribute list(R) 其中? (pi) 是用來表示PROJECT運算的符號 attribute list 是關聯R中的屬性清單 PROJECT運算會移除所有重複的值組 這是因為PROJECT運算的結果必定是一些值組的集合 數學的集合不允許重複的元素 一元關聯式運算:PROJECT (續) PR

文档评论(0)

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

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

1亿VIP精品文档

相关文档