Transcript Document
第1章 資料庫與資料庫使用者 1 學習重點 ☼ 資料庫類型與資料庫應用 ☼ 基本定義 ☼ 典型的資料庫管理系統功能 ☼ 資料庫範例 ☼ 資料庫技術的主要特色 ☼ 資料庫的各種使用者 ☼ 使用資料庫技術的優點 ☼ 使用資料庫技術的間接好處 ☼ 資料庫系統的簡史 ☼ 擴展資料庫的功能 ☼ 何時不必使用資料庫 資料庫管理 2 資料庫類型與資料庫應用 ☼數字和文字資料庫 ☼多媒體資料庫 ☼地理資訊系統 (GIS) ☼資料倉儲 ☼即時資料庫和主動資料庫 資料庫管理 3 近年資料庫系統的新應用領域 新應用資料庫 多媒體資料庫(multimedia database) 地理資料系統(GIS) 說明 儲存圖片、影片和聲音 訊息 儲存和分析地圖、天氣 資料和衛星影像 從大型資料庫擷取和分 析資訊,提供決策之用 資料倉儲(Data warehouse) 和線上分析處理系統 (OLAP) 即時(real-time)資料庫和主 用於控制工業和製造的 動(active)資料庫 程序 資料搜尋技術 資料庫管理 應用於全球資訊網上, 用來改善使用者在網際 網路上的瀏覽效率 4 基本定義 ☼ 資料庫:是一組相關資料的集合 ☼ 資料:可以被記錄下來且具有隱含意義的事實 (fact) ☼ 迷你世界(Mini-world):真實世界的一部分, 其資料是儲存在資料庫中。 ☼ 資料庫管理系統(Database Management System,DBMS):一種套裝軟體/系統,用 來建立和維護電腦化的資料庫 ☼ 資料庫系統:由DBMS軟體和它裡面的資料所組 成。有時候應用程式也包括在內 資料庫管理 5 典型的資料庫管理系統功能 (1/2) ☼常用功能: ♦ 定義資料庫:指定資料的資料型態、結構 與限制 ♦ 建構資料庫:將資料儲存到DBMS控制下的 儲存媒體的過程 ♦ 處理資料庫:查詢、新增、刪除、修改其 內容,以及產生報表 ♦ 共享資料庫:允許多個使用者與程式同時 存取資料庫,同時必須保持所有的資料是 有效而一致的 資料庫管理 6 典型的資料庫管理系統功能 (2/2) ☼其他功能: ♦ 系統保護功能:目的是保護資料不受軟硬 體故障所損壞 ♦ 安全保護功能:目的是避免未經授權的存 取動作 ♦ 資料的展示與視覺化 資料庫管理 7 簡化的資料庫系統環境圖 資料庫管理 8 資料庫範例 (1/3) ☼此例的迷你世界:大學 (UNIVERSITY) 環境的一部分 ☼這個迷你世界的某些實體 (entity): ♦ ♦ ♦ ♦ ♦ STUDENT (學生) COURSE (課程) SECTION (課程的某一門課) DEPARTMENT (系所) INSTRUCTOR (教師) 資料庫管理 9 資料庫範例 (2/3) 表格名稱 表格內容說明 STUDENT 儲存每個學生的基本資料 COURSE 儲存每門課程的基本資料 SECTION 儲存每個學期各課程的資料 GRADE_REPORT 儲存每個學生修完的各課程 成績資料 儲存每個課程的先修課程資 料 PREREQUISITE 資料庫管理 10 資料庫範例 (3/3) ☼ 存在於這個迷你世界的一些關係: ♦ ♦ ♦ ♦ ♦ ♦ 特定COURSE的SECTION STUDENT選修多個SECTION 有些COURSE有指定的先修COURSE INSTRUCTOR敎授SECTION COURSE是由DEPARTMENT提供 STUDENT主修DEPARTMENT Note:以上這些在實體關聯 (Entity-Relationship, ER) 資料模型中都可以表達 資料庫管理 11 資料庫技術的主要特色 (1/3) ☼資料庫系統的自我描述本質:DBMS的目 錄 (catalog) 中儲存有資料庫的描述,這些描述 資料稱為中繼資料 (meta-data)。因此DBMS軟 體能與不同的資料庫一起工作 ☼隔離程式與資料:這種特性稱為程式與 資料獨立 (program-data independence)。它 使得不需要修改DBMS存取程式,就可 以變更資料儲存結構和運算動作 資料庫管理 12 資料庫技術的主要特色 (2/3) ☼資料抽象化:資料模型 (data model) 是用來隱藏儲存和實作細節,並將資 料庫以概念視界 (conceptual view) 方式向使用者展示 ☼支援資料的多重視界:每個使用者所 看到的資料庫視界可能會不同,裡面 只描述該使用者需要知道的資料 資料庫管理 13 資料庫技術的主要特色 (3/3) ☼資料共享與多使用者的交易處理:能讓 多位使用者同時存取和更新資料庫。 DBMS的協同控制 (concurrency control) 功能可確保每筆交易都是正確的執行完 成或完全不執行。這類資料庫應用程式 主要是OLTP (Online Transaction Processing) 應用程式 資料庫管理 14 資料庫目錄範例 (1/2) Relations(關聯表) Relation_name (關聯表名稱) STUDENT COURSE SECTION GRADE_REPORT PREREQUISITE 資料庫管理 No_of_columns (欄位個數) 4 4 5 3 2 15 資料庫目錄範例 (2/2) Columns (欄位) Column_name (欄位名稱) Data_type (資料型態) Name Character(30) STUDENT Student_number Character(4) STUDENT Class Integer(1) STUDENT Major Major_type STUDENT Course_name Character(10) COURSE Course_number XXXXNNNN COURSE …… …… …… …… …… …… Prerequisite_number XXXXNNNN 資料庫管理 Belongs_to_relation (隸屬於那個關聯表) PREREQUISITE 16 資料庫的各種使用者 (1/4) ☼資料庫的使用者可以分成: ♦ 真正在使用和控制內容的人 ─ 舞台上 的演員 ♦ 設計與建置DBMS軟體的人 ─ 幕後工 作者 資料庫管理 17 資料庫的各種使用者 (2/4) ☼舞台上的演員 ♦ 資料庫管理師:負責授權存取資料庫、 協調及監督資料庫的使用、取得軟硬體 資源、控制它的使用和監督運作的效能 ♦ 資料庫設計師:負責定義資料庫的內容、 結構、限制,以及函數和交易。他們必 須與終端使用者溝通以了解他們的需求 ♦ 終端使用者:他們會查詢和使用資料來 製作報表,其中一部分人可以修改資料 庫的內容 資料庫管理 18 資料庫的各種使用者 (3/4) ♦ 終端使用者又可分為 ▫ 偶爾使用:需要時偶爾會存取資料庫 ▫ 初學或固定模式:這部分佔資料庫終端使 用者相當大的一部份。他們使用事先定義 好的 「固定交易」(canned transaction) 來 使用資料庫。例如銀行出納員和訂位人員 ▫ 熟練:包括工程師、科學家、商業分析師, 以及其他對DBMS的功能相當熟悉的人。 其中很多人還會使用套裝軟體來利用資料 庫 ▫ 單機:這大多是使用現成套裝軟體來維護 個人的資料庫。例如報稅軟體的使用者 資料庫管理 19 資料庫的各種使用者 (4/4) ☼幕後工作者 幕後工作者類型 工作說明 DBMS系統設計師與 實作人員 工具開發人員 設計和撰寫DBMS模組與 介面成為套裝軟體 設計和實作工具程式的人 操作和維護人員 負責實際執行與維護資料 庫系統軟硬體環境的系統 管理人員 資料庫管理 20 使用資料庫技術的優點 (1/2) ☼控制在資料儲存與開發和維護方面的 重複性 ☼多位使用者可共用資料 ☼限制未經授權的存取 ☼提供程式物件永久的儲存空間 ☼提供有效處理查詢的儲存結構 資料庫管理 21 使用資料庫技術的優點 (2/2) ☼提供備份與回復功能 ☼提供多種使用者介面 ☼表示資料之間的複雜關係 ☼實施資料庫上的完整性限制 ☼允許使用規則來進行推理與主動性 資料庫管理 22 使用資料庫技術的間接好處 (1/2) ☼強制符合標準:這對大型機構中的資料 庫應用程式能否成功非常重要。這裡的 標準包括資料項目、顯示格式、報表結 構、中繼資料等 ☼減少應用程式開發的時間:新增每個新 應用程式所花的時間會減少 資料庫管理 23 使用資料庫技術的間接好處 (2/2) ☼變更資料結構的彈性:當需求改變時, 資料庫的結構可能也需要改變 ☼可使用到最新的資訊:這對線上交易系 統非常重要,例如訂位或訂房系統 ☼經濟效益:整合跨不同部門的資料和應 用程式,可避免人力與資源的浪費 資料庫管理 24 資料庫系統的簡史 (1/2) ☼早期的資料庫應用程式:階層式和網路式 模型在1960年代中期推出,而在70年代 主導整個市場。目前仍有許多全球性的資 料庫處理工作是以這些模型為基礎。 ☼以關聯式模型為基礎的系統:此模型一開 始是在70年代推出,經過IBM與學術機構 的大量研究與實驗而成。在80年代開始出 現大量的關聯式DBMS產品 資料庫管理 25 資料庫系統的簡史 (2/2) ☼物件導向應用程式:OODBMS是在1980 年代後期出現,而在1990年代早期正好 迎合如CAD等應用的複雜資料處理的需 求。目前使用尚未普遍 ☼在Web上交換電子商務資料:Web上的 網頁原本大多是以HTML (Hypertext markup language) 撰寫而成。為了能在 Web上交換資料,因而發展出多種技術, 目前的主流是XML (eXtended Markup Language) 資料庫管理 26 擴展資料庫的功能 (1/2) ☼資料庫系統的新應用領域 新應用領域 說明 科學 用來存放由科學實驗得到的大量資料, 例如高能量物理學或人類基因學 影像 儲存與擷取新聞照片或精密的衛星影像 或醫學影像 視訊 儲存與擷取從電影或數位攝影機取得的 視訊資料 資料探勘 (data mining) 分析大量的資料,找出隱藏的資訊或關 係 空間(spatial)資料 儲存空間位置資料,像是天氣資訊或地 理資訊系統中的地圖 時序(time series)資料 儲存隨著時間過去的即時資料,例如每 天的銷售數字 資料庫管理 27 擴展資料庫的功能 (2/2) ☼關聯式系統不適用資料庫新應用領域的原 因如下: ♦ 需要更複雜的資料結構 ▫ 用簡單的關聯無法表示 ♦ 需要新的資料型態 ▫ 除了基本的數字和字元型態 ♦ 要有新的運算和查詢語言來處理新的資料型態 ♦ 需要新的儲存方式和索引結構 資料庫管理 28 何時不必使用DBMS ☼使用DBMS的初始成本: ♦ 剛開始的投資很大,而且可能需要額外的硬體 ♦ 為了提供安全性、並行控制、復原和完整性而產生的額 外負擔 ☼在何時不必使用DBMS: ♦ 假如資料庫和應用程式都很簡單、定義良好,而且不會 修改 ♦ 假如因為DBMS的額外負擔,使得有些程式可能會無法 符合嚴格的即時(real-time)需求 ♦ 假如不需要讓多位使用者存取資料 資料庫管理 29