2.4 網頁資料庫系統概述
2.4.2 網頁資料庫系統之技術
2.4.2.1 資料庫系統
網頁資料庫系統架構中,資料庫系統的部分又可分為兩個部分:資料庫(Database)與 資料庫管理系統(Database Management System,DBMS)。前者是用來接收與存取訊號資 料的地方,在電腦中是對應到一個實體檔案;後者指的是負責資料庫與使用者間作溝通 的資料庫管理軟體,是負責資料庫維護管理及統計分析之程式,故管理系統功能和性能 的強弱對於整體系統而言影響甚大,不得不謹慎挑選資料庫管理系統之使用[30]。
而使用資料庫系統的好處是什麼呢?其優點可列舉為:具有簡潔性,可增快資料擷 取與儲存的速度,也可以提高資料的保密性(Security),最重要的是其可以有效的管理龐 大的資料量,不僅可以不斷的更新資料(Up-to-Date Information)、減少資料重複儲存、減 少資料的不一致性,還可讓資料保有其獨立性(Data Independence)的同時讓資料間可以 得到共享與整合,且資料庫系統還可以提供決策支援的服務(Decision Support),對於龐 大而繁雜的資料量而言好的資料庫系統將可以扮演好一個有效的管理者角色。
(1) 資料庫(Database)
資料庫主要的功能是作為資料接收與儲存的實體空間,對於電腦而言其為一實 體之檔案。如圖 2-25 所示:
70
圖 2-25 資料庫管理系統中之資料庫實體檔案存放位置
(2) 資料庫管理系統
資料庫是網頁資料庫系統是後端應用程式的重要元件之一,除了提供資料儲存之空 間與機制外,還提供了資料統計、分析與決策之功能,使龐大而繁雜的資料變成具有意 義之資訊。資料庫管理系統在企業中是相當常用的基礎設備,它是一套軟體而不是一套 硬體設備,其主要之功能為讓所有資料透過資料表單(Table)的形式,將資料有系統地分 類與儲存,以節省更多的管理與搜尋時間。資料庫管理者(DBA)在建立資料庫後,即 可對資料庫裡之資料進行分析,並建立合適的索引以有效的因應使用者的查詢與使用,
由於使用者對資料庫的查詢會隨時間或需求的不同而改變,以致先建立的索引,必須隨 著調整,以維持或提高資料庫之效能,因此資料庫索引調校(Database Index Tuning)
工具扮演了重要角色,幫助資料庫系統管理者在有限的資源與時間中找到資料庫的最佳 效能點。資料庫管理系統依用途與資料模型又可分為網狀資料庫、階層與關聯式資料庫 三種[31]。
資料庫管理系統中之資料 庫(DATABASE)實體檔案
71
(a) . 網狀資料庫(Network data model):
其為最找研發出來的資料形式,其資料組成的模式可視為一組網狀的結構 型態。。
(b) . 階層式資料庫(Hierarchical data model):
其資料的組成為樹狀結構的型態,即類似樹狀階層的模式。
(c) . 關聯式資料庫(Relational data model):
關聯式資料庫是由許多個資料表 (table) 所組成的資料表內有很多筆之記 錄(record),每筆紀錄又是由數個欄位(field)組成的。我們可將這些資料之間 的關聯性視為一表格。其為目前最成功之資料組成形式,如圖 2-26 所示。
關聯式資料庫又可分為單機資料庫、File Server 資料庫、Client Server 資料 庫。其中單機資料庫是只能提供於本機使用,無法與人共享資料庫。因此架構 也比較簡單,速度也較快。而 File Server 資料庫則是以分享資料庫檔案的方式,
共同使用資料庫之資料,修改資料必須透過資料庫之應用程式,查詢資料庫時 則必須透過網路傳送整個資料庫的資料,架構簡單,但速度、容量與安全性都 較差。最後一類 Client Server 資料庫,其為透過資料庫管理系統處理所有工作 站對資料庫的查詢修改與新增之要求可自動做到資料同步的效果。網路上指傳 遞要求與結果,可大幅降低網路寬頻的需求,利用 cache 等方式來提升工作效 率,於速度容量安全性上都占有優勢。而目前較常用之資料庫管理系統為 Oracle、Informix、SQL Server,另外 Postgresql 與 MySQL 則是較強大且免費之 系統。無線感測網路內嵌之存放訊號資料之資料庫程式則為 Postgresql,也是本 資訊系統欲採用之資料庫管理系統。
72
圖 2-26 資料表形式
而目前市面上常運用的資料庫軟體程式種類繁多,每一種軟體皆有其自訂的資料格 式,也都有其獨到的地方,例如 Microsoft 公司所出品的 Access 系列、SQL Server 系列、
Visual FoxPro 系列,Oracle 公司出品的 Oracle 系列資料庫以及 Linux 環境下的 SyBase 與 MySQL 等,以下為各資料庫管理系統之軟體程式的比較,如表 2-15 所示。
表 2-13 資料庫軟體之比較表
資料庫軟體 資料庫軟體之介紹
PostgreSQL
Postgres 除了符合傳統關聯式資料庫管理系統 ( DBMS )有支 援由資料表所組成的集合外,他還通過了一種讓用戶可以很容易擴展 系統的方法,其整合了類/表(classes)、繼承(inheritance)、型態(types)
與函數(functions)四種基本概念,其他特性還提供了附加的功能和靈 活性,如:約束(constraints)、觸發器(triggers)、規則(rules)、
事務完整(transaction integrity) 等。
73
資料庫軟體 資料庫軟體之介紹
Microsoft Access
Access 是目前使用最為普及的資料庫系統,它既便宜又容易使 Microsoft Office 套裝軟體為辦公環境的辦公室。Access 支援基本的交 易鎖定,但是不能使用預存程序或觸發。它同時也支援使用者名稱及 密碼的安全機制。
Microsoft SQL Server 2000
Microsoft 的企業級資料庫已經被很多大型公司諸如 Dell、Nasdaq 以及 Monster.com 所採用,其功能強大且易於使用的資料庫。不過 SQL
MySQL
MySQL 是一個快速、多線性(multithread)、多使用者和強壯的 SQL資料庫伺服器。它可以在很多不同的平台上跑,包括 Linux、Windows、
OS/2、Solaris、Unix 等,基本上 MySQL 是免費的,但是在 Windows 平
74 用的應用程式為 ASP.NET、ASP、CGI、JSP 與 PhP,以下為各應用程式之特點概述[32]。
ASP.NET
最新版為 ASP.NET 2.0,其為 ASP 3.0 的下一個版本,是一種全新的伺服端技術,
其使用的是 Common Language Runtime ( CLR )架構的程式設計平台,只需具有支援 CLR 的語言就可以於伺服端建立 Web 應用程式。
ASP
Active Sever Pages ( ASP ),其為一可讓網頁在伺服端動起來的技術,能夠將 Script 語言直接內嵌至 HTML 的網頁中,並使伺服端產生動態的網頁內容,ASP 之技術可以 多種語言來撰寫,如 JavaScript 和 VBScript,其非執行檔而是一在伺服端以直譯方式執 行的網頁技術。
CGI
Common Gateway Interface( CGI ),共通閘道介面提供 Web 伺服器執行外部程式的 管道,CGI 應用程式式執行檔,屬於外部程式,可使用各種程式語言來開發,如 Visual Basic、C、C++、Perl,程式需要編譯成執行檔,以便於伺服器上直行,其應用程式的運