第一章 資料庫概論
1-1 檔案系統
[檔案處理系統] 2 | 92,106
92地三、106調三(國三)
一、檔案系統的定義
(一)由使用者定義與實作
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調三(國三)
一、資料庫(Database)
(一)定義
1.資料庫是資料表 (table) 的集合體,一個資料庫可能有一個或多個資料表;資料表是由許多相同格式的資料記錄 (record) 所組成;在資料記錄中的每一個屬性稱為欄位 (field)。換言之,橫向的資料記錄和縱向的屬性欄位組織成一個資料表,儲存到電腦儲存設備後,就成了資料庫檔案。
2.將相關資料以系統化且有效率地儲存在一起,減少資料的重複性。
3.可以被特定組織的應用程式系統所使用,透過資料庫管理系統來管理。常見的資料庫有通訊資料庫、學籍資料庫、成績資料庫等,在資料庫中可以只有一個資料表,也可以把數十甚至數百個資料表集合起來。
4.用來建立資料庫系統的軟體種類很多,例如 Access、FoxPro、Informix、Oracle、Sybase、DB2 等。
※參考資料: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)、硬體、軟體、使用者。
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.JDBC:JAVA 資料庫連結 (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所應具備的功能:主要議題
(一)重複性(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)。例如資料庫的儲存結構、資料項的儲存格式、資料間的關係及限制。
五、資料庫的優點
(一)避免資料重複存放(Data Redundancy)
整合重複的資料增加效率。資料重複原因是備份。
(二)避免資料不一致(inconsistency):任何更新的動作會自動地更新。
(三)資料間的分享共用:不同應用程式共享資料庫的同一份資料。
(四)實施完整性限制(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
留言列表