本文要來聊聊一個程式設計師需要知道資料庫觀念,主題如下:
- 什麼是資料庫。
- 有哪幾種資料庫系統。
- 資料庫正規化。
- 程式如何與資料庫系統互動。
- 未來可能的趨勢。
什麼是資料庫
資料庫的英文為 Database = Data + Base,其中的 Base 含有基礎架構的意義在,可以把 Base 視為收集資料的集中地,不過這個集中地不是紙本的檔案室,而是電子化的儲存設備(通常為硬碟)。但當資料沒有規劃地收集起來並存放的話,要找資料的時候就會很麻煩,例如圖書館的書籍若沒有分類的話,那讀者要怎麼找書呢?而要將資料分類時,首先要找出資料之間的關聯性,這也衍生出關聯式資料庫(Relational Database),此文會以關聯式資料庫做為講解。有哪幾種資料庫系統
有了資料之後,要將資料分類時,總不能一直用人工的方式來作業吧,於是需要一套系統來建立並管理資料庫,而在電腦軟體裡,此套系統叫做「資料庫管理系統」,而關聯式資料庫管理系統是用來管理關聯式資料庫的。目前已有很多套的關聯式資料庫管理系統,比較有名的為 Oracle Database、Microsoft SQL Server、MySQL、IBM DB2等。資料庫正規化
正規化是為了消除重複資料所做的處理,可以用來減少資料儲存異常的情況發生。此部分可參考 為何使用資料庫儲存資料時,需要先執行正規化? 一文。
程式如何與資料庫系統互動
下圖為程式與RDBS連線時的概念圖:圖中的Application可以為C、Java、PHP等程式語言開發出來的程式。DBC是DataBase Connector的縮寫,DBC API為程式語言在處理資料庫的函式庫,DBC Driver處理與資料庫系統的通訊細節,這是因為不同的資料庫系統會有不同的資料處理方式,這裡的Driver與API是借用硬體驅動程式的觀念,目的是要讓同一個程式語言使用一套API就可以處理不同的資料庫系統。
沒有留言:
張貼留言