25
Chapter 9 資資資資資 9.1 資資資資資資資 9.2 資資資資 資資100701025 資資資 資資100701030 資資資

Chapter 9 資料庫系統

  • Upload
    gudrun

  • View
    92

  • Download
    10

Embed Size (px)

DESCRIPTION

Chapter 9 資料庫系統. 9.1 資料庫基本概念 9.2 關連模式. 應數 一 100701025 吳重霖 應數一 100701030 廖崢圯. 資料庫系統. 將資訊轉化成抽象化工具的系統, 讓使用者方便搜尋及萃取相關的項目。. 9.1 資料庫基本概念. 資料庫:代表一組多維的集合 相較於傳統的檔案系統 ( 單一角度 ) 資料庫可以讓使用者以不同的角度取用 例如: 傳統檔案系統: ( 作曲家 )  以作曲家姓名排列的清單 資料庫系統:  以曲風、創作方式 …. 資料庫系統的重要性: 讓使用者在最短的時間內 汲取重要且恰當的資訊 - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 9  資料庫系統

Chapter 9 資料庫系統

9.1 資料庫基本概念9.2 關連模式

應數一 100701025 吳重霖應數一 100701030 廖崢圯

Page 2: Chapter 9  資料庫系統

資料庫系統

將資訊轉化成抽象化工具的系統,讓使用者方便搜尋及萃取相關的項目。

Page 3: Chapter 9  資料庫系統

9.1 資料庫基本概念資料庫:代表一組多維的集合

◦相較於傳統的檔案系統 ( 單一角度 )◦資料庫可以讓使用者以不同的角度取用

例如:◦傳統檔案系統: ( 作曲家 )

以作曲家姓名排列的清單◦資料庫系統:

以曲風、創作方式…

Page 4: Chapter 9  資料庫系統

資料庫系統的重要性:◦讓使用者在最短的時間內◦汲取重要且恰當的資訊

資料庫系統應用:◦企業管理◦銷售管理◦政府管理◦搜尋引擎: eBay 、 Google

Page 5: Chapter 9  資料庫系統

總覽◦資料庫軟體的用來維護資料庫時所需的一

個整體資料庫結構的描述 例如:大學資料庫總覽所有師生基本資料

個覽◦對個別使用著需求在資料庫的部分描述◦即對其他非所需之資料有所限制

例如:教授之個覽該教授之學生的資料 ( 其教授不能獲得非授課學生之資料 )

Page 6: Chapter 9  資料庫系統

資料管理系統◦典型資料庫系統分為

一個應用層 處理使用者與資料庫之間的通訊

一個資料庫管理層 執行其應用軟體決定使用者之執行動作

使用者

應用軟體

管理系統

資料庫

真實資料庫

Page 7: Chapter 9  資料庫系統

管理系統二分法之好處◦1. 抽象化

原本應用軟體可能要考慮資料存放位置是單一電腦或分散在其他網路中的機器,而形成分散式應用軟體,資料庫管理系統處理時,應用軟體不必知道資料的實際存放地點

◦2. 提供資料庫存取供之的一種方法 限制資料庫而使系統加強個覽所要發揮的限制效

果,要求個別使用者的應用軟體,保持在其各覽所描述的範圍內

Page 8: Chapter 9  資料庫系統

補充分散式資料庫

◦由不同電腦上的資料組成分散式資料庫 分散式資料庫可能有許多不完整和重複的資料

相對傳統集中式資料,相對資料會有的狀況有: 1. 隱藏資料庫分散的性質使其如完整系統操作 2. 重複的資料在更新時能全部同時被更新

Page 9: Chapter 9  資料庫系統

9.2 關連模式將資料視為存放在關聯表中一列稱為列錄一行視為屬性

Empl ID

Name Address SSN

25X15 Joe E. Baker 33 Nowhere St. 111223333

34Y70 Cheryl H. Clark

563 Downtown Ave.

999009999

23Y34 G. Jerry Smith

1555 Circle Dr. 111005555

… … … …

Page 10: Chapter 9  資料庫系統

狀況一:◦同一員工擁有多筆資料

則重相同資訊必須重複

Empl ID

Name Job ID Job Title Skill Code

Dept SSN Start Term

25X15 Joe E. Baker

F5 Floor manager

FM3 Sales 111223333

9-1-2007 9-30-2008

25X15 Joe E. Baker

D7 Dept. Head

K2 Sales 111223333

10-1-2008

*

34Y70 Cheryl H. Clark

F5 Floor manager

FM3 Sales 999009999

10-1-2007

*

23Y34 G. Jerry Smith

S25X Secretary T5 Personnal 111005555

3-1-1009 4-30-2006

23Y34 G. Jerry Smith

S26Z Secretary T6 Accounting

111005555

5-1-2006 *

… … … … … … … … …

Page 11: Chapter 9  資料庫系統

狀況二:◦若 Joe 離職,則此資料中 D7 之工作代碼

顯示此職業需要具有 K2 專長水準才能勝任,此隱藏資料將會消失

Empl ID

Name Job ID Job Title Skill Code

Dept SSN Start Term

25X15 Joe E. Baker

F5 Floor manager

FM3 Sales 111223333

9-1-2007 9-30-2008

25X15 Joe E. Baker

D7 Dept. Head

K2 Sales 111223333

10-1-2008

*

34Y70 Cheryl H. Clark

F5 Floor manager

FM3 Sales 9990099999

10-1-2007

*

23Y34 G. Jerry Smith

S25X Secretary T5 Personnal 111005555

3-1-1009 4-30-2006

23Y34 G. Jerry Smith

S26Z Secretary T6 Accounting

111005555

5-1-2006 *

… … … … … … … … …

Page 12: Chapter 9  資料庫系統

為了避免這樣的狀況,我們從各項的關連中找出了解決方法◦ 將其關聯表分為三個關聯表

Employee Job Assignment

此狀況不漏失任何資訊 稱為無漏失分割 (lossless

decomposition)

Page 13: Chapter 9  資料庫系統

Empl ID

Name Address SSN

25X15 Joe E. Baker 33 Nowhere St. 111223333

34Y70 Cheryl H. Clark

563 Downtown Ave.

9990099999

23Y34 G. Jerry Smith

1555 Circle Dr. 111005555

… … … …

Empl ID

Job ID Start Term

23Y34 S25X 3-1-1999 1-30-2006

34Y70 F5 10-1-2007 *

23Y34 S26Z 5-1-2006 *

… … … …

Job ID Job Title Skill Code Dept.

F5 Floor manager

FM3 Sales

D7 Dept. Head K2 Sales

S25X Secretary T5 Personnal

S26Z Secretary T6 Accounting

Page 14: Chapter 9  資料庫系統

關聯式運算 SELECT◦從父關聯表選出一行列錄組成新關聯表

Empl ID

Name Address SSN

25X15 Joe E. Baker 33 Nowhere St. 111223333

34Y70 Cheryl H. Clark

563 Downtown Ave.

9990099999

23Y34 G. Jerry Smith

1555 Circle Dr. 111005555

… … … …

Empl ID

Name Address SSN

34Y70 Cheryl H. Clark

563 Downtown Ave.

9990099999

NewSELECTfromEMPLOYEEwhereEmplID=“34Y70”

Page 15: Chapter 9  資料庫系統

關聯式運算 PROJECT◦擷取欄位成另一個新的關聯表

Name Address

Joe E. Baker 33 Nowhere St.

Cheryl H. Clark

563 Downtown Ave.

G. Jerry Smith

1555 Circle Dr.

… …

Empl ID

Name Address SSN

25X15 Joe E. Baker 33 Nowhere St. 111223333

34Y70 Cheryl H. Clark

563 Downtown Ave.

9990099999

23Y34 G. Jerry Smith

1555 Circle Dr. 111005555

… … … …MAILPROJECT Name , Address from Employee

Page 16: Chapter 9  資料庫系統

關聯式運算 JOIN part1◦將兩個關聯表合而為一成為一個新關聯表

V W

r 2

t 4

p 6

X Y Z

5 g p

4 d e

2 m q

4 t fA.V A.W B.X B.Y B.Z

r 2 2 m q

t 4 4 d e

t 4 4 t f

C”JOIN A and B where A.W=B.ZAB

C

Page 17: Chapter 9  資料庫系統

關聯式運算 JOIN part2◦將兩個關聯表合而為一成為一個新關聯表

V W

r 2

t 4

p 6

X Y Z

1 g p

4 d e

2 m q

5 t fA.V A.W B.X B.Y B.Z

r 2 4 d e

t 2 5 t f

t 4 5 t f

C”JOIN A and B where A.W<B.ZAB

C

Page 18: Chapter 9  資料庫系統

Empl ID

Job ID Address SSN

25X15

S25X 33 Nowhere St.

111223333

34Y70

F5 563 Downtown Ave.

9990099999

23Y34

S26Z 1555 Circle Dr.

111005555

… … … …

Job ID

Job Title Skill Code Dept.

F5 Floor manager

FM3 Sales

D7 Dept. Head

K2 Sales

S25X Secretary T5 Personnal

S26Z Secretary T6 Accounting

ASSIGNMENT JOBEmpl ID

Name Address

SSN Job ID Job Title Skill Code

Dept.

25X15 Joe E. Baker

33 Nowhere St.

111223333

S25X Secretary

T5 Personnal

34Y70 Cheryl H. Clark

563 Downtown Ave.

9990099999

F5 Floor manager

FM3 Sales

23Y34 G. Jerry Smith

1555 Circle Dr.

111005555

S26Z Secretary

T6 Accounting

… … … … … … … …

NEW1”JOINT ASSIGNMENT and JOB where ASSIGNMENT. Job Id=JOB job Id

Page 19: Chapter 9  資料庫系統

SQL :結構化查詢語言◦美國國家標準機構所訂定的標準◦IBM公司所發展並銷售

導致其廣泛使用

SQL陳述◦select EmplID,Dept◦from ASSIGNMENT,JOB◦where ASSIGNMENT.JobID=JOB.JobID

and ASSIGNMENT.TermDate=“*”

Page 20: Chapter 9  資料庫系統

SQL陳述◦select EmplID,Address◦from EMPLOYEE

◦select EmplID,Name,Address,SSNum◦from EMPLOYEE◦where Name=‘Cheryl H. Clark’

Page 21: Chapter 9  資料庫系統

SQL陳述◦select Name,Address◦from EMPLOYEE◦where Name=‘Cheryl H. Clark’

◦ select EMPLOYEE.Name,ASSIGNMENT.StartDate

◦ from EMPLOYEE,ASSIGNMENT◦ where EMPLOYEE. EmplID=ASSIGNMENT.

EmplID

Page 22: Chapter 9  資料庫系統

SQL包含:◦定義關聯表結構◦建立關聯表◦修改關聯表

Page 23: Chapter 9  資料庫系統

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’

Page 24: Chapter 9  資料庫系統

謝謝大家

Page 25: Chapter 9  資料庫系統

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 。