Chap 2 資料庫系統.

Slides:



Advertisements
Similar presentations
第一單元 建立java 程式.
Advertisements

数据库原理及应用(ORACLE)实用教程
第 8 章 還原資料庫.
第一章 資料庫系統簡介 資料庫系統理論與實務
数据库系统原理及应用 Database Theory and Application
第2章 資料庫系統 2-1 資料庫環境的四大組成元件 2-2 ANSI/SPARC的三層資料庫系統架構
第2章 資料庫系統 2-1 資料庫環境的四大組成元件 2-2 ANSI/SPARC的三層資料庫系統架構
第 15 章 資料庫系統.
第1章 資料庫系統 1-1 資料庫系統的基礎 1-2 三層資料庫系統架構 1-3 資料庫綱要 1-4 資料庫管理系統 1-5 資料庫管理師
資料庫設計與應用 東吳大學會計學系 謝 永 明.
Ch01 資料庫系統理論 資料庫管理.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
歐陽芳泉 清雲科技大學資訊管理系 第1章 資料處理與資料庫 歐陽芳泉 清雲科技大學資訊管理系.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
LINQ 建國科技大學 資管系 饒瑞佶.
本 章 重 點 12-1 資料庫管理系統的基礎概念 12-2 SQL(Structured Query Language)語法簡介
二.資料庫系統建立與管理 Access 資料庫:windows下的單機資料庫 Access 操作 Mysql資料庫介紹.
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
辦公室自動化軟體: 資料庫管理Access 1 授課老師:林彣珊
101北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
Working with Databases (II) 靜宜大學資管系 楊子青
資料庫操作.
計算機概論 第十章 檔案與資料庫管理系統 陳維魁/陳邦治 旗標出版社.
類別(class) 類別class與物件object.
R教學 安裝RStudio 羅琪老師.
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
(Circular Linked Lists)
安裝JDK 安裝Eclipse Eclipse 中文化
資料庫系統導論.
連結資料庫管理系統.
App Inventor2呼叫PHP存取MySQL
第二章 SPSS的使用 2.1 啟動SPSS系統 2.2 結束SPSS系統 2.3 資料分析之相關檔案 2.4 如何使用SPSS軟體.
管理資訊系統導論 資訊系統的定義與概念.
Java 程式設計 講師:FrankLin.
FTP檔案上傳下載 實務與運用.
網際網路與電腦應用 林偉川 2001/11/08.
私立南山高中 信息組 電腦研習 電腦資料的備份 中華民國 99年4月20日 星期二.
Chap3 Linked List 鏈結串列.
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
簡介、 認識資料庫系統.
Topic Introduction—RMI
第一單元 建立java 程式.
TB-054A  周天穎 編著 儒林圖書公司 發行.
第 19 章 XML記憶體執行模式.
第一章 数 据 库 概 述 第一节 引言 第二节 数据库基本概念 第三节 数据库系统结构 第四节 数据模型 第五节 数据库管理系统
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
網頁資料知多少? 事 實 ? 謠言?.
PHP與MySQL 入門學習指南 凱文瑞克 著 第 22 章 SQL 介紹與建立MySQL資料庫.
資料庫管理系統 緒 論.
虛擬傢俱館 指導老師: 高玉芬 老師 組員: B 黃琪芳 B 蔡宜眞 B 林政緯
期末考.
SOCKET( ).
智慧型手機程式設計 建國科技大學資管系 饒瑞佶 2011年(992).
第十八章 資料庫與Access 課前指引 在日常生活中,無論各位到銀行開戶、醫院掛號或是到學校註冊,一定都會填寫所謂的個人資料,裡面通常包括姓名、性別、生日、電話、住址等項目,所以人們建立了各種不同的列表來儲存及組織這些資料。 人們當初試圖建造電腦的主要原因之一就是可用來儲存及管理一些數位化資料清單與資料,這也是資料庫觀念的由來。尤其在資訊科技發達的今日,日常的生活已經和資料庫產生密切的結合。例如目前最熱門的網路拍賣,如何讓千萬筆交易順利完成,或者透過手機記錄著他人電話號碼,並能分類與查詢電話。
MicroSim pspice.
資訊安全和資訊倫理宣導 永康區復興國小教務處.
第 4 章 認識 SQL 語言與資料型別.
黃影雯副教授講授 E_Mail Address:
北一女中 資訊選手培訓營 妳不可不了解的指標 Nan.
資料表示方法 資料儲存單位.
2017学考复习 信息管理(导引P37).
安裝JDK 配置windows win7 環境變數
連結資料庫 MYSQL.
多站台網路預約系統之 AJAX即時資料更新機制
簡介、 認識資料庫系統 (參考:SQL Server 2005 設計實務 旗標出版社)
SQLite資料庫 靜宜大學資管系 楊子青.
Chapter 4 Multi-Threads (多執行緒).
指導老師:張慶寶 組員 : 蔡維庭 4970E028 劉明哲 4970E079 葉聖鴻 4991E020 康有成 4970E004
InputStreamReader Console Scanner
Presentation transcript:

Chap 2 資料庫系統

2-1 資料庫環境的四大組成元件

2-1-1 使用者 終端使用者(End Users) 資料庫設計師(Database Designers) 資料庫管理師(Database Administrator, DBA) 系統分析師(System Analyst,SA)

2-1-2 資料 長存資料(Persistent Data) 系統目錄(System Catalog) 系統目錄是由資料庫管理系統自動產生的資料,或稱「資料字典」(Data Dictionary),其內容是從前述的操作資料所衍生的一些資料。 例如:資料庫結構的定義資料,它是用來描述資料本身,也稱為中繼資料(The data about data),系統目錄的主要用途是用來提供維護資料庫所需的資訊。

2-1-2 資料 索引資料(Indexes) 索引資料是一些參考資料,這是將資料庫中特定部分(屬性)的資料預先進行排序,並且提供「指標」指向資料庫真正儲存資料的位置,資料庫管理系統使用雜湊函數或B樹(B-Tree)等演算法來建立索引資料。

2-1-2 資料 交易記錄(Transaction Log) 交易記錄是資料庫管理系統自動產生的歷史資料,可以記錄使用者在什麼時間下達什麼指令或執行什麼操作。

2-1-3 軟體 資料庫管理系統(DBMS) 資料庫管理系統是一組程式模組用來定義、處理和管理資料庫的資料

2-1-3 軟體 資料庫管理系統語言(DBMS Languages)主要可以分成二個部分,如下所示: 定義部分:使用資料定義語言(Data Definition Language,DDL)定義資料庫的結構。 操作部分:直接使用資料操作語言(Data Manipulation Language,DML)或透過應用程式介面產生,就可以查詢資料庫資料或新增、刪除或更新資料庫的資料。

2-1-3 軟體 應用程式(Application Program) 開發工具(Development Tools) 應用程式是程式設計師使用開發工具或程式語言,所自行建立的專屬軟體。應用程式提供使用者相關的使用介面,透過使用介面的選單或按鈕,就可以向資料庫管理系統下達查詢語言的相關指令,在取得所需資料後,顯示或產生所需的報表。 開發工具(Development Tools)

2-1-4 硬體 安裝資料庫相關軟體的硬體設備,包含:主機(CPU、記憶體和網路卡等)、磁碟機、磁碟陣列、光碟機、磁帶機和備份裝置。 整個資料庫系統的硬體處理架構依其運算方式,可以分為:集中式或分散式的主從架構

2-2 ANSI/SPARC的三層資料庫系統架構

2-2 ANSI/SPARC的三層資料庫系統架構 概念層(Conceptual Level):資料庫管理師觀點的資料,這是資料庫儲存的完整資料,屬於在概念上看到的完整資料庫。 外部層(External Level):一般使用者觀點的資料,代表不同使用者在資料庫系統所看見的資料,通常只是部分資料庫的資料。 內部層(Internal Level):實際觀點所呈現的資料,這是實際資料庫儲存在電腦儲存裝置的資料。

2-2-1 概念層 在概念層看到的是整個資料庫儲存的資料,這是資料庫管理師觀點所看到的完整資料庫。因為它只是概念上的資料庫,所以並不用考量資料實際的儲存結構。 例如關聯式資料模型的資料庫在概念層所見的是以二維表格顯示的資料。

2-2-2 外部層 使用者面對的是外部層的使用者觀點的資料,這些資料包含多種不同觀點,例如:一間大學或技術學院,不同使用者的觀點,如下: 使用者觀點1:學生註冊資料 使用者觀點2:學生選課資料 使用者觀點3:學生成績單資料 外部層並沒有真正儲存資料,其資料都是來自於概念層的資料。外部層的資料如同裁縫師手上的布,可以將概念層的資料剪裁成不同衣服樣式的資料,相同資料可以顯示不同格式。

2-2-3 內部層 在內部層看到的是實際觀點的資料庫,這是實際儲存在磁碟等外部儲存裝置的資料,內部層在三層架構中扮演資料庫管理系統與作業系統的介面。 在內部層的資料是實際儲存在資料庫的資料結構或檔案組織所呈現的資料,例如:使用鏈結串列結構儲存資料,如下圖所示:

2-2-4 ANSI/SPARC三層資料庫架構的目的 使用者角度 使用者觀點所見的資料是獨立的 使用者並不用了解實際資料的儲存方式 資料庫管理師角度 更改實際儲存結構不會影響使用者觀點的資料 更改概念層的完整資料庫也不會影響使用者觀點的資料

2-3 資料庫綱要 (Database Schema)

2-3 資料庫綱要 (Database Schema) 綱要(Schema):資料描述的定義資料,對比程式語言的變數是資料型態(Data Type),例如:C語言宣告成整數的age年齡變數: int age; 資料(Data):資料本身,也就是程式語言的變數值,例如:年齡為20: age = 20;

2-3-1 三層資料庫綱要 外部綱要(External Schema):描述使用的資料。 概念綱要(Conceptual Schema):描述資料本身的意義。 內部綱要(Internal Schema):描述儲存的資料。

2-3-1 三層資料庫綱要 外部綱要(External Schema) 外部綱要源於概念綱要,主要是描述外部層顯示的資料,每一個外部層綱要只描述資料庫的部分資料,隱藏其他部分的資料。 每一個外部層使用者觀點的資料都需要一個外部綱要,在一個資料庫可能擁有多個外部綱要,如下圖所示:

2-3-1 三層資料庫綱要 概念綱要(Conceptual Schema) 概念綱要是描述概念層的完整資料庫,這是「概念資料庫設計」的結果,其主要是分析使用者資訊,以便定義所需的資料項目,並不涉及到底是使用那一套資料庫管理系統。 概念綱要描述完整資料庫的資料和其關聯,所以資料庫只能擁有一個概念綱要,如下圖所示:

2-3-1 三層資料庫綱要 內部綱要(Internal Schema) 內部綱要是描述內部層實際觀點的資料,定義資料的儲存結構和那些資料需要建立索引,如同概念綱要,資料庫只擁有一個內部綱要。 例如:C語言宣告學生Students的結構,如下: struct Students { char no[5]; char name[15]; char address[40]; int telephone; struct Date birthday; struct Student *next; };

2-3-2 資料庫綱要間的對映 三層資料庫綱要只是描述資料,真正的資料是儲存在外部儲存裝置的資料庫。 當以外部層使用者觀點顯示資料時,也就是參考外部綱要向概念綱要請求資料,然後概念綱要請求內部綱要從資料庫取得資料,在取得真正的資料後,資料需要進行轉換來符合概念綱要的定義,然後再轉換成符合外部綱要的定義,最後才是外部層使用者觀點看到的資料,在各層間進行的資料轉換過程,稱為「對映」(Mapping)。

2-3-2 資料庫綱要間的對映

2-3-2 資料庫綱要間的對映 各層綱要間的對映主要有兩種: 外部與概念對映(External/Conceptual Mapping):所有外部綱要都是對映到概念綱要,以便資料庫管理系統知道如何將外部層的資料連結到那一部分的概念綱要。 概念與內部對映(Conceptual/Internal Mapping):概念綱要對映到內部綱要的關聯,以便資料庫管理系統可以找到實際儲存裝置的記錄資料後,建立概念綱要的邏輯結構。

2-4 實體與邏輯資料獨立 資料獨立的基礎 資料庫綱要一共擁有兩種資料獨立: 三層資料庫綱要的主要目的是為了達成「資料獨立」(Data Independence),也就是說上層的綱要並不會受到下層綱要的影響,當下層綱要更改時,也不會影響到上層綱要。 資料庫綱要一共擁有兩種資料獨立: 外部與概念對映的邏輯資料獨立(Logical Data Independence)。 概念與內部對映的實體資料獨立(Physical Data Independence)。

2-4-2 邏輯資料獨立

2-4-2 邏輯資料獨立 當更改概念綱要,例如:新增或刪除實體、屬性或關聯性,並不用同時更改存在的外部綱要或重寫程式碼,因為可以透過外部與概念對映來達成邏輯資料獨立。 每當資料庫需要更改概念綱要時,只需配合修改外部與概念對映的定義,就可以在不更改存在的外部綱要下,取得相同使用者觀點的資料。

2-4-3 實體資料獨立

2-4-3 實體資料獨立 當更改內部綱要,例如:使用不同的檔案組織或儲存結構,並不用更改概念綱要和外部綱要,因為可以透過概念與內部對映來達成實體資料獨立。 每當資料庫需要更改內部綱要時,只需配合修改概念與內部對映的定義,就可以完全不動到概念綱要和外部綱要。

2-5 資料庫系統的優缺點 資料庫系統的優點 整合的資料管理 資料共享 減少資料重複 維持資料的一致性 資料獨立 提供單一介面和語言存取資料 更多的資料保密、安全管理和控制能力 提供多種觀點的資料 支援交易管理 具高可靠性 降低軟體開發的費用

2-5 資料庫系統的優缺點 資料庫系統的缺點 龐大的額外費用 資料轉換的成本 安全管理的漏洞 大幅更改作業流程 系統風險增加 人為風險增加

2-6 資料庫管理系統DBMS 「資料庫管理系統」(Database Management System, DBMS)從字面來說,是一套管理資料庫的軟體系統,它是由一組程式模組負責組織、管理、儲存和讀取資料庫系的資料,使用者對於資料庫的任何操作,都一定需要透過資料庫管理系統來處理。

2-6-1 資料庫管理系統的基本功能 資料管理(Data Management) 資料庫管理系統的最基本功能是資料管理,管理資料庫儲存的各種資料,包含:資料檔、系統目錄、索引資料、備份檔(資料庫管理系統備份資料庫時建立的檔案)和異動記錄。

2-6-1 資料庫管理系統的基本功能 資料庫管理系統語言(DBMS Languages) 資料定義語言DDL(Data Definition Language):這個語言的主要目的是建立資料庫綱要(Database Schema),其編譯後的指令敘述是儲存在系統目錄(System Catalog),使用者只需使用此語言就可以建立資料庫綱要。 資料操作語言DML(Data Manipulation Language):這個語言的指令敘述可以讓使用者存取和操作資料庫的資料,這是使用者與資料庫管理系統間溝通的語言。

2-6-1 資料庫管理系統的基本功能 安全管理(Security Management) 自由選擇存取控制(Discretionary Access Control, DAC) 強制存取控制(Mandatory Access Control, MAC) 備份與回復管理(Backup and Recover Management) 交易管理(Transaction Management) Step 1: 讀取帳戶A的餘額1000, 準備扣款 Step 2: C匯入200至帳戶A, 此時餘額1200 Step 3: 從帳戶A扣款, 寫回餘額1000-100=900

2-6-1 資料庫管理系統的基本功能 資料完整性管理(Data Integrity Management)

2-6-2 資料庫管理系統的系統架構

2-6-3 常見的資料庫管理系統 商用的資料庫管理系統 免費的資料庫管理系統 SQL Server、Access、IBM的DB2、Oracle、INGRES、Sybase、Informix、InterBase。 免費的資料庫管理系統 MySQL、PostgreSQL、Firebird。

2-7 資料庫管理師 「資料庫管理師」(Database Administrator, DBA)負責和執行一個成功資料庫環境的相關管理和維護工作。事實上,資料庫管理師負責很多工作,它可以是一個人,也可能是一個小組來擔任。 資料庫管理師的主要目的是維護資料庫系統的正常運作,並且提供使用者存取所需的資料。

2-7 資料庫管理師 所需背景 資料庫管理師需要公司管理和資料庫等電腦技術的專業知識: 熟悉作業系統操作。 熟悉一種或數種資料庫管理系統的使用。 精通資料庫系統提供的查詢語言,例如:SQL Server的Transact-SQL,Oracle的PL/SQL。 資料庫設計,至少需要清楚公司資料庫系統的資料庫綱要。 對電腦硬體的網路架構有一定的了解,例如:主從架構和Internet網際網路。

2-7 資料庫管理師 扮演的角色

2-7-2 資料庫管理師負責的工作 維護資料庫綱要 資料庫管理師需要參與資料庫設計(Database Design),提供資料庫設計師關於概念層綱要的修改建議。 資料庫管理師需要負責從資料庫使用的資料模型,例如:關聯式資料模型,和系統規格建立有效的資料庫設計,也就是描述資料庫在外部儲存裝置的實際資料結構。其主要的工作,如下: 決定哪些資料存入資料庫。 決定使用的資料結構 決定使用者觀點的資料。

2-7-2 資料庫管理師負責的工作 資料管理 資料庫管理師最主要的工作是資料管理,提供公司或組織一個集中管理的資料庫,並且依據各部門的需求,提供不同觀點的資料,其主要的工作,如下所示: 管理和維護系統目錄(System Catalog)。 使用者管理和存取控制。 資料安全控制(Data Security Control)。 資料完整性檢查(Data Integrity Checking)。 轉換資料。

2-7-2 資料庫管理師負責的工作 維護和監控資料庫管理系統 安裝和升級資料庫管理系統。 監控和調整資料庫的效能。 使用者的稽核追蹤。 容量計劃和選擇儲存裝置。 備份與回復。