- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- DB37T4871-2025 城市轨道交通试运行技术规范.pdf VIP
- 医疗美容病历书写基本规范.docx
- 最新2023版知识产权贯标GBT29490表单 知识产权组织环境、相关方需要和期望分析一览表[知识产权合规管理体系文件].docx
- 冰雪雕设计及制作工程招标示范文本.doc VIP
- 广州恩宁路历史文化街区永庆坊微改造正式.pptx VIP
- 19028 安全生产治本攻坚三年行动方案(工程施工项目) (1).docx VIP
- 嘉世咨询-嘉世咨询2025中国集换式卡牌市场现状报告.pdf
- 招生话术培训课件.ppt VIP
- 教学课件-看得见的声音-.pptx VIP
- 安徽省血液透析管理规范.pdf VIP
原创力文档


文档评论(0)