第一章 認識資料庫系統.

Slides:



Advertisements
Similar presentations
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
Advertisements

第 15 章 資料庫系統.
管理資訊系統 David Kroenke 資料庫處理 第4章.
計算機概論 1001課後輔導教材 單元 5:資料庫系統 主講老師:徐培倫.
第 15 章 資料庫系統.
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
数据库原理与应用     制作人:王春玲         黄金燕         张惠萍         陈志泊 人民邮电出版社.
第一章 資料庫系統基本觀念.
第一篇資料庫概論 第一章資料庫的發展及種類 1-1 什麼是資料庫 1-2 為何使用資料庫 1-3 資料庫系統的架構發展 1-4 資料庫基礎.
資料庫系統概觀 Database System
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
LINQ 建國科技大學 資管系 饒瑞佶.
Java簡介.
Chapter 1 Introduction.
SQL結構化查詢語言 SQL是 Structured Query Language 的縮寫,簡單的說,SQL是一種與資料庫溝通的共通語言,它是當時在 IBM 工作的 E.F. Codd於1970 年針對關聯式模型 ( relational model ),所建構出來的資料庫理論,也因此有了所謂關聯式資料庫的系統,但在發展的初期,由於各種關聯式資料庫系統廠商的.
本 章 重 點 12-1 資料庫管理系統的基礎概念 12-2 SQL(Structured Query Language)語法簡介
連結資料庫 ACCESS MSSQL.
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
資料庫管理 操作DBMS 指導教授:楊維邦  助教:廖皓翔.
第五章 關聯式資料庫的理論基礎.
彰化縣政府補助辦理網頁設計資料庫應用班 資料庫簡介 建國技術學院資管系 饒瑞佶.
資料庫操作.
桌面環境簡介及IDE開發工具 Outline (一)什麼是Linux? (二)桌面環境系統簡介 (三)IDE開發工具.
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
無線射頻識別系統(RFID) 基本原理及發展與應用
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
SQL結構化查詢語言 SQL是 Structured Query Language 的縮寫,簡單的說,SQL是一種與資料庫溝通的共通語言,它是當時在 IBM 工作的 E.F. Codd於1970 年針對關聯式模型 ( relational model ),所建構出來的資料庫理論,也因此有了所謂關聯式資料庫的系統,但在發展的初期,由於各種關聯式資料庫系統廠商的.
資料庫系統導論.
OpenID與WordPress使用說明
連結資料庫管理系統.
管理資訊系統導論 資訊系統的定義與概念.
Java 程式設計 講師:FrankLin.
FTP檔案上傳下載 實務與運用.
網際網路與電腦應用 林偉川 2001/11/08.
指導老師:黃貞芬 老師 專題組員:B 黃育宇 B 魏志軒 B 平震宇
Chap3 Linked List 鏈結串列.
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
簡介、 認識資料庫系統.
Topic Introduction—RMI
網頁程式設計 本章投影片錄自HTML5、CSS3、RWD、jQuery Mobile跨裝網頁設計 陳惠貞 著 碁峰資訊股份有限公司出版
TB-054A  周天穎 編著 儒林圖書公司 發行.
CH03 行銷資訊系統資料庫模組--資料庫概論
第 19 章 XML記憶體執行模式.
江西财经大学《数据库应用》精品课程组 2011年 Comments are welcome!
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
PHP與MySQL 入門學習指南 凱文瑞克 著 第 22 章 SQL 介紹與建立MySQL資料庫.
虛擬傢俱館 指導老師: 高玉芬 老師 組員: B 黃琪芳 B 蔡宜眞 B 林政緯
主從式資料庫架構 臺北大學統計系 莊東穎.
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
電子期刊使用統計 CONCERT 2002 meeting November 13-14, 2002 羅宙康 Springer-Verlag
MicroSim pspice.
電腦概論考題分析 佛學資訊組 碩一 張榮顯.
MiRanda Java Interface v1.0的使用方法
編輯網頁可用那些應用程式? 記事本 Word FrontPage Dreamweaver.
第 4 章 認識 SQL 語言與資料型別.
Chapter 15 檔案存取 LabVIEW中的檔案存取函數也可將程式中的資料儲存成Excel或Word檔。只要將欲存取的檔案路徑位址透過LabVIEW中的路徑元件告訴檔案存取函數後,LabVIEW便可將資料存成Excel或Word檔;當然也可以將Excel或Word檔的資料讀入LabVIEW的程式中。
商品交易資料庫 顧客上網買商品 如何紀錄客戶資料? 如何紀錄商品資料? 如何紀錄交易資料? 如何處理交易後的所有『後處理』程序?
第四章 通訊與網路管理 授課老師:褚麗絹.
資料表示方法 資料儲存單位.
資料擷取與監控應用實務.
2017学考复习 信息管理(导引P37).
国家“十一五”规划教材 数据库原理与应用教程(第3版).
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
連結資料庫 MYSQL.
簡介、 認識資料庫系統 (參考:SQL Server 2005 設計實務 旗標出版社)
SQLite資料庫 靜宜大學資管系 楊子青.
Chapter 4 Multi-Threads (多執行緒).
第 1 章 認識資料庫系統.
Presentation transcript:

第一章 認識資料庫系統

1-1 資料庫系統簡介 資料庫系統 (Database System) 是電腦化的資料儲存系統, 使用者則透過各種應用程式來存取其中的資料。 資料庫系統又可分為兩個部份:資料庫 (Database #) 與資料庫管理系統 (DataBase Management System, DBMS #)。

資料庫系統簡介 例如: VB, Java, …所寫的程式

資料庫系統簡介 資料庫是儲存資料的地方。 一個資料庫系統中可以有多個資料庫, 每個資料庫都是一組經過整理好的資料集合。 一般, 我們會將資料庫想像成是一個存放資料的容器, 但資料庫的真實型態其實是一個個的電子檔案 (file)。

資料庫系統簡介 資料庫管理系統則是指管理資料庫的軟體, 它們負責使用者與資料庫之間的溝通, 如存取資料庫中的資料、以及管理資料庫的各項事務等。 Microsoft 的 Access , 還有許多用在大型資料庫系統上的 Microsoft SQL Server、Oracle、SyBase、Informix、MySQL、PostgreSQL ... 等皆是資料庫管理系統。

1-2 資料庫的類型 就資料庫中資料的儲存架構來看, 資料庫又可分為多種類型, 較常見的有 4 種: 就資料庫中資料的儲存架構來看, 資料庫又可分為多種類型, 較常見的有 4 種: 階層式(Hierarchical Database #) 網狀式(Network Database #) 關聯式(Relational Database #) 物件導向式(Object-Oriented Database #)

階層式資料庫(Hierarchical Database) 階層式資料庫採用樹狀結構, 將資料分門別類儲存在不同的階層之下。 此類型的優點是資料結構很類似金字塔, 不同層次間的資料關聯性直接且簡單;缺點則因資料以縱向發展, 橫向關聯難以建立, 所以資料可能會重複出現, 造成管理維護上的不便。 IBM 的 IMS (Information Management System) 即是屬於此類的資料庫管理系統。

階層式資料庫(Hierarchical Database) 大華圖書公司 新竹縣芎林鄉… . . . . 小明圖書公司 新竹縣新豐鄉… . . . . Java程式設計 550 C++程式設計 700 . . . . . . . . 資料庫理論 650 資料庫原理 900 . . . . . . . . 張三 台北市中山路… 王五 台南市中正路… 趙六 台中市中平路… 李四 台北市南陽路… 孫七 台南市中山路… 李四 台北市南陽路… 張三 台北市中山路… 此種資料庫的特性很適合用來描述一對多的關係, 但遇到多對多的關係時, 就會難以描述。

網狀式資料庫(Network Database) 網狀式資料庫是將每筆記錄當成一個節點。 節點與節點之間可以建立關聯 (也就是建立記錄與記錄間的關聯), 形成一個複雜的網狀架構。 優點是避免了資料的重複性。 缺點是關聯性比較複雜, 尤其是當資料庫的內容愈來愈多的時候, 關聯性的維護會變得非常麻煩。 Computer Associates 公司曾經推出的 IDMS (Integrated Database Management System)即是屬於此類的資料庫管理系統。

網狀式資料庫(Network Database) Java程式設計 550 華碩書局 台南市 系統分析與設計 600 大華出版社 台南市 程式設計精華 800 聯電書局 台北市 小明出版社 台北市 C++程式設計 400 宏碁書局 高雄市 資料庫理論 600 元培出版社 高雄市 書 局 資 料 財務分析 450 出版商資料 書 籍 資 料 請查出: 華碩書局向哪些出版社訂購哪些書?

關聯式資料庫(Relational Database) 關聯式資料庫是以 2 維的矩陣來儲存資料。 可以說是將資料儲存在表格的欄、列之中。

關聯式資料庫(Relational Database) 這種方式的優點是可以從一個資料表中的欄位, 透過資料表的關聯, 而找到另一個資料表中的資料。

關聯式資料庫(Relational Database) 目前市場上是以關聯式資料庫使用最廣泛。 像 Microsoft SQL Server、SyBase、Informix、MySQL、PostgreSQL、Access...等, 都是屬於關聯式資料庫管理系統 (Relational DBMS, 縮寫為RDBMS (Relational Database Management System #))。

物件導向式資料庫(Object-Oriented Database) 物件導向資料庫是以物件導向的方式來設計資料庫, 其中包含了物件的屬性、方法、類別、繼承等特性。 屬於這類的資料庫管理系統有 Computer Associates 公司的 Jasmine、Eastman Kodak 公司的 Alltalk、Servio 公司的 GemStone、O2 Technology 的 O2 ...等資料庫管理系統。 此外也有關聯式資料庫為主, 再於其上架設物件導向概念的資料庫, 如PostgreSQL 。

物件導向式資料庫(Object-Oriented Database) 底下是一個物件導向式資料庫的結構示意圖:

物件導向式資料庫(Object-Oriented Database) 若以關聯式資料庫和物件導向式資料庫來做比較, 關聯式資料庫必須由資料庫設計者來設計、建立及管理關聯。 物件導向式資料庫中, 物件和物件之間的連繫, 是因其屬性而必然發生的。

物件導向式資料庫(Object-Oriented Database) 先看下面這張關聯式資料庫的資料表:

物件導向式資料庫(Object-Oriented Database) 由上圖可知, 兩個資料表是藉由客戶編號來達成關聯的。 而這個關聯性在關聯式資料庫中, 必須由設計者自行建立才會真正產生關聯。

物件導向式資料庫(Object-Oriented Database) 接著看下面的物件導向式資料庫: 上圖中, 兩個物件是透過 OID 來連繫起來的。 簡單地說, 在關聯式資料庫中資料表間的關係必須靠設計者自行建立來產生關聯。 物件導向式資料庫中, 各物件之間的關係則是在物件建立之時, 便會自行連繫起來。

1-3 關聯式資料庫的內部結構 關聯式資料庫是由資料表 (# Table) 所組成。其最大的特色便是將資料分類儲存在資料表中。 如下面的客戶資料表專門用來存放客戶的資料。 其中第一列的項目, 如客戶編號、客戶名稱、聯絡人 ..., 是客戶資料中所具備的各項屬性 (# attribute), 資料庫的用語稱為欄位 (# Field) 或資料行 (# Column)。 從第二列起則存放各欄位實際的值, 例如十全書店便是客戶編號 1 的客戶名稱。

關聯式資料庫的內部結構 將同一列各欄位的實際值集合起來, 就稱為一筆記錄 (# Record) 或資料列 (# Row):

1-4 資料庫系統的網路架構 "網路架構" 要談的是資料庫系統要如何佈署的問題。 通常, 我們會依組織的規模、資料量的多寡、使用的人數、軟/ 硬體設備等條件來考量, 常見的有下列 4 種網路架構: 單機架構 大型主機/終端機架構 主從式架構 分散式架構

單機架構 適合使用者少、資料量也不多的資料庫系統使用, 如小公司或個人使用者所建立的資料庫系統。 單機架構是由同一部電腦包辦所有資料庫系統的工作, 包括保存資料、處理資料、管理及使用資料庫系統 ... 等等。 適合使用者少、資料量也不多的資料庫系統使用, 如小公司或個人使用者所建立的資料庫系統。 通常, 用 Access、FoxPro所設計的資料庫系統多採用這種架構。

大型主機/終端機架構 大型主機/終端機架構是由一部大型主機負責儲存及處理龐大的資料, 使用者則透過終端機與大型主機連線, 以存取資料庫的內容。 這種架構的缺點在於, 當多人同時使用時, 由於所有的工作都要由大型主機來處理, 因此會非常忙碌, 易造成回應緩慢的問題。 目前除了一些大型機構外, 已比較少使用這一類的架構了, 而且此類的大型主機價格都相當昂貴, 一般中小企業可能負擔不起。

主從式架構 由於個人電腦的價格低廉, 運算速度也不錯, 利用網路互相連接之後, 作為用戶端 (# Client) 的各台電腦只要連結到做為資料庫伺服器端 (# Server) 的電腦, 就可以存取資料庫, 而且部份的工作可由用戶端電腦來處理, 分散資料庫伺服器的負荷, 這就是主從式架構的佈署方式, 同時也是目前一般公司中最普遍採用的方式。 若採用主從式架構, 通常還會另外撰寫用戶端程式, 以提供使用者易學易用的操作介面。

分散式架構 使用者在存取資料時, 資料可以來自於不同的伺服器中, 如此在存取的效率上會比較好。 分散式架構是由數台資料庫伺服器所組成。 分散式架構的資料存取方式和主從式架構類似, 只不過是多了幾台資料庫伺服器而已。

關聯式資料庫的內部結構 原則上來說, Microsoft SQL Server 是適用在主從式架構的環境, 但其實除了大型主機/終端機架構之外, 其它 3 種架構都可以。 我們可以視組織的規模及需要來選擇: 例如在 5-10 人的小公司中, 用單機架構或許就綽綽有餘了。 在規模龐大的大型企業中, 則可建立多台 SQL Server (資料庫伺服器), 以建構出大容量、高效率的分散式工作平台。

1-5 資料庫管理系統的基本功能 資料庫管理系統其實就是管理資料庫的軟體系統, 它們要負責整個資料庫的建立、資料存取、權限設定、資料備份、操作的監督與記錄... 等等工作。 底下再進一步詳述資料庫管理系統 (# DataBase Management System, DBMS) 所應具備的基本功能。

資料庫管理系統的基本功能 資料定義 資料處理 資料安全 資料備份 此外, 維護資料庫的效率也是非常重要, 尤其是在資料量很大或使用者很多的時候, 資料庫若因效率不佳而導致存取速度變慢, 亦會嚴重影響到操作人員的工作效率。

1-6 結構化查詢語言 SQL SQL (# Structured Query Language, 一般習慣唸成 "sequel", 但正確的唸法應該是 "S-Q-L" ) 中文譯為結構化查詢語言, 它是目前關聯式資料庫管理系統所使用的查詢語言。 也就是說, 大部份的關聯式資料庫管理系統都支援 SQL, 所以使用者可以利用 SQL 語法直接對關聯式資料庫進行存取與管理的操作。

結構化查詢語言 SQL 假設要在訂單資料庫中建立一個客戶資料表, 那麼可以執行以下的 SQL 敘述:

結構化查詢語言 SQL 在 SQL Server 中執行上面那組 SQL 敘述, 就可以建立如下型式的資料表:

1-7 資料庫系統的使用者 讓我們來看看, 從資料庫系統的設計、建立、操作、到管理階段, 需要哪些使用者的參與。 各位並可試著從這些使用者類型中找出自己的定位。 資料庫設計者(# Database Designer) 資料庫管理者 (# DataBase Administrator, DBA) 應用程式設計者 (# Application Designer) 一般使用者(# End user)

資料庫設計者(Database Designer) 資料庫設計者負責整個資料庫的設計, 依據使用者的需求設計適當的格式來存放資料;同時對於整個資料庫的使用者存取權限也需要做規劃。 設計完成後就可交由資料庫管理者負責管理維護的工作。 在一般中小型企業中, 資料庫的設計者與管理者有可能就是同一個人。 若是大型企業, 則可能設計者是一組人, 而管理者又是另外一組人。

資料庫管理者 (DataBase Administrator, DBA) 資料庫建好之後, 便可以交給資料庫管理者來負責管理及維護。 DBA 最主要的任務, 就是要維護資料庫的有效運作, 並監督、記錄資料庫的操作狀況, 必要時還得修改資料庫的資料結構或各項設定, 以符合實際需求或提升運作效率。

資料庫管理者 (DataBase Administrator, DBA)

應用程式設計者 (Application Designer) 應用程式設計者負責撰寫存取資料庫的用戶端應用程式, 讓使用者用方便的操作介面來使用資料庫。 可用來開發應用程式的工具很多, 早期的程式設計師可能用 C 或 PASCAL 等語言, 現今的程式設計師則多採用 Visual Basic 、C# 、JAVA、Delphi、C++、或 PowerBuilder ... 等開發工具。

一般使用者 (End user) 一般使用者就是真正經常在存取資料庫的使用者, 他們只需要學會用戶端的應用程式, 不需要擔心資料庫的維護或管理方面的任何問題。 若遇到問題, 只要請 DBA 處理即可。 本章結束!!