数据库知识基本概念
數(shù)據(jù)庫知識基本概念
最近在學(xué)習(xí)數(shù)據(jù)庫原理與應(yīng)用,自己理解著整理出了一些基礎(chǔ)的概念,有不同意見可以留言討論:
- 數(shù)據(jù)和信息
- 數(shù)據(jù)庫系統(tǒng)的組成
- 數(shù)據(jù)管理技術(shù)的發(fā)展階段
- 數(shù)據(jù)庫系統(tǒng)的發(fā)展過程和發(fā)展趨勢
- 數(shù)據(jù)模型
- 關(guān)系模型
- 實體一聯(lián)系模型
- 其他數(shù)據(jù)模型
- 數(shù)據(jù)庫內(nèi)部體系結(jié)構(gòu)
- MySQL簡介
- powerdesigner的簡介
思維導(dǎo)圖
數(shù)據(jù)庫的基本概念
1.信息
信息來源于數(shù)據(jù),是一種被加工為特定形式的數(shù)據(jù),它相對于使用者是有意義、有價值的。例如一個銷售主管除非得到由這些數(shù)據(jù)加工處理后的概要匯總,否則計算機(jī)打印出包括大約252518個客戶的1000頁數(shù)據(jù)對他也并沒有多少價值。(見表1-1)
| 女 | 20871 | 33894 | 2577 | 818339 | 15092 | 14396 | 128430 |
| 男 | 22947 | 30049 | 24115 | 19243 | 16731 | 11003 | 124088 |
| 總計 | 43818 | 63943 | 49893 | 37642 | 31826 | 253992 | 52518 |
表1-1 客戶性別與年齡交叉表
2.數(shù)據(jù)
數(shù)據(jù)是現(xiàn)實生活中一種抽象的表示符號,包括數(shù)據(jù)內(nèi)容和數(shù)據(jù)形式,一個數(shù)據(jù)表示一個事實,數(shù)據(jù)是能夠被記錄并具有固定的意義,從中我們可以提取出對我們有價值的信息。
例如,我們來考慮這樣的事實,作為M/s Elbee公司的經(jīng)理,我們感興趣的可能是雇員Thomas Mathew,我們希望記住他的雇員號是106519,他的基本工資是每月2 000 000Rs.(4000美元),他所在的城市是Jamshedpur,他所在的國家是印度,他的出生Et期是1957年9月6日,他的結(jié)婚紀(jì)念日是5月29日,他的電話號碼是0091.657-2431322,等等。我們知道這些事實是為了每月處理Mathew的工資單,在生日和結(jié)婚紀(jì)念日發(fā)賀卡給他,打印他的工資條,萬一遇到緊急情況通知他的家人,等等。顯然,收集所有有關(guān)Mathew的事實(或數(shù)據(jù)),并將它們保存在一起確實是很有道理的。表1-2顯示了有關(guān)Thomas Mathew的工資單和其他相關(guān)情況的所有信息。(見表1-2)
| 106519 | Mathew | Thomas | 4000 | Jamshedpur | India | 06-09-1957 | 29.05 | 0091-657-2431322 |
表1-2 Thomas Mathew的工資單事實
3.數(shù)據(jù)與信息的關(guān)系
數(shù)據(jù)與信息是密不可分的,數(shù)據(jù)是信息的具體表示形式,而信息是數(shù)據(jù)所包含的意義,信息可用不同的數(shù)據(jù)形式來表現(xiàn),信息不隨數(shù)據(jù)的表現(xiàn)形式而改變。例如:2017年10月10日與2017-10-10。
數(shù)據(jù)庫系統(tǒng)的組成
1.數(shù)據(jù)庫
數(shù)據(jù)庫(DataBase,DB)指數(shù)據(jù)的集合,數(shù)據(jù)的存儲獨立于使用它的程序,結(jié)構(gòu)化的存放數(shù)據(jù)可以完全地或部分地消除了數(shù)據(jù)的冗余。例如,一個部門可能同時有職工文件(職工號、姓名、地址、部門、工資等)和業(yè)務(wù)檔案文件(職工號、姓名、部門、完成項目、評價等),在這兩個文件中存在有一定的重復(fù)數(shù)據(jù)(如職工號、姓名、部門)。在構(gòu)造數(shù)據(jù)庫時,就可以只存儲一套數(shù)據(jù),消除職工號、姓名、部門這3項數(shù)據(jù)的冗余。數(shù)據(jù)庫中的數(shù)據(jù)能為用戶共享。
2.數(shù)據(jù)庫管理系統(tǒng)
數(shù)據(jù)庫管理系統(tǒng)簡稱DBMS,由相互關(guān)聯(lián)的數(shù)據(jù)集合以及一組用于訪問這些數(shù)據(jù)的程序組成,是一種負(fù)責(zé)數(shù)據(jù)庫的定義、建立、操作、管理和維護(hù)的系統(tǒng)管理軟件。主要目標(biāo)是為人們提供方便高效的環(huán)境來存儲和檢索數(shù)據(jù)。
3.數(shù)據(jù)庫管理員
數(shù)據(jù)庫管理員(DataBase Administrator,DBA)是負(fù)責(zé)設(shè)計、建立、管理和維護(hù)數(shù)據(jù)庫的人員。
4.用戶
用戶是數(shù)據(jù)庫系統(tǒng)的服務(wù)對象,是使用數(shù)據(jù)庫系統(tǒng)者,一般可分為兩類:終端用戶和應(yīng)用程序員。
5.數(shù)據(jù)庫應(yīng)用系統(tǒng)
數(shù)據(jù)庫應(yīng)用系統(tǒng)簡寫DBAS,指在數(shù)據(jù)庫管理系統(tǒng)(DBMS)支持下建立的計算機(jī)應(yīng)用系統(tǒng),是由數(shù)據(jù)庫系統(tǒng)、應(yīng)用程序系統(tǒng)、用戶組成的。
數(shù)據(jù)管理技術(shù)的發(fā)展階段
1.人工管理階段
人工管理階段沒有操作系統(tǒng)及數(shù)據(jù)管理的軟件,對數(shù)據(jù)的管理均是手工操作。
本階段有如下特點:
(1)數(shù)據(jù)不能長期保存;
(2)應(yīng)用程序負(fù)責(zé)管理數(shù)據(jù);
(3)數(shù)據(jù)不能共享;
(4)數(shù)據(jù)沒有獨立性。
2.文件系統(tǒng)階段
在文件系統(tǒng)階段,出現(xiàn)了操作系統(tǒng),并帶有專門的數(shù)據(jù)管理軟件(即文件系統(tǒng)),對數(shù)據(jù)的處理不僅使用手工操作,而且能夠聯(lián)機(jī)實時處理。此時各種用途的應(yīng)用程序仍然具有各自的數(shù)據(jù),數(shù)據(jù)仍然具有兩種形式,即用戶看到的邏輯結(jié)構(gòu)(稱為邏輯文件)和實際存儲的物理結(jié)構(gòu)(稱為物理文件)。但此時邏輯文件和物理文件之間已允許有所區(qū)別,文件管理系統(tǒng)提供從邏輯文件到物理文件的轉(zhuǎn)換。
本階段有如下特點:
(1)數(shù)據(jù)能夠長期保存;
(2)文件系統(tǒng)負(fù)責(zé)管理數(shù)據(jù);
(3)數(shù)據(jù)可以共享,但冗余較大;
(4)數(shù)據(jù)具有獨立性,但獨立程度一般。
3.數(shù)據(jù)庫系統(tǒng)階段
20世紀(jì)60年代末發(fā)生了對數(shù)據(jù)庫技術(shù)有著奠基作用的3件大事,標(biāo)志著以數(shù)據(jù)庫系統(tǒng)為基本手段的數(shù)據(jù)管理階段的開始。
(1)1968年美國的IBM公司推出了世界上第一個數(shù)據(jù)庫管理系統(tǒng)IMS,它是基于層次模型的。
(2)1969年美國數(shù)據(jù)系統(tǒng)語言協(xié)會(CODASYL)的數(shù)據(jù)庫任務(wù)組(DBTG)發(fā)表了網(wǎng)狀數(shù)據(jù)模型的DBTG報告。
(3)1970年美國IBM公司的高級研究員E.F.Codd連續(xù)發(fā)表論文,提出了關(guān)系數(shù)據(jù)模型,奠定了關(guān)系數(shù)據(jù)庫的理論基礎(chǔ)。以數(shù)據(jù)庫為中心的數(shù)據(jù)庫系統(tǒng),是當(dāng)代數(shù)據(jù)管理的主要方式。它克服了文件系統(tǒng)的弊病,是一種較完善的高級數(shù)據(jù)管理方式,獲得了廣泛的應(yīng)用。
這個階段有如下特點 :
(1)整體數(shù)據(jù)結(jié)構(gòu)化;
(2)數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制數(shù)據(jù);
(3)數(shù)據(jù)共享性高,且冗余較小;
(4)數(shù)據(jù)獨立性高。
數(shù)據(jù)庫系統(tǒng)的發(fā)展過程和發(fā)展趨勢
1.人機(jī)交互階段
1969年,美國IBM公司研制了世界上第一個數(shù)據(jù)庫管理系統(tǒng)IMS(Information Management System),IMS的數(shù)據(jù)模型是層次結(jié)構(gòu)的;美國CODASYL委員會(Conference On Data System Language)的DBTG(Data Base Tast Group)小組對數(shù)據(jù)庫方法進(jìn)行了系統(tǒng)的研究、討論,于60年代末至70年代初公布了若干研究報告,稱為DBTG報告,它所提議的方法是基于網(wǎng)狀結(jié)構(gòu)的;1970年IBM公司的研究員E.F.Codd博士發(fā)表了題為“大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)系模型”的著名論文,提出了數(shù)據(jù)庫的關(guān)系模型,開創(chuàng)了數(shù)據(jù)庫關(guān)系方法和關(guān)系數(shù)據(jù)理論的研究,為數(shù)據(jù)庫技術(shù)奠定了理論基礎(chǔ),被公認(rèn)為是數(shù)據(jù)庫發(fā)展歷史上的一個重要里程碑。由于E.F.Codd的杰出工作,他于1981年獲得了ACM圖靈獎。這三大事件標(biāo)志著數(shù)據(jù)處理已進(jìn)入了數(shù)據(jù)庫技術(shù)的新時代。
2.應(yīng)用捆綁階段
在20世紀(jì)70年代以后,計算機(jī)中的應(yīng)用系統(tǒng)發(fā)展很快,它們在商業(yè)、企業(yè)管理等事務(wù)處理領(lǐng)域成為應(yīng)用主流,此時將應(yīng)用程序與數(shù)據(jù)庫系統(tǒng)捆綁而構(gòu)成一種完整的數(shù)據(jù)庫應(yīng)用系統(tǒng)已成為當(dāng)時之必須,這就出現(xiàn)了應(yīng)用程序與數(shù)據(jù)庫間的數(shù)據(jù)交互過程。
3.網(wǎng)絡(luò)階段
自20世紀(jì)90年代開始數(shù)據(jù)庫系統(tǒng)的應(yīng)用環(huán)境進(jìn)入網(wǎng)絡(luò)時代,出現(xiàn)了分布式系統(tǒng)與C/S結(jié)構(gòu)模型在集中式數(shù)據(jù)庫應(yīng)用系統(tǒng)中整個系統(tǒng)捆綁于一起,而實際上一個完整的應(yīng)用程序有下面三個部分:
·存儲邏輯部分包括DBMS及相應(yīng)的數(shù)據(jù)存儲;
·應(yīng)用邏輯部分包括由算法語言所編寫的數(shù)據(jù)處理業(yè)務(wù)流程;
·表示邏輯部分是用于與用戶交互可視化編程,它包括圖形用戶界面(GⅥ)等。
在C/S結(jié)構(gòu)模式中,由一個服務(wù)器S(server)與多個客戶機(jī)C(client)所組成,它們間由網(wǎng)絡(luò)相連并通過接口進(jìn)行交互。
4.因特網(wǎng)階段
在2l世紀(jì)初,因特網(wǎng)的普及應(yīng)用及W-eb的發(fā)展,從而出現(xiàn)了B/S結(jié)構(gòu)、XML語言及腳本語言。在Web數(shù)據(jù)庫中一般使用典型的三層結(jié)構(gòu)B/S模式,在這個結(jié)構(gòu)中,由瀏覽器、Web服務(wù)器及數(shù)據(jù)庫服務(wù)器三部分組成。
數(shù)據(jù)模型
1.數(shù)據(jù)模型的概念
數(shù)據(jù)模型是數(shù)據(jù)庫的基礎(chǔ),是描述數(shù)據(jù)、數(shù)據(jù)聯(lián)系、數(shù)據(jù)語義以及一致性約束的概念工具的集合。現(xiàn)有數(shù)據(jù)模型可分為三類:基于對象的邏輯模型、基于記錄的邏輯模型和物理模型。
2.實體一聯(lián)系模型
實體-聯(lián)系模型簡稱E-R,是Peter Chen于1976年提出的一種語義模型,是基于對現(xiàn)實世界的這樣一種認(rèn)識:現(xiàn)實世界由一組稱作實體的基本對象以及這些對象聞的聯(lián)系構(gòu)成。 E—R模型主要包含三個要素:實體、屬性和聯(lián)系。
3關(guān)系模型
關(guān)系模型(Relational Schema)的發(fā)展較晚,是20世紀(jì)70年代初由mM公司的E.F.Codd首先提出。關(guān)系模型是完全不同于前兩種模型的一種新的模型,它的基礎(chǔ)不是圖而是表格。用表的集合來表示數(shù)據(jù)和數(shù)據(jù)間的聯(lián)系,每個表有多個列,每列有惟一的列名。圖1是一個示例的關(guān)系數(shù)據(jù)庫,其中包括三個表:一個表中是銀行客戶的詳細(xì)信息,第二個表中是客戶賬戶信息,第三個表中是賬戶與客戶之間對應(yīng)的信息。
圖1關(guān)系數(shù)據(jù)庫的一個例子
表a)customer 表b)account 表c)deopsitor表
4.關(guān)系模型的特點:
(1)描述的一致性。無論是信息世界中的實體還是聯(lián)系都是用一個關(guān)系來描述,保證了數(shù)據(jù)操作語言相應(yīng)的一致性,對于每一種基本操作功能(插入、刪除、修改等),都只需要一種操作運(yùn)算即可。
(2)利用公共屬性連接。關(guān)系模型中各個關(guān)系之間都是通過公共屬性發(fā)生聯(lián)系的。例如學(xué)生關(guān)系和選課關(guān)系是通過公共屬性“學(xué)號”連接在一起,而選課關(guān)系又可以通過“課程號”與課程關(guān)系發(fā)生聯(lián)系。
(3)結(jié)構(gòu)簡單直觀。采用表結(jié)構(gòu),用戶容易理解,有利于和用戶進(jìn)行交互,并且在計算機(jī)中實現(xiàn)也極為方便。
(4)有嚴(yán)格的理論基礎(chǔ)。二維表的數(shù)學(xué)基礎(chǔ)是關(guān)系數(shù)據(jù)理論,對二維表進(jìn)行的數(shù)據(jù)操作相當(dāng)于在關(guān)系理論中對關(guān)系進(jìn)行運(yùn)算。這樣,在關(guān)系模型中整個模型的定義與操作均建立在嚴(yán)格的數(shù)學(xué)理論基礎(chǔ)上。
(5)語言表達(dá)簡練。在進(jìn)行數(shù)據(jù)庫查詢時,不必像前兩種模型那樣需要事先規(guī)定路徑,而用嚴(yán)密的關(guān)系運(yùn)算表達(dá)式來描述查詢,從而使查詢語句的表達(dá)非常簡單直觀。
(6)關(guān)系模型的概念單一。在關(guān)系模型中,無論是實體還是實體之間的聯(lián)系都用關(guān)系來表示。
(7)關(guān)系必須是規(guī)范化的關(guān)系。所謂規(guī)范化是指關(guān)系模型中,每一個關(guān)系模式要滿足一定的要求或者稱為規(guī)范條件。
5.其他數(shù)據(jù)模型
(1)層次模型(Hierarchical Model),的設(shè)計思想是把系統(tǒng)劃分成若干小部分,然后,再按照層次結(jié)構(gòu)逐級組合成一個整體。圖2描述了這種分層結(jié)構(gòu)的構(gòu)造方法,其結(jié)構(gòu)類似于“倒置樹”。
圖2 層次模型的構(gòu)造方法
層次模型的特點如下:
①有且僅有一個結(jié)點,無父結(jié)點,此結(jié)點是根結(jié)點,例如,在大學(xué)數(shù)據(jù)模型中的校長;
②其他結(jié)點有且僅有一個父結(jié)點,如校長下屬的學(xué)院院長,他們的父結(jié)點就是大學(xué)校長;
③適合于表示一對多的聯(lián)系,如一個校長下屬若干院長。
(2)網(wǎng)狀模型(Network Model),指用網(wǎng)狀結(jié)構(gòu)表示實體及其之間聯(lián)系的模型,是以記錄類型為節(jié)點的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)模型的特點是一個子節(jié)點可以有兩個或多個父節(jié)點,可以有一個以上的節(jié)點無父節(jié)點,在兩個節(jié)點之間可以有兩種或多種聯(lián)系。圖3表示了一個網(wǎng)狀模型的結(jié)構(gòu)。
圖3 網(wǎng)狀模型
數(shù)據(jù)庫內(nèi)部體系結(jié)構(gòu)
一個數(shù)據(jù)庫系統(tǒng)的體系結(jié)構(gòu)在很大程度上受到計算機(jī)系統(tǒng)的組成結(jié)構(gòu)的影響。數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)分為三級,由外模式、模式和內(nèi)模式組成,如圖4所示。
圖4數(shù)據(jù)庫的結(jié)構(gòu)示意圖
1.內(nèi)模式又稱存儲模式,具體描述了數(shù)據(jù)是如何組織、存儲在存儲介質(zhì)上的,是系統(tǒng)程序員用一定的文件形式組織起來的存儲文件和聯(lián)系手段。所以內(nèi)模式又稱為系統(tǒng)程序員視圖,只有內(nèi)模式才是真正存儲數(shù)據(jù)的。
2.模式又稱邏輯模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖。
3.外模式通常是模式的一個子集,又稱為子模式。外模式面向的是用戶,是用戶眼中的數(shù)據(jù)庫,所以外模式又稱為用戶視圖。
MySQL簡介
MySQL是一個小型關(guān)系數(shù)據(jù)庫管理系統(tǒng),它由一個服務(wù)器守護(hù)程序mysqld和很多不同的客戶程序和庫組成。它的規(guī)模小、功能有限,但是它體積小、速度快、成本低,且它提供的功能對稍微復(fù)雜的應(yīng)用來說已經(jīng)夠用,這些特性使得MySQL成為世界上最受歡迎的開放源代碼數(shù)據(jù)庫。
PowerDesigner簡介
PowerDesigner是Sybase公司一個功能強(qiáng)大而使用簡單的的CASE工具集(ComputerAided Software—CASE),使用它可以方便地對管理信息系統(tǒng)進(jìn)行分析設(shè)計,它幾乎包括了數(shù)據(jù)庫模型設(shè)計的全過程。利用PowerDes igner可以制作數(shù)據(jù)流程圖、概念數(shù)據(jù)模型、物理數(shù)據(jù)模型,可以生成多種客戶端開發(fā)工具的應(yīng)用程序,還可為數(shù)據(jù)倉庫制作結(jié)構(gòu)模型,也能對團(tuán)隊設(shè)計模型進(jìn)行控制。
目錄
- 數(shù)據(jù)庫知識基本概念
- 思維導(dǎo)圖
- 數(shù)據(jù)庫的基本概念
- 信息
- 數(shù)據(jù)
- 數(shù)據(jù)與信息的關(guān)系
- 數(shù)據(jù)庫系統(tǒng)的組成
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)
- 數(shù)據(jù)庫管理員
- 用戶
- 數(shù)據(jù)庫應(yīng)用系統(tǒng)
- 數(shù)據(jù)管理技術(shù)的發(fā)展階段
- 1人工管理階段
- 2文件系統(tǒng)階段
- 3數(shù)據(jù)庫系統(tǒng)階段
- 數(shù)據(jù)庫系統(tǒng)的發(fā)展過程和發(fā)展趨勢
- 人機(jī)交互階段
- 應(yīng)用捆綁階段
- 網(wǎng)絡(luò)階段
- 因特網(wǎng)階段
- 數(shù)據(jù)模型
- 數(shù)據(jù)模型的概念
- 實體一聯(lián)系模型
- 3關(guān)系模型
- 關(guān)系模型的特點
- 其他數(shù)據(jù)模型
- 數(shù)據(jù)庫內(nèi)部體系結(jié)構(gòu)
- MySQL簡介
- PowerDesigner簡介
- 目錄
總結(jié)