《补充教材.ppt》由会员分享,可在线阅读,更多相关《补充教材.ppt(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、McGraw-Hill/Irwin 2008 The McGraw-Hill Companies,All Rights ReservedChapter 7 補充教材Data Modeling and Analysis7-2Relational DatabaseBased on Relationa kind of ordered set 有序集合人類表達資料最直覺的方式 表格(Table)Relational Algebra 關聯式代數可以針對表格做各種運算具備關聯完整性(Relationally complete)Closure 封閉性:運算完的結果仍是一張表格Associativity 結合
2、律Commutativity 交換律Distributivity 分配律7-3Relational Algebra 介紹(1)7-4Relational Algebra 介紹(2)7-51.Product 乘積運算又稱Cartesian Product任二張表格其 join 的結果,必被包含於乘積之中7-62.Union 聯集運算註:聯集相容 Union Compatible:兩張表格有相同之欄位,且相對應之欄位有相同值域7-73.Difference 差集運算7-84.Selection 選擇運算用給定條件過濾出所要的資料是關聯式資料庫最常用的功能7-94.Selection 選擇運算 範例
3、price140(Books)7-104.Selection 選擇運算 範例id3(Books)7-114.Selection 選擇運算 範例price140 or id3(Books)透過欄位條件,可方便地取回想要的資料7-125.Project 投影運算只將想要的欄位投影出來id,author,publish(Books)7-136.Intersection 交集運算交集為非原始運算:可用原始運算來模擬AB=A (A-B)=B (B-A)7-147.Join 合併運算配合Selection使用,是關聯式資料庫最強的功能7-157.Join 合併運算 範例7-167.Join 合併運算 Na
4、tural Join7-177.Join 合併運算 為什麼合併不是原始運算子?7-187.Join 合併運算 合併運算的實作方式直觀:透過巢狀迴路(Nested Loop)做查表有其它可以加速的技巧;現今資料庫在百萬千萬筆資料的多欄位Join,都已不是問題7-198.Divide 除法運算除法運算含有兩個運算元關聯表R1(當做被除表)關聯表R2(當做除表)用在查詢找出符合所有XX的XXX較少使用7-208.Divide 除法運算 範例請找出一家供應所有菜色的餐館!除法也是非原始運算;可用其它來模擬7-21Relational Algebra 的用途(1)強大的表達能力(expressive power)幾乎可以表達出所有資料庫的操作定義查詢資料所需的範圍將切分開的表格連接回一張大表(也可切表)模擬新增、刪除、修改7-22Relational Algebra 的用途(2)業界常用的SQL(Structured Query Language)就是奠基在Relational Algebra之上7-23ReferenceElmasri and Navathe,Fundamental of Database SystemsFrank S.C.Tseng,資料庫系統之理論與實務