第一章 資料庫概論

undefined

undefined

 

1-1 檔案系統

[檔案處理系統] 2 | 92,106

92地三、106調三(國三)

undefined

 

一、檔案系統的定義

()由使用者定義與實作

1.是由使用者自己來定義與實作應用程式所需的檔案,這些檔案是屬於應用程式的程式設計工作的一部分。

2.通常使用硬碟和光碟這樣的儲存裝置,並維護檔案在裝置中的實體位置。

※參考資料:陳玄玲-資料庫系統原理第六版 1~18

()舉例

1.例如註冊組需要維護記錄學生成績的檔案,同時撰寫一些程式來列印學生成績單或是輸入成績到檔案中,這些檔案是應用程式的一部分。而出納組則需要記錄學生的學費與繳款資料。

2.雖然這兩個使用者羣組都會用到學生資料,但是卻各自維護不同的檔案與處理這些檔案的程式。像這樣重複定義與儲存資料的現象,不但導致儲存空間浪費,而且要花雙倍的時間讓兩邊的資料都保持最新

※參考資料:陳玄玲-資料庫系統原理第六版 1~18

 

二、檔案系統的優點

()資料容易存取

可以提供有效而且方便地存取磁碟方法,那就是允許資料能容易地儲存、找到,以及重新取出。

()程式的設計方式相當單純:不須要考慮各部門整合上的問題。

()較容易滿足各部門或應用系統的要求:只須要考慮單一部門需求。

※參考資料:李春雄-動畫圖解資料庫系統理論-第一章資料庫導論.ppt

 

三、檔案系統的缺點

()資料重複存放(Data Redundancy):不同程式或部門皆擁有及維護自己的資料。

()資料不一致(inconsistency)

當某一位學生的姓名更改時,必須要同時到「教務處」與「學務處」更改資料。因此,資料內容無法同步更新欄位名稱的不一致等。

()資料間無法分享共用:只有此檔案相對的應用程式可以使用。

()資料保密性和安全性非常低

在檔案系統中沒有安全機制,而資料庫系統則有,因為可以設定資料庫的帳號與密碼。

()資料與程式間高度相依:應用程式是針對特定檔案組成而撰寫的

()漫長的開發時間:程式設計師必須設計他們自己的檔案格式。

()系統維護成本高:檔案結構改變,應用程式必須重寫。

()不易建立資料標準:各部門、各應用程式可能自行建立自己的檔案標準。

()程式撰寫無效率:針對不同的檔案結構,撰寫不同的應用程式。

※參考資料:李春雄-動畫圖解資料庫系統理論-第一章資料庫導論.ppt

 

89年關務人員特考資料處理

傳統檔案處理方法與資料庫管理檔案方法各有哪些優點及缺點?(20分)

答:

()資料庫管理檔案方法

1.需要大量分散各地單位的遠端資料分享共用。

2.屬於高度機密性資料、個人隱私範圍需要安全控管。

3.需要建立資料存放的共同標準,因為存取使用者多,重視資料品質。

4.資料重要性高,需要規劃備份回復機制。

註:可以套用「1-2 資料庫系統的五、資料庫的優點」來寫。

 

1-2 資料庫系統

[資料庫系統] 15 | 87,89,90,93,94,96,97,101(3),102,105,106(2),107

87高三、89地三、90地三、93電員晉高、94-2地三、96技高、97高三、101關三、101國三(2)102調四、105警三、106調三(國三)106關薦、107調三(國三)

undefined

undefined

 

一、資料庫(Database)

()定義

1.資料庫是資料表 (table) 的集合體,一個資料庫可能有一個或多個資料表;資料表是由許多相同格式的資料記錄 (record) 所組成;在資料記錄中的每一個屬性稱為欄位 (field)。換言之,橫向的資料記錄縱向的屬性欄位組織成一個資料表,儲存到電腦儲存設備後,就成了資料庫檔案。

2.將相關資料以系統化且有效率地儲存在一起,減少資料的重複性

3.可以被特定組織的應用程式系統所使用,透過資料庫管理系統來管理。常見的資料庫有通訊資料庫、學籍資料庫、成績資料庫等,在資料庫中可以只有一個資料表,也可以把數十甚至數百個資料表集合起來。

4.用來建立資料庫系統的軟體種類很多,例如 AccessFoxProInformixOracleSybaseDB2 等。

※參考資料:http://epaper.gotop.com.tw/pdf/ACI009700.pdf

()資料庫技術主要特性

1.資料庫系統具有自我描述 (self-describing) 的本質。

2.隔離程式與資料與資料抽象化 (data abstraction)

3.支援資料的多重景觀 (multiple views)

4.資料共享 (sharing) 與多使用者的異動處理 (transaction procesing)

※參考資料:陳玄玲-資料庫系統原理第六版 1-8

 

二、資料庫管理系統(DataBase Management System, DBMS)

()起緣

1.資料庫是儲存資料的地方,但是如果資料只是儲存到電腦的檔案中,其效用並不大。因此,還需要有一套能夠讓我們很方便地管理這些資料庫檔案的軟體,這軟體就是所謂的「資料庫管理系統」。

2.就是一套管理「資料庫」的軟體,並且它可以同時管理數個資料庫。因此,資料庫加上資料庫管理系統,就是一個完整的「資料庫系統」了。所以,一個資料庫系統 (Database System) 可以分為資料庫 (Database) 與資料庫管理系統(Database Management System, DBMS) 兩個部份。

※參考資料:李春雄-動畫圖解資料庫系統理論-第一章資料庫導論.ppt

()定義

1.是一種操縱管理資料庫大型軟體,用於建立使用維護資料庫

2.資料庫進行統一管理控制,以保證資料庫安全性完整性

3.使用者通過 DBMS 訪問資料庫中的資料,而資料庫管理員透過 DBMS 進行資料庫的維護工作。

4.提供多種功能,可以使多個應用程式用戶用不同方法在同時不同時間去建立修改查詢資料庫

()主要組成:資料 (data)、硬體、軟體、使用者。

undefined

1.說明:

DBMS 的組成元件有「給使用者、資料庫管理師、相關系統的介面」,「資料操作語言」,「綱目」,及「實體資料儲存處」。

2.元件:

(1)給使用者、資料庫管理師、相關系統的介面:

a.使用者:

(a)查詢語言 (query language)

(b)實例查詢 (query by example, QBE)

(c)結構化查詢語言(Structured Query Language, SQL)

b.資料庫管理師:DBA 負責 DBMS 的管理與支援。

c.相關資訊系統:

(a)DBMS 可支援許多提供輸入給 DBMS 或是從 DBMS 取得特定資料的相關資訊系統。

(b) DBMS 與相關系統之間的雙向溝通中,並不需要使用者的介入。

(2)資料操作語言(data manipulation language, DML)

控制資料庫的操作,包括儲存、檢索、更新、或刪除資料。

(3)綱目(schema)

a.資料庫的完整定義,包含所有欄位、資料表及關聯性的描述。

b.可以定義一個或多個子綱目 (subschema)

(4)實體資料儲存處:

a.資料字典會被轉換成實體資料儲存處,它也包含了綱目及子綱目。

b.實體儲存處可以採集中式,也可以分散到數個地點。

c.ODBC:開放式資料庫連結 (Open Database Connectivity)

c.JDBCJAVA 資料庫連結 (JAVA Database Connectivity)

※參考資料:資訊系統與分析資料/邱賜福-系統分析與設計-4章需求塑模.ppt

()基本功能:資料庫的定義、建構、處理。

※參考資料:

http://wiki.mbalib.com/zh-tw/%E6%95%B0%E6%8D%AE%E5%BA%93%E7%AE%A1%E7%90%86%E7%B3%BB%E7%BB%9F

 

三、一個良好的DBMS所應具備的功能:主要議題

undefined

()重複性(redundancy)的控制

1.達成「資料的一致性」及「節省儲存空間」。

2.設定「主鍵」來控制 (資料表的主鍵不可重複)

3.把相同資料儲存多次的重複性現象會導致以下幾個問題:

(1)同樣更新動作重複執行:

同樣的更新動作需要執行很多次。例如假設要輸入一個新學生的資料,就必須修改每個記錄學生資料的檔案, 導致事倍功半。

(2)浪費儲存空間:

重複儲存相同的資料,對儲存空間而言是一種浪費。如果是大型資料庫,這種問題的後果可能會很嚴重。

(3)不一致(inconsistent)

a.不同檔案裡的相同資料,可能變得不一致。

b.原因可能是因為修改動作執行的不完全,沒有同時修改所有的檔案;或是因為不同的使用者羣組在修改檔案,而使得檔案的內容產生不一致。

c.例如某個使用者輸入的學生生日資料「JAN-19-1988」是錯誤的,而另一個使用者輸入的資料「JAN-29-1988」是正確的,結果同一個學生有兩個生日日期資料。

※參考資料:陳玄玲-資料庫系統原理第六版 1~16

()實施完整性限制(integrity constraints)

1.讓關聯表中的資料在經過新增、修改及刪除之後,不會將錯誤或不合法的資料值存入「資料庫」中。

2.完整性限制有個體整合性限制、參考整合性限制、特定資料整合性限制,例如身份證字號及員工代號不可為空、不可重複。

()提供備份(backup)與回復(recovery)

1.提供硬體或軟體故障中回復的功能,回復子系統要確保資料庫回復到程式開始執行前的狀態,或確保程式能從之前中斷處繼續執行。

2.備份策略如每天只備份差異 (有異動) 部份、每週週末執行一次完整備份。

()限制未授權的存取:提供安全性與認證機制。

()表示資料間的複雜關係:利用資料庫關聯的外鍵 (foreign key)

()提供多重使用者介面:針對不同程度的使用者,提供不同的使用者介面。

()使用演繹規則的資料庫推論

從已儲存的資料庫中推論出新的資訊,例如從 Birthday 推算出 Age、資料庫行銷 (Database Marketing) 常透過統計及資料挖掘 (Data Mining) 技術。

()程式物件與資料結構的永久儲存:複雜的程式物件或資料結構永久儲存。

 

四、資料庫系統的自我描述性

不僅僅包含資料庫本身,同時包含了對於資料庫的定義及描述,這些非資料內容本身的資訊儲存於系統目錄 (system catalog) 中,稱為中繼資料 (meta-data)。例如資料庫儲存結構資料項儲存格式資料間關係限制

undefined

 

五、資料庫的優點

undefined

()避免資料重複存放(Data Redundancy)

整合重複的資料增加效率。資料重複原因是備份。

()避免資料不一致(inconsistency):任何更新的動作會自動地更新。

undefined

()資料間的分享共用:不同應用程式共享資料庫的同一份資料。

()實施完整性限制(integrity constraints)

1.讓關聯表中的資料在經過新增、修改及刪除之後,不會將錯誤或不合法的資料值存入「資料庫」中。

2.完整性限制有個體整合性限制、參考整合性限制、特定資料整合性限制。例如身份證字號及員工代號不可為空、不可重複。

()提供備份與回復功能:必須提供從硬體或軟體故障中回復 (recover) 的能力。

()限制未授權的存取

大多數使用者不會被授權可存取資料庫中的全部資訊,例如財務方面的資料通常只有經過授權的人員方可存取。

()表示資料之間的複雜關係

一個資料庫可能包含許多種類的資料,彼此間以很多的方式相互關聯。

()提供多種使用者介面

因為有很多類型的使用者使用資料庫,他們的技術知識水準不一,所以應該提供多樣化的使用者介面,包括給偶爾使用的使用者所用的查詢語言、應用程式設計人員所用的程式語言介面、固定模式的使用者所用的表單和指令代碼,以及單機使用者所用的功能表介面和自然語言介面等。

()使用演繹規則的資料庫推論

從已儲存的資料庫中推論出新的資訊。例如從 Birthday 推算出 Age、資料庫行銷 (Database Marketing) 常透過統計及資料挖掘 (Data Mining) 技術。

()程式物件與資料結構的永久儲存

提供複雜的程式物件或資料結構永久儲存。這是物件導向資料庫系統(object-oriented database system) 的主要優點之一。

(十一)提供有效處理查詢的儲存結構和搜尋技術:

資料庫通常是儲存在磁碟中,為了能找到想要的記錄,DBMS 必須提供特定的資料結構以加速磁碟搜尋,而索引 (index) 的使用就是為了這個目的。

(十二)資料獨立性(Data Independence)

邏輯資料獨立 (Logical Data Independence) 與實體資料獨立 (Physical Data Independence)。實體儲存方式改變或資料庫結構改變不需改變上層應用。

※參考資料:陳玄玲-資料庫系統原理第六版 1-15~1-20

 

相關文章