版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1,第 1 章,認(rèn)識資料庫系統(tǒng),2,本章提要,1-1 資料庫系統(tǒng)簡介1-2 資料庫的類型1-3 關(guān)聯(lián)式資料庫的內(nèi)部結(jié)構(gòu)1-4 資料庫系統(tǒng)的網(wǎng)路架構(gòu)1-5 資料庫管理系統(tǒng)的基本功能1-6 結(jié)構(gòu)化查詢語言 SQL1-7 資料庫系統(tǒng)的使用者,3,1-1 資料庫系統(tǒng)簡介,資料庫系統(tǒng) (Database System) 是電腦化的資料儲存系統(tǒng), 使用者則透過各種應(yīng)用程式來存取其中的資料。資料庫系統(tǒng)又可分為兩個部份:資料庫 (Data
2、base) 與資料庫管理系統(tǒng) (DataBase Management System, DBMS)。,4,資料庫系統(tǒng)簡介,5,資料庫系統(tǒng)簡介,資料庫是儲存資料的地方。一個資料庫系統(tǒng)中可以有多個資料庫, 每個資料庫都是一組經(jīng)過整理好的資料集合。一般, 我們會將資料庫想像成是一個存放資料的容器, 但資料庫的真實(shí)型態(tài)其實(shí)是一個個的電子檔案 (file)。,6,資料庫系統(tǒng)簡介,資料庫管理系統(tǒng)則是指管理資料庫的軟體, 它們負(fù)責(zé)使用者與資料庫之間
3、的溝通, 如存取資料庫中的資料、以及管理資料庫的各項(xiàng)事務(wù)等。Microsoft 的 Access , 許多用在大型資料庫系統(tǒng)上的 Microsoft SQL Server、Oracle、SyBase、Informix、MySQL、PostgreSQL ... 等皆是資料庫管理系統(tǒng)。,7,1-2 資料庫的類型,就資料庫中資料的儲存架構(gòu)來看, 資料庫又可分為多種類型, 較常見的有階層式、網(wǎng)狀式、關(guān)聯(lián)式以及物件導(dǎo)向式等 4 種。底下我們就
4、針對這 4 種資料庫類型做個簡單的介紹。階層式資料庫 (Hierarchical Database)網(wǎng)狀式資料庫 (Network Database)關(guān)聯(lián)式資料庫(Relational Database)物件導(dǎo)向式資料庫(Object-Oriented Database),8,階層式資料庫 (Hierarchical Database),階層式資料庫採用樹狀結(jié)構(gòu), 將資料分門別類儲存在不同的階層之下。此類型的優(yōu)點(diǎn)是資料結(jié)構(gòu)很
5、類似金字塔, 不同層次間的資料關(guān)聯(lián)性直接且簡單;缺點(diǎn)則因資料以縱向發(fā)展, 橫向關(guān)聯(lián)難以建立, 所以資料可能會重複出現(xiàn), 造成管理維護(hù)上的不便。IBM 的 IMS 即是屬於此類的資料庫管理系統(tǒng)。,9,階層式資料庫 (Hierarchical Database),10,網(wǎng)狀式資料庫 (Network Database),網(wǎng)狀式資料庫是將每筆記錄當(dāng)成一個節(jié)點(diǎn), 節(jié)點(diǎn)與節(jié)點(diǎn)之間可以建立關(guān)聯(lián) (也就是建立記錄與記錄間的關(guān)聯(lián)), 形成一個複雜的
6、網(wǎng)狀架構(gòu)。優(yōu)點(diǎn)是避免了資料的重複性, 缺點(diǎn)是關(guān)聯(lián)性比較複雜, 尤其是當(dāng)資料庫的內(nèi)容愈來愈多的時候, 關(guān)聯(lián)性的維護(hù)會變得非常麻煩。Computer Associates 公司曾經(jīng)推出的 IDMS 即是屬於此類的資料庫管理系統(tǒng)。,11,網(wǎng)狀式資料庫 (Network Database),上圖表示從作者姓名可以查到他寫過的書, 以及這些書是由哪些出版公司所出版的關(guān)係。當(dāng)記錄的數(shù)量一多的時候, 關(guān)聯(lián)就容易變得牽扯不清。,12,關(guān)聯(lián)式資料庫
7、 (Relational Database),關(guān)聯(lián)式資料庫是以 2 維的矩陣來儲存資料 (可以說是將資料儲存在表格的欄、列之中), 而儲存在欄、列裡的資料必會有所 “關(guān)聯(lián)”, 所以這種儲存資料的方式才會稱為關(guān)聯(lián)式資料庫, 而儲存資料的表格則稱為 “資料表”。舉例來說, 通訊錄資料表的每一欄可以劃分為『姓名』、『地址』、『電話』:,13,關(guān)聯(lián)式資料庫 (Relational Database),14,關(guān)聯(lián)式資料庫 (Relatio
8、nal Database),假如我們要從以上的資料表尋找 "盧拉拉" 的地址, 則是由橫向的『盧拉拉』 與縱向的『地址』, 交相關(guān)聯(lián)而得來:,15,關(guān)聯(lián)式資料庫 (Relational Database),除了儲存在資料表行與列會有所關(guān)聯(lián), 關(guān)聯(lián)式資料庫裡面的資料表之間通常也會互有關(guān)聯(lián)。這種方式的優(yōu)點(diǎn)是可以從一個資料表中的欄位, 透過資料表的關(guān)聯(lián), 而找到另一個資料表中的資料:,16,關(guān)聯(lián)式資料庫 (Relati
9、onal Database),目前市場上是以關(guān)聯(lián)式資料庫使用最廣泛, 像 Microsoft SQL Server、SyBase、Informix、MySQL、PostgreSQL、Access...等, 都是屬於關(guān)聯(lián)式資料庫管理系統(tǒng) (Relational DBMS, RDBMS)。,17,物件導(dǎo)向式資料庫 (Object-Oriented Database),物件導(dǎo)向資料庫是以物件導(dǎo)向的方式來設(shè)計(jì)資料庫, 其中包含了物件的屬性、方
10、法、類別、繼承等特性。屬於這類的資料庫管理系統(tǒng)有 Computer Associates 公司的 Jasmine、Eastman Kodak 公司的 Alltalk、Servio 公司的 GemStone、O2 Technology 的 O2 ...等資料庫管理系統(tǒng)。此外也有關(guān)聯(lián)式資料庫為主, 再於其上架設(shè)物件導(dǎo)向概念的資料庫, 如 PostgreSQL。,18,物件導(dǎo)向式資料庫 (Object-Oriented Database)
11、,底下是一個物件導(dǎo)向式資料庫的結(jié)構(gòu)示意圖:,19,物件導(dǎo)向式資料庫 (Object-Oriented Database),上列的示意圖中有幾個重點(diǎn), 說明如下:每一個橫列即為一個物件:以訂單為例, 每一個物件包含了日期、客戶、訂購項(xiàng)目、金額等屬性 (OID 是產(chǎn)生物件時的 ID , 不是物件的屬性, 說明如後),這些屬性可以是文字資料、數(shù)值資料, 甚至是另一個物件, 而且一個屬性不必是唯一的值, 如上圖的訂單資料庫中, OID00
12、8 的物件, 其訂購項(xiàng)目屬性就包含 OID43 及 OID46 兩個物件。,20,物件導(dǎo)向式資料庫 (Object-Oriented Database),每個物件擁有唯一的 Object IDentity (OID):同樣以訂單為例, 每個物件的第一欄就是物件的 OID。OID 並不是資料庫設(shè)計(jì)者賦予的, 而是該物件成立時, 便自動產(chǎn)生一個 OID;要特別注意的是, OID 並不是物件的屬性, 實(shí)際上我們是看不到 OID 的。當(dāng)物件
13、內(nèi)有包含其它物件時, 就能透過這個獨(dú)一無二的 OID 來快速找到對應(yīng)用的物件。,21,物件導(dǎo)向式資料庫 (Object-Oriented Database),若以關(guān)聯(lián)式資料庫和物件導(dǎo)向式資料庫來做比較, 關(guān)聯(lián)式資料庫必須由資料庫設(shè)計(jì)者來設(shè)計(jì)、建立、及管理關(guān)聯(lián)。但物件導(dǎo)向式資料庫中, 物件和物件之間的連繫, 是因其屬性而必然發(fā)生的。,22,物件導(dǎo)向式資料庫 (Object-Oriented Database),我們先看下面這張關(guān)聯(lián)式資
14、料庫的資料表:,23,物件導(dǎo)向式資料庫 (Object-Oriented Database),由上圖可知, 兩個資料表是藉由客戶編號來達(dá)成關(guān)聯(lián)的, 而這個關(guān)聯(lián)性在關(guān)聯(lián)式資料庫中, 必須由設(shè)計(jì)者自行建立才會真正產(chǎn)生關(guān)聯(lián)。接著看下面的物件導(dǎo)向式資料庫:,24,物件導(dǎo)向式資料庫 (Object-Oriented Database),上圖中, 兩個物件是透過 OID 來連繫起來的。簡單地說, 在關(guān)聯(lián)式資料庫中資料表間的關(guān)係必須靠設(shè)計(jì)者自行
15、建立來產(chǎn)生關(guān)聯(lián), 而物件導(dǎo)向式資料庫中, 各物件之間的關(guān)係則是在物件建立之時, 便會自行連繫起來。,25,1-3 關(guān)聯(lián)式資料庫的內(nèi)部結(jié)構(gòu),關(guān)聯(lián)式資料庫是由資料表 (Table) 所組成, 其最大的特色便是將資料分類儲存在資料表中。如下面的客戶資料表專門用來存放客戶方面的資料。其中第一列的項(xiàng)目, 如客戶編號、客戶名稱、聯(lián)絡(luò)人 . . . , 是客戶資料中所具備的各項(xiàng)屬性 (attribute), 資料庫的用語稱為欄位 (Field 或
16、Column);從第二列起則存放各欄位實(shí)際的值, 例如十全書店便是客戶編號 1 的客戶名稱。,26,關(guān)聯(lián)式資料庫的內(nèi)部結(jié)構(gòu),將同一列各欄位的實(shí)際值集合起來, 就稱為一筆記錄 (Record 或 Row):,27,關(guān)聯(lián)式資料庫的內(nèi)部結(jié)構(gòu),資料表的內(nèi)部結(jié)構(gòu), 說穿了就是欄位和記錄。在設(shè)計(jì)關(guān)聯(lián)式資料庫時, 最重要的工作就是妥善規(guī)劃資料的配置, 以避免產(chǎn)生資料重複儲存、資料不一致或資料表間的關(guān)聯(lián)不完整 ... 等等問題。,28,1-4 資料庫系
17、統(tǒng)的網(wǎng)路架構(gòu),"網(wǎng)路架構(gòu)" 要談的是資料庫系統(tǒng)要如何佈署的問題。通常, 我們會依組織的規(guī)模、資料量的多寡、使用的人數(shù)、軟 / 硬體設(shè)備等條件來考量, 常見的有下列 4 種網(wǎng)路架構(gòu):單機(jī)架構(gòu)大型主機(jī) / 終端機(jī)架構(gòu)主從式架構(gòu)分散式架構(gòu),29,單機(jī)架構(gòu),單機(jī)架構(gòu)是由同一部電腦包辦所有資料庫系統(tǒng)的工作, 包括保存資料、處理資料、管理及使用資料庫系統(tǒng) ... 等等。適合使用者少、資料量也不多的資料庫系統(tǒng)使用, 如小公
18、司或個人使用者所建立的資料庫系統(tǒng)。通常, 用 Access、FoxPro 所設(shè)計(jì)的資料庫系統(tǒng)多採用這種架構(gòu)。,30,大型主機(jī) / 終端機(jī)架構(gòu),大型主機(jī) / 終端機(jī)架構(gòu)是由一部大型主機(jī)負(fù)責(zé)儲存及處理龐大的資料, 使用者則透過終端機(jī)與大型主機(jī)連線, 以存取資料庫的內(nèi)容。這種架構(gòu)的缺點(diǎn)在於, 當(dāng)多人同時使用時, 由於所有的工作都要由大型主機(jī)來處理, 因此會非常忙碌, 易造成回應(yīng)緩慢的問題。目前除了一些大型機(jī)構(gòu)外, 已比較少使用這一類的架
19、構(gòu)了, 而且此類的大型主機(jī)價格都相當(dāng)昂貴, 一般中小企業(yè)可能負(fù)擔(dān)不起。,31,大型主機(jī) / 終端機(jī)架構(gòu),,32,主從式架構(gòu),由於個人電腦的價格低廉, 運(yùn)算速度也不錯, 利用網(wǎng)路互相連接之後, 作為用戶端 (Client) 的各臺電腦只要連結(jié)到做為資料庫伺服器端 (Server) 的電腦, 就可以存取資料庫, 而且部份的工作可由用戶端電腦來處理, 分散資料庫伺服器的負(fù)荷, 這就是主從式架構(gòu)的佈署方式, 同時也是目前一般公司中最普遍採用的方
20、式。若採用主從式架構(gòu), 通常還會另外撰寫用戶端程式, 以提供使用者易學(xué)易用的操作介面。,33,主從式架構(gòu),34,分散式架構(gòu),分散式架構(gòu)是由數(shù)臺資料庫伺服器所組成, 使用者在存取資料時, 資料可以來自於不同的伺服器中, 如此在存取的效率上會比較好。分散式架構(gòu)的資料存取方式和主從式架構(gòu)類似, 只不過是多了幾臺資料庫伺服器而已:,35,分散式架構(gòu),36,資料庫系統(tǒng)的網(wǎng)路架構(gòu),看過上述的網(wǎng)路架構(gòu)介紹後, 您可能會問 MS SQL Serve
21、r 適合用在哪一種網(wǎng)路架構(gòu)上?原則上來說, MS SQL Server 是適用在主從式架構(gòu)的環(huán)境, 但其實(shí)除了大型主機(jī) / 終端機(jī)架構(gòu)之外, 其它 3 種架構(gòu)都可以。我們可以視組織的規(guī)模及需要來選擇, 例如在 5-10 人的小公司中, 用單機(jī)架構(gòu)或許就綽綽有餘了;而在規(guī)模龐大的大型企業(yè)中, 則可建立多臺 SQL Server (資料庫伺服器), 以建構(gòu)出大容量、高效率的分散式工作平臺。,37,1-5 資料庫管理系統(tǒng)的基本功能,在第
22、1 節(jié)我們已經(jīng)提過, 資料庫管理系統(tǒng)其實(shí)就是管理資料庫的軟體系統(tǒng), 它們要負(fù)責(zé)整個資料庫的建立、資料存取、權(quán)限設(shè)定、資料備份、操作的監(jiān)督與記錄 ... 等等工作。底下我們就再進(jìn)一步詳述資料庫管理系統(tǒng) (DataBase Management System, DBMS) 所應(yīng)具備的基本功能。,38,資料庫管理系統(tǒng)的基本功能,資料定義:DBMS 必須能夠充份定義並管理各種類型的資料項(xiàng)目, 例如關(guān)聯(lián)式資料庫管理系統(tǒng)必須具備建立資料庫、資料表
23、、定義各欄位的資料型別, 以及資料表之間的關(guān)聯(lián) ... 等等的能力才行。資料處理:DBMS 必須提供使用者對資料庫的存取能力, 包括新增、修改、查詢、與刪除等基本功能。有時 DBMS 提供的功能雖然完善, 但是並不是很適合一般的使用者操作, 這時就需要程式設(shè)計(jì)師另外再撰寫用戶端的應(yīng)用程式, 以供一般使用者操作。,39,資料庫管理系統(tǒng)的基本功能,資料安全:DBMS 應(yīng)該具備設(shè)定使用者帳戶、密碼、及權(quán)限的功能, 讓每一個使用者只能存取授權(quán)
24、範(fàn)圍內(nèi)的資料, 以防止機(jī)密資料外洩, 或資料庫遭受任何有意或無意的破壞。資料備份:DBMS 必須提供方便的資料備份功能, 如此在資料庫不幸意外毀損時, 還可以還原到備份資料時的狀況, 以減少損失。此外, 維護(hù)資料庫的效率也是非常重要, 尤其是在資料量很大或使用者很多的時候, 資料庫若因效率不佳而導(dǎo)致存取速度變慢, 亦會嚴(yán)重影響到操作人員的工作效率。,40,資料庫管理系統(tǒng)的基本功能,也許有人會認(rèn)為, 上述的說明可能有以偏蓋全之嫌。因?yàn)?/p>
25、資料庫管理系統(tǒng)可分為多種類型, 而且各家廠商出產(chǎn)的資料庫管理系統(tǒng)的詳細(xì)功能也不盡相同??!話是沒錯, 可是每種資料庫管理系統(tǒng)所應(yīng)具備的基本功能其實(shí)是差不多的, 而且只要各位把握住這些基本功能, 學(xué)習(xí)資料庫管理系統(tǒng)的過程就很容易了。,41,1-6 結(jié)構(gòu)化查詢語言 SQL,SQL (Structured Query Language, 一般習(xí)慣唸成 "sequel", 但正確的唸法應(yīng)該是 "S-Q-L"
26、;) 中文譯為結(jié)構(gòu)化查詢語言, 它是目前關(guān)聯(lián)式資料庫管理系統(tǒng)所使用的查詢語言, 也就是說, 大部份的關(guān)聯(lián)式資料庫管理系統(tǒng)都支援 SQL, 所以使用者可以利用 SQL 語法直接對關(guān)聯(lián)式資料庫進(jìn)行存取與管理的操作。,42,結(jié)構(gòu)化查詢語言 SQL,SQL 的基本語法是由一些簡單的英文句子所構(gòu)成, 相當(dāng)簡單易學(xué), 底下我們就來看個例子。假設(shè)要在訂單資料庫中建立一個客戶資料表, 那麼可以執(zhí)行以下的 SQL 敘述:,43,結(jié)構(gòu)化查詢語言 SQL,在
27、 SQL Server 中執(zhí)行上面那組 SQL 敘述, 就可以建立如下型式的資料表:,44,1-7 資料庫系統(tǒng)的使用者,最後, 讓我們來看看, 從資料庫系統(tǒng)的設(shè)計(jì)、建立、操作、到管理階段, 需要哪些使用者的參與, 各位並可試著從這些使用者類型中找出自己的定位:資料庫設(shè)計(jì)者 (Database Designer)資料庫管理者 (DataBase Administrator, DBA)應(yīng)用程式設(shè)計(jì)者 (Application Desi
28、gner)一般使用者 (End user),45,資料庫設(shè)計(jì)者 (Database Designer),資料庫設(shè)計(jì)者負(fù)責(zé)整個資料庫系統(tǒng)的設(shè)計(jì), 依據(jù)使用者的需求設(shè)計(jì)適當(dāng)?shù)母袷絹泶娣刨Y料;同時對於整個資料庫的使用者存取權(quán)限也需要做規(guī)劃。設(shè)計(jì)完成後就可交由資料庫管理者負(fù)責(zé)管理維護(hù)的工作。在一般中小型企業(yè)中, 資料庫的設(shè)計(jì)者與管理者有可能就是同一個人;若是大型企業(yè), 則可能設(shè)計(jì)者是一組人, 而管理者又是另外一組人。,46,資料庫管理者
29、 (DataBase Administrator, DBA),資料庫建好之後, 便可以交給資料庫管理者來負(fù)責(zé)管理及維護(hù)。DBA 最主要的任務(wù), 就是要維護(hù)資料庫的有效運(yùn)作, 並監(jiān)督、記錄資料庫的操作狀況, 必要時還得修改資料庫的資料結(jié)構(gòu)或各項(xiàng)設(shè)定, 以符合實(shí)際需求或提升運(yùn)作效率。由於資料庫中的資料對企業(yè)非常重要, 而資料庫系統(tǒng)難免會碰到人為疏失、硬體或作業(yè)系統(tǒng)的問題而損壞, 所以 DBA 必須設(shè)定資料庫備份的方法和時機(jī), 並且在資
30、料庫受損時儘速讓資料庫回復(fù)原狀。,47,資料庫管理者 (DataBase Administrator, DBA),除此之外, DBA 也要負(fù)責(zé)資料庫的帳戶管理, 決定哪些人有權(quán)利登入資料庫, 哪些人有權(quán)執(zhí)行哪些動作。例如最基本的使用者可能只有查詢功能, 需要輸入資料的使用者則具有寫入資料的功能, 資料備份人員必須具有備份資料的權(quán)限 ... 等等。,48,應(yīng)用程式設(shè)計(jì)者 (Application Designer),應(yīng)用程式設(shè)計(jì)者負(fù)
31、責(zé)撰寫存取資料庫的用戶端應(yīng)用程式, 讓使用者用方便的操作介面來使用資料庫??捎脕黹_發(fā)應(yīng)用程式的工具很多, 早期的程式設(shè)計(jì)師可能用 C 或 PASCAL 等語言, 現(xiàn)今的程式設(shè)計(jì)師則多採用 Visual Basic、JAVA、Delphi、C++、.NET 或 PowerBuilder ... 等開發(fā)工具。,49,一般使用者 (End user),一般使用者就是真正經(jīng)常在存取資料庫的使用者, 他們只需要學(xué)會用戶端的應(yīng)用程式, 不需要擔(dān)心
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物件導(dǎo)向式資料庫
- 資料庫系統(tǒng)
- 資料庫授權(quán)內(nèi)容
- database systems(資料庫系統(tǒng))
- 液壓支架系統(tǒng)資料庫
- 物資采購管理資料庫
- 環(huán)評資料庫_27991
- 14.資料庫database
- 高速資料庫引擎開發(fā)
- 資料庫系統(tǒng)的架構(gòu)
- 第10章資料庫
- 資料庫-淡江大學(xué)
- 藝術(shù)概論復(fù)習(xí)資料庫
- 電子書與資料庫
- 進(jìn)入總體經(jīng)濟(jì)資料庫
- eric教育學(xué)資料庫
- 資料庫教育訓(xùn)練課程
- 產(chǎn)經(jīng)期刊全文資料庫
- 資料庫知識發(fā)現(xiàn)與探索
- 資料庫暨資料表設(shè)計(jì)與建立
評論
0/150
提交評論