250 likes | 416 Views
Chapter 9 資料庫系統. 9.1 資料庫基本概念 9.2 關連模式. 應數 一 100701025 吳重霖 應數一 100701030 廖崢圯. 資料庫系統. 將資訊轉化成抽象化工具的系統, 讓使用者方便搜尋及萃取相關的項目。. 9.1 資料庫基本概念. 資料庫:代表一組多維的集合 相較於傳統的檔案系統 ( 單一角度 ) 資料庫可以讓使用者以不同的角度取用 例如: 傳統檔案系統: ( 作曲家 ) 以作曲家姓名排列的清單 資料庫系統: 以曲風、創作方式 …. 資料庫系統的重要性: 讓使用者在最短的時間內 汲取重要且恰當的資訊
E N D
Chapter 9 資料庫系統 9.1 資料庫基本概念 9.2 關連模式 應數一100701025吳重霖 應數一100701030廖崢圯
資料庫系統 • 將資訊轉化成抽象化工具的系統, 讓使用者方便搜尋及萃取相關的項目。
9.1 資料庫基本概念 • 資料庫:代表一組多維的集合 • 相較於傳統的檔案系統(單一角度) • 資料庫可以讓使用者以不同的角度取用 • 例如: • 傳統檔案系統: (作曲家) • 以作曲家姓名排列的清單 • 資料庫系統: • 以曲風、創作方式…
資料庫系統的重要性: • 讓使用者在最短的時間內 • 汲取重要且恰當的資訊 • 資料庫系統應用: • 企業管理 • 銷售管理 • 政府管理 • 搜尋引擎:eBay、Google
總覽 • 資料庫軟體的用來維護資料庫時所需的一個整體資料庫結構的描述 • 例如:大學資料庫總覽所有師生基本資料 • 個覽 • 對個別使用著需求在資料庫的部分描述 • 即對其他非所需之資料有所限制 • 例如:教授之個覽該教授之學生的資料 • (其教授不能獲得非授課學生之資料)
資料管理系統 • 典型資料庫系統分為 • 一個應用層 • 處理使用者與資料庫之間的通訊 • 一個資料庫管理層 • 執行其應用軟體決定使用者之執行動作 使 用 者 應用軟體 管理系統資 料 庫 真實資 料 庫
管理系統二分法之好處 • 1.抽象化 • 原本應用軟體可能要考慮資料存放位置是單一電腦或分散在其他網路中的機器,而形成分散式應用軟體,資料庫管理系統處理時,應用軟體不必知道資料的實際存放地點 • 2.提供資料庫存取供之的一種方法 • 限制資料庫而使系統加強個覽所要發揮的限制效果,要求個別使用者的應用軟體,保持在其各覽所描述的範圍內
補充 • 分散式資料庫 • 由不同電腦上的資料組成分散式資料庫 • 分散式資料庫可能有許多不完整和重複的資料 • 相對傳統集中式資料,相對資料會有的狀況有: • 1.隱藏資料庫分散的性質使其如完整系統操作 • 2.重複的資料在更新時能全部同時被更新
9.2 關連模式 • 將資料視為存放在關聯表中 • 一列稱為列錄 • 一行視為屬性
狀況一: • 同一員工擁有多筆資料則重相同資訊必須重複
狀況二: • 若Joe離職,則此資料中D7之工作代碼顯示此職業需要具有K2專長水準才能勝任,此隱藏資料將會消失
為了避免這樣的狀況,我們從各項的關連中找出了解決方法為了避免這樣的狀況,我們從各項的關連中找出了解決方法 • 將其關聯表分為三個關聯表 • Employee • Job • Assignment • 此狀況不漏失任何資訊 稱為 • 無漏失分割 (lossless decomposition)
關聯式運算SELECT • 從父關聯表選出一行列錄組成新關聯表 NewSELECTfromEMPLOYEEwhereEmplID=“34Y70”
關聯式運算PROJECT • 擷取欄位成另一個新的關聯表 MAILPROJECT Name , Address from Employee
關聯式運算JOIN part1 • 將兩個關聯表合而為一成為一個新關聯表 B A C”JOIN A and B where A.W=B.Z C
關聯式運算JOIN part2 • 將兩個關聯表合而為一成為一個新關聯表 B A C”JOIN A and B where A.W<B.Z C
NEW1”JOINT ASSIGNMENT and JOB where ASSIGNMENT. Job Id=JOB job Id
SQL:結構化查詢語言 • 美國國家標準機構所訂定的標準 • IBM公司所發展並銷售 • 導致其廣泛使用 • SQL陳述 • select EmplID,Dept • from ASSIGNMENT,JOB • where ASSIGNMENT.JobID=JOB.JobID • and ASSIGNMENT.TermDate=“*”
SQL陳述 • select EmplID,Address • from EMPLOYEE • select EmplID,Name,Address,SSNum • from EMPLOYEE • where Name=‘Cheryl H. Clark’
SQL陳述 • select Name,Address • from EMPLOYEE • where Name=‘Cheryl H. Clark’ • select EMPLOYEE.Name,ASSIGNMENT.StartDate • from EMPLOYEE,ASSIGNMENT • where EMPLOYEE. EmplID=ASSIGNMENT. EmplID
SQL包含: • 定義關聯表結構 • 建立關聯表 • 修改關聯表
SQL陳述 • insert into EMPLOYEE • values(‘42z12’ , ’Sue A. Burt’ , ’33 Fair St.’ , ’444661111’) • delete from EMPLOYEE • where Name = ‘G. Jerry Smith’ • update EMPLOYEE • set Address = ‘1812 Napoleon Ave.’ • where Name = ‘Joe E. Baker’
SQL 的分類 • 1. 資料定義語言(Data Definition Language,DDL) • 可以用來建立、更改或刪除 table、schema、domain、index 與 view 。主要指令有三:CREATE、ALTER 與 DROP。 • 2. 資料操作語言(Data Manipulation Language,DML) • DML 係用來操作資料。 • 主要指令有四: • SELECT、INSERT、UPDATE 和 DELETE。 • 3. 資料控制語言(Data Control Language,DCL) • DCL 提供資料庫的安全性。 • 主要指令有四: • GRANT 和 REVOKE、COMMIT、ROLLBACK。