(1)引言(上)

首先解釋如下名詞:

數(shù)據(jù)(data)

數(shù)據(jù)是數(shù)據(jù)庫中存儲(chǔ)的基本對(duì)象拉宗,它是描述事物的符號(hào)記錄车荔,有多種表現(xiàn)形式渡冻,它們都可以經(jīng)過數(shù)字化后存入計(jì)算機(jī)。描述事物的符號(hào)可以是數(shù)字忧便、文字族吻、圖形、圖像、音頻等超歌。
數(shù)據(jù)的解釋是指對(duì)數(shù)據(jù)含義的說明砍艾,數(shù)據(jù)的含義稱為數(shù)據(jù)的語義,數(shù)據(jù)與其語義是不可分的巍举。
記錄是計(jì)算機(jī)中表示和存儲(chǔ)數(shù)據(jù)的一種格式或一種方法脆荷。

DB(Database) 數(shù)據(jù)庫

DB是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的,有組織的懊悯、統(tǒng)一管理的相關(guān)數(shù)據(jù)的集合蜓谋。DB能為各種用戶共享,具有較小的冗余度定枷、數(shù)據(jù)間聯(lián)系緊密而又有較高的數(shù)據(jù)獨(dú)立性等特點(diǎn)孤澎。

DBMS(Database Management System) 數(shù)據(jù)庫管理系統(tǒng)

DBMS是位于用戶與操作系統(tǒng)(OS)之間的一層數(shù)據(jù)管理軟件届氢,它為用戶或應(yīng)用程序提供訪問DB的方法欠窒,包括DB的建立、查詢退子、更新等各種數(shù)據(jù)控制岖妄。DBMS總是基于某種模型,可以分為層次型寂祥、網(wǎng)狀型荐虐、關(guān)系型和面向?qū)ο笮偷取K闹饕δ埽?/p>

  1. 數(shù)據(jù)定義:提供數(shù)據(jù)定義語言(Data Definition Language丸凭,DDL)福扬,用戶通過它可以方便地對(duì)數(shù)據(jù)庫中的數(shù)據(jù)對(duì)象的組成與結(jié)構(gòu)進(jìn)行定義。
  2. 數(shù)據(jù)組織惜犀、存儲(chǔ)和管理:數(shù)據(jù)庫管理系統(tǒng)要分類組織铛碑、存儲(chǔ)和管理各種數(shù)據(jù),包括數(shù)據(jù)字典虽界、用戶數(shù)據(jù)汽烦、數(shù)據(jù)的存取路徑等。
    數(shù)據(jù)組織和存儲(chǔ)的基本目標(biāo)是提高存儲(chǔ)控件利用率和方便存取莉御,提供多種存取方法來提高存取效率撇吞。
  3. 數(shù)據(jù)操縱:提供數(shù)據(jù)操縱語言(Data Manipultion Language,DML)礁叔,使用它對(duì)數(shù)據(jù)庫的基本操作(增刪改查等)牍颈。
  4. 數(shù)據(jù)庫的事務(wù)管理和運(yùn)行管理:數(shù)據(jù)庫在建立、運(yùn)用和維護(hù)時(shí)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制琅关,以保證事務(wù)的正確運(yùn)行颂砸,保證數(shù)據(jù)的安全性、完整性、多用戶對(duì)數(shù)據(jù)的并發(fā)和使用及發(fā)生故障后的系統(tǒng)恢復(fù)人乓。
  5. 數(shù)據(jù)庫的建立和維護(hù):該功能包括數(shù)據(jù)庫初始數(shù)據(jù)的輸入勤篮、轉(zhuǎn)換功能,數(shù)據(jù)庫的轉(zhuǎn)儲(chǔ)色罚、恢復(fù)功能碰缔,數(shù)據(jù)庫的重組織功能和性能監(jiān)視、分析功能戳护。
  6. 其他:包括數(shù)據(jù)庫管理系統(tǒng)與網(wǎng)絡(luò)中其他軟件系統(tǒng)的通信金抡;一個(gè)數(shù)據(jù)庫管理系統(tǒng)與另一個(gè)數(shù)據(jù)庫管理系統(tǒng)或文件系統(tǒng)的數(shù)據(jù)轉(zhuǎn)換功能;異構(gòu)數(shù)據(jù)之間的互訪和互操作功能等腌且。

DBS(Database System) 數(shù)據(jù)庫系統(tǒng)

DBS是實(shí)現(xiàn)有組織地梗肝、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù)、方便多用戶訪問的計(jì)算機(jī)硬件铺董、軟件和數(shù)據(jù)資源組成的系統(tǒng)巫击,即它是采用數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng),通常由軟件精续、數(shù)據(jù)庫和數(shù)據(jù)管理員組成坝锰。其軟件主要包括操作系統(tǒng)、各種宿主語言重付、實(shí)用程序以及數(shù)據(jù)庫管理系統(tǒng)顷级。

image.png

1.數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展

數(shù)據(jù)技術(shù)是應(yīng)數(shù)據(jù)管理任務(wù)的需要而產(chǎn)生的。數(shù)據(jù)庫管理是指對(duì)數(shù)據(jù)進(jìn)行分類确垫、組織弓颈、編碼、存儲(chǔ)删掀、檢索和維護(hù)翔冀,它是數(shù)據(jù)處理的中心問題。而數(shù)據(jù)的處理是指對(duì)各種數(shù)據(jù)進(jìn)行收集爬迟、存儲(chǔ)橘蜜、加工和傳播的一系列活動(dòng)的總和。

數(shù)據(jù)庫管理技術(shù)經(jīng)歷了人工管理付呕、文件系統(tǒng)计福、數(shù)據(jù)庫系統(tǒng)三個(gè)階段。從文件系統(tǒng)到數(shù)據(jù)庫系統(tǒng)標(biāo)志著數(shù)據(jù)管理技術(shù)的飛躍徽职。

一象颖、人工管理階段

20世紀(jì)50年代中期以前,計(jì)算機(jī)主要用于科學(xué)計(jì)算姆钉,硬件:沒有磁盤说订、硬盤等直接存取的存儲(chǔ)設(shè)備抄瓦;軟件:沒有操作系統(tǒng),沒有管理數(shù)據(jù)的專門軟件陶冷;數(shù)據(jù)處理方式是批處理钙姊。

特點(diǎn):

  • 數(shù)據(jù)不保存。
  • 應(yīng)用程序管理數(shù)據(jù):程序員負(fù)擔(dān)重埂伦。
  • 數(shù)據(jù)不共享:程序與程序之間有大量的冗余數(shù)據(jù)煞额。
  • 數(shù)據(jù)不具有獨(dú)立性:數(shù)據(jù)完全依賴應(yīng)用程序。
二沾谜、文件系統(tǒng)階段

20世紀(jì)50年代后期到60年代中期膊毁,硬件:有直接存取存儲(chǔ)設(shè)備;軟件:有專門的數(shù)據(jù)管理軟件(文件系統(tǒng))基跑;處理方式上不僅有批處理婚温,還有聯(lián)機(jī)實(shí)時(shí)處理。

特點(diǎn):

  • 數(shù)據(jù)可以長(zhǎng)期保存:可以反復(fù)進(jìn)行增刪改查操作媳否。
  • 由文件系統(tǒng)管理數(shù)據(jù)
  • 數(shù)據(jù)共享性差栅螟,冗余度大。
  • 數(shù)據(jù)獨(dú)立性差:是一個(gè)不具有彈性的無整體結(jié)構(gòu)的數(shù)據(jù)集合逆日,即文件之間是孤立的嵌巷,不能反映現(xiàn)實(shí)世界事物之間的內(nèi)在聯(lián)系萄凤。

綜述:使用文件系統(tǒng)時(shí)室抽,程序員要關(guān)注記錄的結(jié)構(gòu)和不同文件中記錄之間的聯(lián)系,使用文件系統(tǒng)提供的fopen(打開)靡努、fread(讀)坪圾、fwrite(寫)、fseek(移動(dòng)讀寫位置)惑朦、fclose(關(guān)閉)等操作來編程兽泄,工作量大、編程復(fù)雜漾月,且開發(fā)速度較慢病梢。

三、數(shù)據(jù)庫系統(tǒng)階段

20世紀(jì)60年代后期以來梁肿,出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng)–數(shù)據(jù)庫管理系統(tǒng)蜓陌。

特點(diǎn):

  • 數(shù)據(jù)結(jié)構(gòu)化:數(shù)據(jù)庫系統(tǒng)實(shí)現(xiàn)整體數(shù)據(jù)的結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一,也是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別吩蔑。
  • 整體結(jié)構(gòu)化:數(shù)據(jù)庫中的數(shù)據(jù)不再僅僅針對(duì)某一個(gè)應(yīng)用钮热,而是面向整個(gè)組織或企業(yè);不僅數(shù)據(jù)內(nèi)部是結(jié)構(gòu)化的烛芬,而且整體是結(jié)構(gòu)化的隧期,數(shù)據(jù)之間是具有聯(lián)系的飒责。
  • 數(shù)據(jù)的共享性高、冗余度低且易擴(kuò)充:大大減少數(shù)據(jù)冗余仆潮,節(jié)約存儲(chǔ)空間宏蛉,還能避免數(shù)據(jù)之間的不相容性與不一致性。
    備注:數(shù)據(jù)的不一致性是指同一數(shù)據(jù)不同副本的值不一樣性置。
  • 數(shù)據(jù)獨(dú)立性高
    1)物理獨(dú)立性:用戶的應(yīng)用程序與數(shù)據(jù)庫中數(shù)據(jù)的物理存儲(chǔ)是相互獨(dú)立的檐晕。
    2)邏輯獨(dú)立性:用戶的應(yīng)用程序與數(shù)據(jù)庫的邏輯機(jī)構(gòu)是相互獨(dú)立的,數(shù)據(jù)的邏輯改變時(shí)用戶程序可以不變蚌讼。
  • 數(shù)據(jù)由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理和控制辟灰,具有以下特點(diǎn)
    1)數(shù)據(jù)的安全性保護(hù)
    保護(hù)數(shù)據(jù)以防止不合法使用造成的數(shù)據(jù)泄密和破壞。
    2)數(shù)據(jù)的完整性檢查
    將數(shù)據(jù)控制在有效的范圍內(nèi)篡石,并保證數(shù)據(jù)之間滿足一定的關(guān)系芥喇。
    數(shù)據(jù)的完整性指數(shù)據(jù)的正確性、有效性和相容性凰萨。
    3)并發(fā)控制
    對(duì)多用戶的并發(fā)操作加以控制和協(xié)調(diào)继控。
    4)數(shù)據(jù)庫恢復(fù)
    將數(shù)據(jù)庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(完整狀態(tài)或一致狀態(tài))的功能。
    綜述:數(shù)據(jù)庫是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)有組織胖眷、大量武通、共享的數(shù)據(jù)集合。它可以提供各種用戶共享珊搀,具有最小冗余度和較高的數(shù)據(jù)獨(dú)立性冶忱。數(shù)據(jù)庫管理系統(tǒng)在數(shù)據(jù)建立、運(yùn)用和維護(hù)時(shí)對(duì)數(shù)據(jù)庫進(jìn)行統(tǒng)一控制境析,以保證數(shù)據(jù)的完整性和安全性囚枪,并在多用戶同時(shí)使用數(shù)據(jù)庫時(shí)進(jìn)行并發(fā)控制,在發(fā)生故障后對(duì)數(shù)據(jù)庫進(jìn)行恢復(fù)劳淆。
image.png

2.數(shù)據(jù)庫系統(tǒng)對(duì)文件系統(tǒng)的改進(jìn)與數(shù)據(jù)庫管理系統(tǒng)的發(fā)展

文件系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的比較

首先看一下文件系統(tǒng)的簡(jiǎn)單原理圖:


image.png

然后是數(shù)據(jù)庫系統(tǒng)的


image.png

以下是對(duì)兩種系統(tǒng)的簡(jiǎn)單介紹

  1. 文件系統(tǒng)是操作系統(tǒng)的子系統(tǒng)链沼,用于操作系統(tǒng)明確存儲(chǔ)設(shè)備或分區(qū)上的文件的方法和數(shù)據(jù)結(jié)構(gòu)。
    文件系統(tǒng)由三部分組成:文件系統(tǒng)的接口沛鸵,對(duì)對(duì)象操縱和管理的軟件集合括勺,對(duì)象及屬性。從系統(tǒng)角度來看曲掰,文件系統(tǒng)是對(duì)文件存儲(chǔ)設(shè)備的空間進(jìn)行組織和分配疾捍,負(fù)責(zé)文件存儲(chǔ)并對(duì)存入的文件進(jìn)行保護(hù)和檢索的系統(tǒng)。具體地說蜈缤,它負(fù)責(zé)為用戶建立文件拾氓,存入、讀出底哥、修改咙鞍、轉(zhuǎn)儲(chǔ)文件房官,控制文件的存取,當(dāng)用戶不再使用時(shí)撤銷文件等续滋。

  2. 數(shù)據(jù)庫系統(tǒng)DBS通常由軟件翰守、數(shù)據(jù)庫和數(shù)據(jù)管理員組成。其軟件主要包括操作系統(tǒng)疲酌、各種宿主語言蜡峰、實(shí)用程序以及數(shù)據(jù)庫管理系統(tǒng)。
    數(shù)據(jù)庫由數(shù)據(jù)庫管理系統(tǒng)統(tǒng)一管理朗恳,數(shù)據(jù)的插入湿颅、修改和檢索均要通過數(shù)據(jù)庫管理系統(tǒng)進(jìn)行。數(shù)據(jù)管理員負(fù)責(zé)創(chuàng)建粥诫、監(jiān)控和維護(hù)整個(gè)數(shù)據(jù)庫油航,使數(shù)據(jù)能被任何有權(quán)使用的人有效使用。

文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的對(duì)比

  1. 管理對(duì)象不同:
    兩者最顯而易見的區(qū)別就是怀浆,文件系統(tǒng)是以文件為載體記錄數(shù)據(jù)的谊囚,管理的也是記載著這些數(shù)據(jù)的文件,而非數(shù)據(jù)本身执赡,文件的各種形式對(duì)應(yīng)著不同的數(shù)據(jù)結(jié)構(gòu)镰踏。(非常淺顯的對(duì)比就是給一個(gè)文件重命名并不會(huì)造成文件內(nèi)記錄的數(shù)據(jù)發(fā)生改變)
    而數(shù)據(jù)庫系統(tǒng)管理的是數(shù)據(jù)本身,在數(shù)據(jù)庫內(nèi)的任何操作都會(huì)立刻影響到數(shù)據(jù)。

  2. 存儲(chǔ)數(shù)據(jù)方式不同:
    文件系統(tǒng)用文件將數(shù)據(jù)長(zhǎng)期保存在外存上。(這里的文件可以有很多不同的形式,不同后綴的文件就相當(dāng)于不同的數(shù)據(jù)結(jié)構(gòu))
    數(shù)據(jù)庫系統(tǒng)用數(shù)據(jù)庫統(tǒng)一存儲(chǔ)數(shù)據(jù)。(有統(tǒng)一的數(shù)據(jù)結(jié)構(gòu))

  3. 程序與數(shù)據(jù)的關(guān)系不同:
    文件系統(tǒng)中骚揍,程序訪問數(shù)據(jù)是直接訪問的,對(duì)數(shù)據(jù)的查詢修改必須在程序內(nèi)完成服协,而這依賴于開發(fā)者對(duì)文件的邏輯及物理結(jié)構(gòu)非常清楚府适。
    數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)不再僅服務(wù)于某個(gè)程序或用戶佣盒,而是以單位的形式共享出來挎袜,統(tǒng)一由DBMS軟件管理。由于程序?qū)?shù)據(jù)的操作都是通過DBMS實(shí)現(xiàn)的肥惭,因此程序和數(shù)據(jù)徹底獨(dú)立開盯仪,可以在更高的抽象級(jí)別觀察和訪問數(shù)據(jù)。

文件系統(tǒng)的的缺點(diǎn)與數(shù)據(jù)庫系統(tǒng)的改進(jìn)

傳統(tǒng)的操作系統(tǒng)所支持的是文件處理系統(tǒng)蜜葱,所有數(shù)據(jù)被永久記錄被存儲(chǔ)在多個(gè)不同的文件中全景,人們編寫不同的應(yīng)用程序來將所需數(shù)據(jù)從有關(guān)文件中取出或加入到適當(dāng)?shù)奈募小5侵饾u發(fā)現(xiàn)文件系統(tǒng)有如下缺點(diǎn):

  1. 數(shù)據(jù)的冗余和不一致 :文件系統(tǒng)由于文件的格式和結(jié)構(gòu)以及創(chuàng)建的時(shí)間先后的不同牵囤,相同的信息在幾份文件中存儲(chǔ)爸黄。數(shù)據(jù)的重復(fù)存儲(chǔ)造成冗余滞伟,同時(shí)因?yàn)槿哂啵环輸?shù)據(jù)有多個(gè)副本炕贵。當(dāng)修改數(shù)據(jù)后引起同一數(shù)據(jù)的不同副本內(nèi)容不一致梆奈。
    數(shù)據(jù)庫系統(tǒng)采用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)結(jié)構(gòu),減少了數(shù)據(jù)冗余的可能性称开,從而避免了不一致的情況亩钟。
  2. 數(shù)據(jù)訪問困難:文件系統(tǒng)中的文件是為某一特定應(yīng)用服務(wù)的,當(dāng)需要的服務(wù)超出應(yīng)用程序的范圍外(比如查詢的特定條件是應(yīng)用程序要求之外的)鳖轰,必須修改應(yīng)用程序清酥,通過應(yīng)用程序達(dá)成條件,這就導(dǎo)致了數(shù)據(jù)和程序之間缺乏獨(dú)立性蕴侣,它們緊密關(guān)系在一起总处。
    數(shù)據(jù)庫系統(tǒng)提供很高的數(shù)據(jù)獨(dú)立性,通過DBMS的兩級(jí)映象實(shí)現(xiàn)了數(shù)據(jù)的物理獨(dú)立性和邏輯獨(dú)立性睛蛛,把數(shù)據(jù)的定義和操控從程序中分離出去鹦马,減少了應(yīng)用程序的維護(hù)和修改。具體見下:
    image.png
  3. 數(shù)據(jù)孤立:由于數(shù)據(jù)分散在不同文件中忆肾,文件又具有不同的格式荸频,檢索和共享數(shù)據(jù)很復(fù)雜。
    數(shù)據(jù)庫系統(tǒng)是數(shù)據(jù)共享的客冈,這里的共享是指多用戶旭从、多種應(yīng)用、多種語言互相覆蓋地共享數(shù)據(jù)集合场仲,所有用戶可同時(shí)存取數(shù)據(jù)庫中的數(shù)據(jù)和悦。數(shù)據(jù)庫是面向整個(gè)系統(tǒng)的,以最優(yōu)的方式服務(wù)于一個(gè)或多個(gè)應(yīng)用程序(用戶)渠缕,實(shí)現(xiàn)數(shù)據(jù)共享鸽素。
  4. 完整性問題:數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性,有效性和相容性亦鳞。比如存儲(chǔ)數(shù)據(jù)的值必須滿足某些特定的一致性約束(例如在銀行系統(tǒng)中個(gè)人存款余額必須非負(fù))馍忽。但這些約束涉及到多個(gè)文件中的多個(gè)數(shù)據(jù)時(shí),更改和增加新的約束很困難燕差。
    而數(shù)據(jù)庫系統(tǒng)完整性由各種各樣的完整性約束來保證遭笋,因此可以說數(shù)據(jù)庫完整性設(shè)計(jì)就是數(shù)據(jù)庫完整性約束的設(shè)計(jì)。
    image.png
  5. 原子性問題:對(duì)傳統(tǒng)的文件系統(tǒng)徒探,保證數(shù)據(jù)操作的原子性很難實(shí)現(xiàn)瓦呼。
    數(shù)據(jù)庫系統(tǒng)中事務(wù)具有原子性,原子性是指事務(wù)是一個(gè)不可再分割的工作單元测暗,事務(wù)中的操作要么都發(fā)生央串,要么都不發(fā)生谎替。同時(shí)數(shù)據(jù)庫系統(tǒng)也提供了數(shù)據(jù)恢復(fù)功能,當(dāng)數(shù)據(jù)庫被破壞或者數(shù)據(jù)不可靠時(shí)蹋辅,又能力從錯(cuò)誤狀態(tài)恢復(fù)到某一時(shí)刻的一次正常狀態(tài)钱贯,比如事務(wù)的回滾。更加保證了事務(wù)的原子性侦另。
  6. 并發(fā)訪問異常:為了提升系統(tǒng)總體性能和響應(yīng)速度秩命,系統(tǒng)允許多個(gè)用戶同時(shí)更新數(shù)據(jù)。當(dāng)數(shù)據(jù)訪問量過多時(shí)褒傅,并發(fā)的更新操作可能相互影響弃锐,導(dǎo)致數(shù)據(jù)不一致。為了消除這樣的可能性殿托,系統(tǒng)必須進(jìn)行某種形式管理霹菊,而文件系統(tǒng)是很難做到的。
    數(shù)據(jù)庫系統(tǒng)提供了并發(fā)控制支竹,使得多用戶同時(shí)存取或修改數(shù)據(jù)庫旋廷,防止相互干擾而提供給用戶錯(cuò)誤的數(shù)據(jù),并使數(shù)據(jù)庫遭到破壞礼搁。
  7. 安全性問題:文件系統(tǒng)訪問數(shù)據(jù)的控制很簡(jiǎn)單饶碘,數(shù)據(jù)庫的所有用戶都可以訪問數(shù)據(jù),有潛在的安全隱患馒吴。
    而數(shù)據(jù)庫系統(tǒng)提供了以下功能:
    image.png

安全性和完整性的區(qū)別

image.png

綜上有如下總結(jié):
文件系統(tǒng)的缺點(diǎn):

① 文件系統(tǒng)編寫應(yīng)用程序不方便扎运,往往程序需要隨著文件的變化而修改。

② 文件系統(tǒng)中的文件不能滿足各種程序的需要饮戳,因此同一數(shù)據(jù)往往會(huì)以不同的文件形式儲(chǔ)存豪治,造成數(shù)據(jù)的冗余和不一致性。

③ 文件系統(tǒng)不支持對(duì)文件的并發(fā)訪問扯罐。

④ 文件系統(tǒng)中的數(shù)據(jù)缺少統(tǒng)一的管理负拟,表現(xiàn)在數(shù)據(jù)的結(jié)構(gòu),編碼篮赢,表示格式齿椅,命名以及輸出格式等不容易做到規(guī)范化、標(biāo)準(zhǔn)化启泣,因此數(shù)據(jù)的安全和保密面臨更大的挑戰(zhàn)。

文件系統(tǒng)的優(yōu)點(diǎn):

① 由于數(shù)據(jù)的冗余示辈,因此在高可用方面的表現(xiàn)遠(yuǎn)遠(yuǎn)優(yōu)于數(shù)據(jù)庫系統(tǒng)寥茫。且在海量存儲(chǔ)方面,大量的冗余帶來了更大的容錯(cuò)能力矾麻。

② 分布式方案的出現(xiàn)讓文件系統(tǒng)能夠在海量數(shù)據(jù)面前大顯身手纱耻,極強(qiáng)的可擴(kuò)展性帶來極好的數(shù)據(jù)存儲(chǔ)能力芭梯。

數(shù)據(jù)庫系統(tǒng)的缺點(diǎn):

① 由于DBMS的存在,在簡(jiǎn)單的不需要數(shù)據(jù)共享的場(chǎng)景下弄喘,性能不如文件系統(tǒng)玖喘。

② 由于數(shù)據(jù)沒有冗余,在高可用方面有一定的隱患蘑志,只能通過備份解決累奈。

③ 面對(duì)海量數(shù)據(jù)的應(yīng)用場(chǎng)景很被動(dòng),表現(xiàn)不佳急但。

數(shù)據(jù)庫系統(tǒng)的優(yōu)點(diǎn):

① 由于DBMS的存在澎媒,用戶不再需要了解數(shù)據(jù)存儲(chǔ)和其他實(shí)現(xiàn)的細(xì)節(jié),直接通過DBMS就能獲取數(shù)據(jù)波桩,為數(shù)據(jù)的使用帶來極大便利戒努。

② 具有以數(shù)據(jù)為單位的共享性,具有數(shù)據(jù)的并發(fā)訪問能力镐躲。DBMS保證了在并發(fā)訪問時(shí)數(shù)據(jù)的一致性储玫。

③ 低延時(shí)訪問,典型例子就是線下支付系統(tǒng)的應(yīng)用萤皂,支付規(guī)模巨大的時(shí)候缘缚,數(shù)據(jù)庫系統(tǒng)的表現(xiàn)遠(yuǎn)遠(yuǎn)優(yōu)于文件系統(tǒng)。

④ 能夠較為頻繁的對(duì)數(shù)據(jù)進(jìn)行修改敌蚜,在需要頻繁修改數(shù)據(jù)的場(chǎng)景下桥滨,數(shù)據(jù)庫系統(tǒng)可以依賴DBMS來對(duì)數(shù)據(jù)進(jìn)行操作且對(duì)性能的消耗相比文件系統(tǒng)比較小。

⑤ 對(duì)事務(wù)的支持弛车。DBMS支持事務(wù)齐媒,即一系列對(duì)數(shù)據(jù)的操作集合要么都完成,要么都不完成纷跛。在DBMS上對(duì)數(shù)據(jù)的各種操作都是原子級(jí)的喻括。

數(shù)據(jù)庫管理系統(tǒng)的發(fā)展歷史
image.png
image.png

3. 數(shù)據(jù)視圖

數(shù)據(jù)抽象的幾個(gè)層次

系統(tǒng)開發(fā)人員通過如下幾個(gè)層次上的抽象對(duì)用戶屏蔽復(fù)雜性,以簡(jiǎn)化用戶與系統(tǒng)的交互贫奠。

  1. 物理層(pthsical level)
    最低層次的抽象唬血,詳細(xì)描述復(fù)雜的底層數(shù)據(jù)結(jié)構(gòu)。每條數(shù)據(jù)記錄可能被描述為連續(xù)存儲(chǔ)位置組成的存儲(chǔ)塊唤崭。程序設(shè)計(jì)人員可以忽略拷恨,但數(shù)據(jù)庫管理員可能需要了解部分被屏蔽的細(xì)節(jié)。
  2. 邏輯層(logical level)
    比物理層層次稍高的抽象谢肾,描述數(shù)據(jù)庫中存儲(chǔ)什么數(shù)據(jù)及這些數(shù)據(jù)間存在什么關(guān)系腕侄,其具體內(nèi)容就是一張張表和一行行數(shù)據(jù)記錄。值得注意的是雖然邏輯層的簡(jiǎn)單結(jié)構(gòu)的實(shí)現(xiàn)可能涉及復(fù)雜的物理層結(jié)構(gòu),但邏輯層的用戶不必知道這樣的復(fù)雜性冕杠。這稱作物理數(shù)據(jù)獨(dú)立性微姊。詳細(xì)見上文數(shù)據(jù)獨(dú)立性部分。程序設(shè)計(jì)人員和數(shù)據(jù)庫管理員在這一層工作分预。
  3. 視圖層(view level)
    最高層次的的抽象兢交,只描述整個(gè)數(shù)據(jù)庫的某個(gè)部分。系統(tǒng)可以為同一數(shù)據(jù)庫提供多個(gè)視圖笼痹。這一層面向的是用戶配喳,除了屏蔽掉邏輯層的相關(guān)細(xì)節(jié)之外,還有通過用戶權(quán)限防止用戶訪問數(shù)據(jù)庫部分信息的機(jī)制与倡。
  4. 存儲(chǔ)引擎:在上面三個(gè)層面之外的存儲(chǔ)引擎界逛,作用是使邏輯層中sql語句轉(zhuǎn)換成能在磁盤上存儲(chǔ)的物理形式,連接邏輯層與物理層纺座。
    如圖示:


    image.png

實(shí)例和模式

信息在插入刪除和修改過程中息拜,數(shù)據(jù)庫的內(nèi)容也會(huì)發(fā)生變化,把特定時(shí)刻存儲(chǔ)在數(shù)據(jù)庫中的信息的集合稱為數(shù)據(jù)庫的一個(gè)實(shí)例净响,而數(shù)據(jù)庫的總體設(shè)計(jì)稱為模式少欺,一般來說模式不經(jīng)常變化。類比于程序設(shè)計(jì)語言可以把模式理解為變量的聲明馋贤,而實(shí)例理解為這個(gè)變量某時(shí)刻的具體的值赞别。

在數(shù)據(jù)模型中有“型”和“值”的概念,型是指對(duì)某一類數(shù)據(jù)的結(jié)構(gòu)和屬性的說明配乓,值是型的一個(gè)具體賦值仿滔。
模式是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,它僅僅涉及型的描述犹芹,不涉及具體的值崎页。模式的一個(gè)具體值稱為模式的一個(gè)實(shí)例,同一個(gè)模式可以有很多實(shí)例腰埂。
模式是相對(duì)穩(wěn)定的飒焦,而實(shí)例是相對(duì)變動(dòng)的,因?yàn)閿?shù)據(jù)庫中的數(shù)據(jù)是不斷更新的屿笼,模式反映的是數(shù)據(jù)的結(jié)構(gòu)及其聯(lián)系牺荠,而實(shí)例反映的是數(shù)據(jù)庫某一時(shí)刻的狀態(tài)。

根據(jù)三個(gè)抽象層次驴一, 數(shù)據(jù)庫系統(tǒng)可以分為對(duì)應(yīng)以下三種模式:

  1. 物理模式:物理層描述數(shù)據(jù)庫設(shè)計(jì)
  2. 邏輯模式:邏輯層描述數(shù)據(jù)庫設(shè)計(jì)休雌,程序開發(fā)人員最重要的模式
  3. 子模式:視圖層描述用戶看到的各種視圖
    在不同模式間,通過相互映射完成轉(zhuǎn)換:


    image.png

這里更詳細(xì)講解一下圖中的模式相關(guān)概念:

1:外模式

外模式又稱子模式或用戶模式蛔趴,對(duì)應(yīng)于用戶級(jí)挑辆。它是數(shù)據(jù)庫用戶(包括應(yīng)用程序員和最終用戶)能夠看見和使用的局部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述例朱,是數(shù)據(jù)庫用戶的數(shù)據(jù)視圖孝情,是與某一應(yīng)用有關(guān)的數(shù)據(jù)的邏輯表示鱼蝉。 外模式是從模式導(dǎo)出的一個(gè)子集,包含模式中允許特定用戶使用的那部分?jǐn)?shù)據(jù)箫荡。用戶可以通過外模式描述語言來描述魁亦、定義對(duì)應(yīng)于用戶的數(shù)據(jù)記錄(外模式),也可以利用數(shù)據(jù)操縱語言(Data Manipulation Language羔挡,DML)對(duì)這些數(shù)據(jù)記錄進(jìn)行操作洁奈。外模式反映了數(shù)據(jù)庫的用戶觀。
重點(diǎn): ① 一個(gè)數(shù)據(jù)庫可以有多個(gè)外模式绞灼; ② 外模式就是用戶視圖利术; ③ 外模式是保證數(shù)據(jù)安全性的一個(gè)有力措施。

2:模式
模式/邏輯模式/概念模式:是由數(shù)據(jù)庫設(shè)計(jì)者綜合所有用戶的數(shù)據(jù)低矮,按照統(tǒng)一的觀點(diǎn)構(gòu)造的全局邏輯結(jié)構(gòu)印叁,是對(duì)數(shù)據(jù)庫中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的總體描述,是所有用戶的公共數(shù)據(jù)視圖军掂。它是數(shù)據(jù)庫吸引模式結(jié)構(gòu)的中間層轮蜕,既不涉及數(shù)據(jù)的物理存儲(chǔ)細(xì)節(jié)和硬件環(huán)境,又與具體的應(yīng)用程序蝗锥、所使用的應(yīng)用開發(fā)工具及高級(jí)程序設(shè)計(jì)語言無關(guān)跃洛。 是由數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)模式描述語言(Data Description Language,DDL)來描述终议、定義的汇竭,體現(xiàn)、反映了數(shù)據(jù)庫系統(tǒng)的整體觀穴张。
關(guān)系數(shù)據(jù)庫中的模式一定是關(guān)系的细燎。

重點(diǎn): ① 一個(gè)數(shù)據(jù)庫只有一個(gè)模式; ② 是數(shù)據(jù)庫數(shù)據(jù)在邏輯級(jí)上的視圖陆馁; ③ 數(shù)據(jù)庫模式以某一種數(shù)據(jù)模型為基礎(chǔ)找颓; ④ 定義模式時(shí)不僅要定義數(shù)據(jù)的邏輯結(jié)構(gòu)(如數(shù)據(jù)記錄由哪些數(shù)據(jù)項(xiàng)構(gòu)成,數(shù)據(jù)項(xiàng)的名字叮贩、類型击狮、取值范圍等),而且要定義與數(shù)據(jù)有關(guān)的安全性益老、完整性要求彪蓬,定義這些數(shù)據(jù)之間的聯(lián)系。

3:內(nèi)模式
內(nèi)模式又稱存儲(chǔ)模式或物理模式捺萌,對(duì)應(yīng)于物理級(jí)档冬,它是數(shù)據(jù)庫中全體數(shù)據(jù)的內(nèi)部表示或底層描述,是數(shù)據(jù)庫最低一級(jí)的邏輯描述,它描述了數(shù)據(jù)在存儲(chǔ)介質(zhì)上的存儲(chǔ)方式和物理結(jié)構(gòu)酷誓,對(duì)應(yīng)著實(shí)際存儲(chǔ)在外存儲(chǔ)介質(zhì)上的數(shù)據(jù)庫(例如披坏,記錄的存儲(chǔ)方式是順序存儲(chǔ)、按照B樹結(jié)構(gòu)存儲(chǔ)還是按hash方法存儲(chǔ)盐数;索引按照什么方式組織棒拂;數(shù)據(jù)是否壓縮存儲(chǔ),是否加密玫氢;數(shù)據(jù)的存儲(chǔ)記錄結(jié)構(gòu)有何規(guī)定)帚屉。內(nèi)模式由內(nèi)模式描述語言來描述、定義漾峡,它是數(shù)據(jù)庫的存儲(chǔ)觀攻旦。一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式。
內(nèi)模式不是關(guān)系的生逸,它是數(shù)據(jù)的物理存儲(chǔ)方式牢屋。事實(shí)上,關(guān)系模型與內(nèi)模式無關(guān)牺陶。

重點(diǎn):
① 一個(gè)數(shù)據(jù)庫只有一個(gè)內(nèi)模式伟阔;
② 一個(gè)表可能由多個(gè)文件組成,如:數(shù)據(jù)文件掰伸、索引文件皱炉。
它是數(shù)據(jù)庫管理系統(tǒng)(DBMS)對(duì)數(shù)據(jù)庫中數(shù)據(jù)進(jìn)行有效組織和管理的方法
其目的有:
② 為了減少數(shù)據(jù)冗余,實(shí)現(xiàn)數(shù)據(jù)共享狮鸭;
② 為了提高存取效率合搅,改善性能。

通過以上三種模式的定義歧蕉,討論一下模式映像以及物理和邏輯獨(dú)立性的特點(diǎn):

為了能夠在系統(tǒng)內(nèi)部實(shí)現(xiàn)這三個(gè)抽象層次的聯(lián)系和轉(zhuǎn)換灾部,數(shù)據(jù)庫管理系統(tǒng)在這三級(jí)模式之間提供了兩層映像:外模式/模式映像和模式/內(nèi)模式映像。它們保證了數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能夠具有較高的邏輯獨(dú)立性和物理獨(dú)立性惯退。


image.png

1)赌髓、外模式/模式映像

模式描述的是數(shù)據(jù)的全局邏輯結(jié)構(gòu),外模式描述的是數(shù)據(jù)的局部邏輯結(jié)構(gòu)催跪。對(duì)應(yīng)于同一個(gè)模式可以有任意多個(gè)外模式锁蠕。對(duì)于每一個(gè)外模式,數(shù)據(jù)庫系統(tǒng)都有一個(gè)外模式/模式映像懊蒸,它定義了該外模式與模式之間的對(duì)應(yīng)關(guān)系荣倾,這些映像定義通常包含在各自外模式的描述中。
數(shù)據(jù)的邏輯獨(dú)立性:當(dāng)模式改變時(shí)骑丸,由數(shù)據(jù)庫管理員對(duì)各個(gè)外模式/模式的映像作相應(yīng)改變舌仍,可以使外模式保持不變妒貌,應(yīng)用程序是依據(jù)數(shù)據(jù)的外模式編寫的,從而應(yīng)用程序不必修改铸豁,保證了數(shù)據(jù)與程序的邏輯獨(dú)立性灌曙。

2)、模式/內(nèi)模式映像

模式/內(nèi)模式映像是唯一的推姻,它定義了數(shù)據(jù)全局邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)之間的對(duì)應(yīng)關(guān)系平匈。該映像定義通常包含在模式描述中框沟。
數(shù)據(jù)的物理獨(dú)立性:當(dāng)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)改變時(shí)藏古,由數(shù)據(jù)庫管理員對(duì)模式/內(nèi)模式作相應(yīng)改變,可以使模式保持不變忍燥,從而應(yīng)用程序也不必改變拧晕,保證了數(shù)據(jù)與程序的物理獨(dú)立性。

綜述
數(shù)據(jù)庫模式即全局邏輯結(jié)構(gòu)是數(shù)據(jù)據(jù)庫的中心與關(guān)鍵梅垄,它獨(dú)立于數(shù)據(jù)庫的其他層次厂捞;數(shù)據(jù)庫的內(nèi)模式依賴于它的全局邏輯結(jié)構(gòu),但獨(dú)立于數(shù)據(jù)庫的用戶視圖队丝,即外模式靡馁,也獨(dú)立于具體的存儲(chǔ)設(shè)備;數(shù)據(jù)庫的外模式面向具體的應(yīng)用程序机久,定義在邏輯模式之上臭墨,但獨(dú)立于存儲(chǔ)模式和存儲(chǔ)設(shè)備。膘盖、
數(shù)據(jù)庫的二級(jí)映像保證了數(shù)據(jù)庫外模式的穩(wěn)定性胧弛,從而從底層保證了應(yīng)用程序的穩(wěn)定性。
數(shù)據(jù)與程序之間的獨(dú)立性使得數(shù)據(jù)的定義和描述可以從應(yīng)用程序中分離出去侠畔,由于數(shù)據(jù)的存取由數(shù)據(jù)庫管理系統(tǒng)管理结缚,從而簡(jiǎn)化了應(yīng)用程序的編制,大大減少了應(yīng)用程序的維護(hù)和修改软棺。

image.png
數(shù)據(jù)模型(data model)

為了能夠描述物理層红竭、邏輯層以及視圖層數(shù)據(jù)庫設(shè)計(jì)的方式,我們提出了數(shù)據(jù)模型的概念喘落。數(shù)據(jù)庫結(jié)構(gòu)的基礎(chǔ)是就是數(shù)據(jù)模型茵宪。

數(shù)據(jù)模型的內(nèi)容包括三個(gè)方面:數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作揖盘、完整性約束眉厨。

  1. 數(shù)據(jù)結(jié)構(gòu)
    數(shù)據(jù)結(jié)構(gòu)是描述數(shù)據(jù)庫組成對(duì)象以及對(duì)象之間的聯(lián)系,它是所描述的對(duì)象類型的集合兽狭,是對(duì)系統(tǒng)靜態(tài)特性的描述憾股。
    數(shù)據(jù)結(jié)構(gòu)描述的內(nèi)容:一是與對(duì)象的類型鹿蜀、內(nèi)容、性質(zhì)有關(guān)服球;二是與數(shù)據(jù)之間聯(lián)系有關(guān)的對(duì)象茴恰。

  2. 數(shù)據(jù)操作
    數(shù)據(jù)操作是指對(duì)數(shù)據(jù)庫中各種對(duì)象(型)的實(shí)例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)規(guī)則斩熊。它是對(duì)系統(tǒng)動(dòng)態(tài)特性的描述往枣。

  3. 數(shù)據(jù)的完整性約束條件
    數(shù)據(jù)的完整性約束條件是一組完整性規(guī)則。數(shù)據(jù)模型應(yīng)該反映和規(guī)定其必須遵守的基本的和通用的完整性約束條件粉渠。
    完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則分冈,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)以及狀態(tài)的變化,以保證數(shù)據(jù)的正確霸株、有效和相容雕沉。

數(shù)據(jù)模型是對(duì)現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象,是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ)去件。在數(shù)據(jù)庫領(lǐng)域中坡椒,數(shù)據(jù)模型用于表達(dá)現(xiàn)實(shí)世界中的對(duì)象,即將現(xiàn)實(shí)世界中雜亂的信息用一種規(guī)范的尤溜、形象化的方式表達(dá)出來倔叼。數(shù)據(jù)模型不僅要面向現(xiàn)實(shí)世界,還要面向機(jī)器世界宫莱,因此丈攒,需滿足三個(gè)要求:能夠真實(shí)地模擬現(xiàn)實(shí)世界、容易被人們理解梢睛、能夠方便的在計(jì)算機(jī)上實(shí)現(xiàn)肥印。數(shù)據(jù)模型是使數(shù)據(jù)和信息模型化的工具,根據(jù)模型應(yīng)用的不同目的绝葡,將模型分為三大類:概念模型深碱、邏輯模型,物理模型藏畅。

1.概念數(shù)據(jù)模型(CDM)

概念數(shù)據(jù)模型是現(xiàn)實(shí)世界到信息世界的第一層抽象敷硅,主要是在高水平和面向業(yè)務(wù)的角度對(duì)信息的一種描述,通常作為業(yè)務(wù)人員和技術(shù)人員之間溝通的橋梁愉阎。作為現(xiàn)實(shí)世界的概念化結(jié)構(gòu)绞蹦,這種數(shù)據(jù)模型使得數(shù)據(jù)庫的設(shè)計(jì)人員在最初的數(shù)據(jù)庫設(shè)計(jì)階段將精力集中在數(shù)據(jù)之間的聯(lián)系上,而不用同時(shí)關(guān)注數(shù)據(jù)的底層細(xì)節(jié)(如所用的計(jì)算機(jī)系統(tǒng)的特性以及數(shù)據(jù)庫管理系統(tǒng)---DBMS的特性)榜旦。

概念數(shù)據(jù)模型主要的貢獻(xiàn)在于分析數(shù)據(jù)之間的聯(lián)系幽七,它是用戶對(duì)數(shù)據(jù)存儲(chǔ)的一種高度抽象,反應(yīng)的是用戶的一種業(yè)務(wù)層面的綜合信息需求溅呢。

在這個(gè)階段一般會(huì)形成整個(gè)數(shù)據(jù)模型或者是軟件系統(tǒng)中的實(shí)體的概念以及實(shí)體之間的聯(lián)系澡屡,為構(gòu)建邏輯數(shù)據(jù)模型奠定基礎(chǔ)猿挚。下圖中描述了現(xiàn)實(shí)世界和信息世界以及最終轉(zhuǎn)換成計(jì)算機(jī)世界信息的轉(zhuǎn)換流程。


image.png

設(shè)計(jì)概念數(shù)據(jù)模型的主要工具是E-R圖驶鹉,擴(kuò)展的E-R圖绩蜻。

總結(jié):\color{red} {概念數(shù)據(jù)模型的重點(diǎn)是建立實(shí)體及實(shí)體之間的關(guān)系 。}在概念數(shù)據(jù)模型中室埋,\color{red}{不包括實(shí)體的屬性 办绝,也不用定義實(shí)體的主鍵} 。這是概念數(shù)據(jù)模型和邏輯數(shù)據(jù)模型的主要區(qū)別姚淆。

2.邏輯數(shù)據(jù)模型(LDM)

邏輯數(shù)據(jù)模型是對(duì)概念數(shù)據(jù)模型進(jìn)一步具體化孕蝉,在概念數(shù)據(jù)模型定義實(shí)體的基礎(chǔ)上定義了各個(gè)實(shí)體的屬性,是用戶從數(shù)據(jù)庫的角度能夠看到的數(shù)據(jù)的模型肉盹,是所使用的數(shù)據(jù)庫管理系統(tǒng)(Database Management System昔驱,DBMS)所支持的數(shù)據(jù)類型(網(wǎng)狀數(shù)據(jù)模型、層次數(shù)據(jù)模型上忍、關(guān)系數(shù)據(jù)模型)。這種數(shù)據(jù)模型架起了用戶和系統(tǒng)之間的橋梁纳本,\color{red}{既要面向用戶窍蓝,同時(shí)也考慮到了所用的DBMS所支持的特性。}

邏輯數(shù)據(jù)模型反映了系統(tǒng)分析設(shè)計(jì)人員針對(duì)數(shù)據(jù)在特定的存儲(chǔ)系統(tǒng)(如MySQL)的觀點(diǎn)繁成,是對(duì)概念數(shù)據(jù)模型的進(jìn)一步細(xì)化和劃分吓笙。邏輯數(shù)據(jù)模型是根據(jù)業(yè)務(wù)之間的規(guī)則產(chǎn)生的,是關(guān)于業(yè)務(wù)對(duì)象巾腕、業(yè)務(wù)對(duì)象數(shù)據(jù)以及業(yè)務(wù)對(duì)象彼此之間關(guān)系的藍(lán)圖面睛。

邏輯數(shù)據(jù)模型的內(nèi)容包括所有的實(shí)體、實(shí)體的屬性尊搬、實(shí)體之間的關(guān)系以及每個(gè)實(shí)體的主鍵叁鉴、實(shí)體的外鍵(用于維護(hù)數(shù)據(jù)完整性)。其主要目標(biāo)是盡可能詳細(xì)的描述數(shù)據(jù)佛寿,但是并不涉及這些數(shù)據(jù)的具體物理實(shí)現(xiàn)幌墓。邏輯數(shù)據(jù)模型不僅會(huì)最終影響數(shù)據(jù)庫的設(shè)計(jì)方向,并最終會(huì)影響到數(shù)據(jù)庫的性能(如主鍵設(shè)計(jì)冀泻、外鍵等都會(huì)最終影響數(shù)據(jù)庫的查詢性能)常侣。

邏輯數(shù)據(jù)模型是開發(fā)物理數(shù)據(jù)庫的完整文檔,邏輯數(shù)據(jù)模型主要采用的是層次模型弹渔、網(wǎng)狀模型胳施、關(guān)系模型,其中最常用的是關(guān)系模型肢专,對(duì)應(yīng)的數(shù)據(jù)庫稱之為關(guān)系型數(shù)據(jù)庫舞肆,如MySQL您没。

總結(jié):邏輯數(shù)據(jù)模型 反映的是系統(tǒng)分析設(shè)計(jì)人員對(duì)數(shù)據(jù)存儲(chǔ)的觀點(diǎn),是對(duì)概念數(shù)據(jù)模型進(jìn)一步的分解和細(xì)化胆绊。 邏輯數(shù)據(jù)模型是根據(jù)業(yè)務(wù)規(guī)則確定的氨鹏,關(guān)于業(yè)務(wù)對(duì)象、業(yè)務(wù)對(duì)象的數(shù)據(jù)項(xiàng)及業(yè)務(wù)對(duì)象之間關(guān)系的基本藍(lán)圖压状。其內(nèi)容包括:
\color{red}{所有的實(shí)體和關(guān)系仆抵,確定每個(gè)實(shí)體的屬性,定義每個(gè)實(shí)體的主鍵种冬,指定實(shí)體的外鍵}镣丑,需要進(jìn)行范式化處理。

3.物理數(shù)據(jù)模型(PDM)

物理數(shù)據(jù)模型娱两,又稱為物理模型莺匠,是概念數(shù)據(jù)模型和邏輯數(shù)據(jù)模型在計(jì)算機(jī)中的具體表示。該模型描述了數(shù)據(jù)在物理存儲(chǔ)介質(zhì)上的具體組織結(jié)構(gòu)十兢,不但與具體的數(shù)據(jù)庫管理系統(tǒng)相關(guān)趣竣,同時(shí)還與具體的操作系統(tǒng)以及硬件有關(guān),但是很多工作都是由DBMS自動(dòng)完成的旱物,設(shè)計(jì)者只需要設(shè)計(jì)索引遥缕、聚集等特殊結(jié)構(gòu)。

總結(jié):物理數(shù)據(jù)模型是在邏輯數(shù)據(jù)模型的基礎(chǔ)上宵呛,綜合考慮各種存儲(chǔ)條件的限制单匣,進(jìn)行數(shù)據(jù)庫的設(shè)計(jì),\color{red}{從而真正實(shí)現(xiàn)數(shù)據(jù)在數(shù)據(jù)庫中的存放}宝穗。其主要的工作是根據(jù)邏輯數(shù)據(jù)模型中的實(shí)體户秤、屬性、聯(lián)系轉(zhuǎn)換成對(duì)應(yīng)的物理模型中的元素逮矛,包括定義所有的表和列鸡号,定義外鍵以維持表之間的聯(lián)系等,具體例子如下:

image.png
常見的數(shù)據(jù)模型

了解以上知識(shí)后橱鹏,看一下常見的數(shù)據(jù)模型有哪些:


image.png

這些模式應(yīng)用在數(shù)據(jù)庫設(shè)計(jì)中:

image.png

層次模型和網(wǎng)狀模型已經(jīng)不再是主流膜蠢,這里就不做介紹了,詳細(xì)見層次莉兰、網(wǎng)狀挑围、關(guān)系模型

image.png
image.png

image.png

在ER模型基礎(chǔ)上,就可以構(gòu)建出關(guān)系模式來


image.png

image.png

image.png

在邏輯層基礎(chǔ)上糖荒,視圖層上可以組合出一張新表:


image.png
  • 基于對(duì)象的數(shù)據(jù)模型:可以看成是E-R模型增加了封裝杉辙、方法(函數(shù))和對(duì)象標(biāo)識(shí)等概念后的擴(kuò)展。
  • 半結(jié)構(gòu)化數(shù)據(jù)模型:允許那些相同類型的數(shù)據(jù)項(xiàng)含有不同的屬性集的數(shù)據(jù)定義捶朵≈┦福可擴(kuò)展標(biāo)記語言(XML)被廣泛的用來表示半結(jié)構(gòu)化數(shù)據(jù)狂男。
    這些以后會(huì)詳細(xì)講解。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末品腹,一起剝皮案震驚了整個(gè)濱河市岖食,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舞吭,老刑警劉巖泡垃,帶你破解...
    沈念sama閱讀 221,820評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異羡鸥,居然都是意外死亡蔑穴,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門惧浴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來存和,“玉大人,你說我怎么就攤上這事衷旅【柰龋” “怎么了?”我有些...
    開封第一講書人閱讀 168,324評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵芜茵,是天一觀的道長(zhǎng)叙量。 經(jīng)常有香客問我,道長(zhǎng)九串,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評(píng)論 1 297
  • 正文 為了忘掉前任寺鸥,我火速辦了婚禮猪钮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘胆建。我一直安慰自己烤低,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評(píng)論 6 397
  • 文/花漫 我一把揭開白布笆载。 她就那樣靜靜地躺著扑馁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪凉驻。 梳的紋絲不亂的頭發(fā)上腻要,一...
    開封第一講書人閱讀 52,328評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音涝登,去河邊找鬼雄家。 笑死,一個(gè)胖子當(dāng)著我的面吹牛胀滚,可吹牛的內(nèi)容都是我干的趟济。 我是一名探鬼主播乱投,決...
    沈念sama閱讀 40,897評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼顷编!你這毒婦竟也來了戚炫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤媳纬,失蹤者是張志新(化名)和其女友劉穎双肤,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體层宫,經(jīng)...
    沈念sama閱讀 46,345評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杨伙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了萌腿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片限匣。...
    茶點(diǎn)故事閱讀 40,561評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖毁菱,靈堂內(nèi)的尸體忽然破棺而出米死,到底是詐尸還是另有隱情,我是刑警寧澤贮庞,帶...
    沈念sama閱讀 36,238評(píng)論 5 350
  • 正文 年R本政府宣布峦筒,位于F島的核電站,受9級(jí)特大地震影響窗慎,放射性物質(zhì)發(fā)生泄漏物喷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評(píng)論 3 334
  • 文/蒙蒙 一遮斥、第九天 我趴在偏房一處隱蔽的房頂上張望峦失。 院中可真熱鬧,春花似錦术吗、人聲如沸尉辑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽隧魄。三九已至,卻和暖如春隘蝎,著一層夾襖步出監(jiān)牢的瞬間购啄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評(píng)論 1 272
  • 我被黑心中介騙來泰國打工末贾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留闸溃,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,983評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像辉川,于是被迫代替她去往敵國和親洽糟。 傳聞我的和親對(duì)象是個(gè)殘疾皇子硫眯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容