Presentation is loading. Please wait.

Presentation is loading. Please wait.

簡介、 認識資料庫系統 (參考:SQL Server 2005 設計實務 旗標出版社)

Similar presentations


Presentation on theme: "簡介、 認識資料庫系統 (參考:SQL Server 2005 設計實務 旗標出版社)"— Presentation transcript:

1 簡介、 認識資料庫系統 (參考:SQL Server 2005 設計實務 旗標出版社)

2 大綱 0 本學期課程要求 1 資料庫系統簡介 2 關聯式資料庫 3 資料庫系統的網路架構 4 資料庫管理系統的基本功能
5 結構化查詢語言 SQL 6 資料庫系統的使用者

3 0 本學期課程要求 了解資料庫的發展歷程 了解資料庫的理論基礎 了解資料表的設計模型 (Entity-Relationship Model)
資料表的正規化 (Normalization) 以實際案例學會設計資料庫的資料表 (Visio) 簡單的 SQL 語法實務

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

5 資料庫系統簡介

6 資料庫系統簡介 資料庫是儲存資料的地方。一個資料庫系統中可以有多個資料庫, 每個資料庫都是一組經過整理好的資料集合。
一般, 我們會將資料庫想像成是一個存放資料的容器, 但資料庫的真實型態其實是一個個的電子檔案 (file)。 資料庫管理系統則是指管理資料庫的軟體, 它們負責使用者與資料庫之間的溝通, 如存取資料庫中的資料、以及管理資料庫的各項事務等。 Microsoft 的 Access , 許多用在大型資料庫系統上的 Microsoft SQL Server、Oracle、SyBase、Informix、MySQL、PostgreSQL ... 等皆是資料庫管理系統。

7 2 關聯式資料庫 (Relational Database)
目前最普遍的資料庫管理系統,像 Microsoft SQL Server、SyBase、Informix、MySQL、PostgreSQL、Access...等, 都是屬於關聯式資料庫管理系統 關聯式資料庫是以 2 維的矩陣來儲存資料 (可以說是將資料儲存在表格的欄、列之中), 而儲存在欄、列裡的資料必會有所 “關聯”, 所以這種儲存資料的方式才會稱為關聯式資料庫, 而儲存資料的表格則稱為 “資料表”。 舉例來說, 通訊錄資料表的每一欄可以劃分為『姓名』、『地址』、『電話』:

8 關聯式資料庫 (Relational Database)

9 關聯式資料庫 (Relational Database)
假如我們要從以上的資料表尋找 "盧拉拉" 的地址, 則是由橫向的『盧拉拉』 與縱向的『地址』, 交相關聯而得來:

10 關聯式資料庫 (Relational Database)
除了儲存在資料表行與列會有所關聯, 關聯式資料庫裡面的資料表之間通常也會互有關聯。這種方式的優點是可以從一個資料表中的欄位, 透過資料表的關聯, 而找到另一個資料表中的資料:

11 3 資料庫系統的網路架構 資料庫系統的“網路架構”處理如何在網路上佈署資料庫及相關程式。 常見的有下列 4 種網路架構:
通常, 我們會依組織的規模、資料量的多寡、使用的人數、軟 / 硬體設備等條件來考量。 常見的有下列 4 種網路架構: 單機架構 大型主機 / 終端機架構 主從式架構 分散式架構

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

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

14 大型主機 / 終端機架構

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

16 主從式架構

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

18 分散式架構

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

20 資料庫管理系統的基本功能 資料定義:DBMS 必須能夠充份定義並管理各種類型的資料項目, 例如關聯式資料庫管理系統必須具備建立資料庫、資料表、定義各欄位的資料型別, 以及資料表之間的關聯 ... 等等的能力才行。 資料處理:DBMS 必須提供使用者對資料庫的存取能力, 包括新增、修改、查詢、與刪除等基本功能。有時 DBMS 提供的功能雖然完善, 但是並不是很適合一般的使用者操作, 這時就需要程式設計師另外再撰寫用戶端的應用程式, 以供一般使用者操作。

21 資料庫管理系統的基本功能 資料安全:DBMS 應該具備設定使用者帳戶、密碼、及權限的功能, 讓每一個使用者只能存取授權範圍內的資料, 以防止機密資料外洩, 或資料庫遭受任何有意或無意的破壞。 資料備份:DBMS 必須提供方便的資料備份功能, 如此在資料庫不幸意外毀損時, 還可以還原到備份資料時的狀況, 以減少損失。 此外, 維護資料庫的效率也是非常重要, 尤其是在資料量很大或使用者很多的時候, 資料庫若因效率不佳而導致存取速度變慢, 亦會嚴重影響到操作人員的工作效率。

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

23 結構化查詢語言 SQL 範例 SQL 的基本語法是由一些簡單的英文句子所構成, 相當簡單易學, 底下我們就來看個例子。假設要在訂單資料庫中建立一個 “客戶” 資料表, 那麼可以執行以下的 SQL 敘述:

24 結構化查詢語言 SQL 在 SQL Server 中執行上面那組 SQL 敘述, 就可以建立如下型式的 “客戶資料表”:
簡單查詢:下例查詢客戶資料表的所有紀錄 Select 客戶編號, 聯絡人, 送貨地點 From 客戶資料表

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

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

27 資料庫管理者 (DataBase Administrator, DBA)
資料庫建好之後, 便可以交給資料庫管理者來負責管理及維護。 DBA 最主要的任務, 就是要維護資料庫的有效運作, 並監督、記錄資料庫的操作狀況, 必要時還得修改資料庫的資料結構或各項設定, 以符合實際需求或提升運作效率。 DBA 必須設定資料庫備份的方法和時機, 並且在資料庫受損時儘速讓資料庫回復原狀。 DBA 也要負責資料庫的帳戶管理, 決定哪些人有權利登入資料庫, 哪些人有權執行哪些動作。 例如最基本的使用者可能只有查詢功能, 需要輸入資料的使用者則具有寫入資料的功能, 資料備份人員必須具有備份資料的權限 ... 等等。

28 應用程式設計者 (Application Designer)
應用程式設計者負責撰寫存取資料庫的用戶端應用程式, 讓使用者用方便的操作介面來使用資料庫。 早期的程式設計師可能用 C 或 PASCAL 等語言, 現今的程式設計師則多採用 Visual Basic、JAVA、Delphi、C++、.NET 或 PowerBuilder ... 等開發工具。 一般使用者 (End user) 一般使用者就是真正經常在存取資料庫的使用者, 他們只需要學會用戶端的應用程式, 若遇到問題, 只要請 DBA 處理即可。


Download ppt "簡介、 認識資料庫系統 (參考:SQL Server 2005 設計實務 旗標出版社)"

Similar presentations


Ads by Google