日常生活中,概念模型,、邏輯模型是一個(gè)從抽象到具體的過程,。概念模型還只是大腦中對一個(gè)事物的理解,邏輯模型已經(jīng)是詳細(xì)到具體規(guī)格的圖紙,。數(shù)據(jù)系統(tǒng)中的概念模型和邏輯模型也是如此,。 概念模型與現(xiàn)實(shí)世界更為接近,描述的是一個(gè)個(gè)實(shí)體(Entity)的信息和實(shí)體與實(shí)體之間關(guān)系(Relation)的信息,。概念模型經(jīng)常用E-R圖進(jìn)行表示,。由于E-R圖描述的模型與關(guān)系數(shù)據(jù)的邏輯模型非常相似,也經(jīng)常被誤認(rèn)為是同一個(gè)概念,。 E-R圖示意圖 實(shí)體:現(xiàn)實(shí)世界中獨(dú)立存在的對象,、事物或概念,實(shí)體常用名詞表示,。每個(gè)實(shí)體都有各自不同的屬性,,人們根據(jù)這些屬性描述和區(qū)分實(shí)體,。 屬性:描述實(shí)體的特征或特性。特征是組成實(shí)體的一部分常用名詞表示,,特性是實(shí)體表現(xiàn)出來的樣子常用形容詞表示,。例如:手機(jī)安裝了2個(gè)CPU,是一個(gè)特征,;手機(jī)運(yùn)行速度快,,是一個(gè)特性。 關(guān)系:表示實(shí)體之間的連接(組成)或關(guān)聯(lián),,用于描述實(shí)體之前的依賴(組成)或互動關(guān)系,。關(guān)系分為:一對一、一對多或多對多,。 主鍵(Primary Key,,PK):標(biāo)識實(shí)體唯一性的屬性或?qū)傩约稀?/span> 外鍵(Foreign Key,F(xiàn)K):引用其它實(shí)體的主鍵作為屬性,,既為外鍵,。外鍵用于建立實(shí)體之間關(guān)聯(lián)關(guān)系。 數(shù)據(jù)庫管理系統(tǒng)(以下簡稱:數(shù)據(jù)庫)是一種快捷訪問數(shù)據(jù)的存儲系統(tǒng),。數(shù)據(jù)庫為了滿足不同的存儲需求,,設(shè)計(jì)出各種的數(shù)據(jù)模型。從最常見的關(guān)系模型,、鍵值(KV)模型和文檔模型到列模型,、雪花模型和圖模型等,。下面介紹兩種最常用的關(guān)系模型和鍵值模型,。 關(guān)系模型 邏輯模型中的關(guān)系模型和概念模型中的E-R圖,從主體上可以一一對應(yīng),。概念模型中的實(shí)體對應(yīng)關(guān)系模型中的表,;屬性對應(yīng)表中的字段(列);關(guān)系根據(jù)實(shí)體間數(shù)量關(guān)系,,分別存儲在不同的表中(同E-R示意圖),。邏輯模型為了數(shù)據(jù)庫的執(zhí)行性能和使用者的便利增加了一些約束和特性。 邏輯模型約束包括:字段存儲屬性內(nèi)容的數(shù)據(jù)類型,;字段中是否可以不保存數(shù)據(jù),;字段中是否只能存儲唯一值。 邏輯模型特性包括:字段增加索引,,提升數(shù)據(jù)檢索的性能(數(shù)據(jù)插入和更改時(shí),,性能有下降)??梢栽O(shè)置多個(gè)字段為一個(gè)組合的索引,,并且主鍵默認(rèn)為一個(gè)獨(dú)立的索引字段,。 約束和特性示意圖 鍵值模型 鍵值模型適用于查找單個(gè)獨(dú)立的實(shí)體,獲取實(shí)體自身的屬性數(shù)據(jù),。鍵值模型不包含實(shí)體之間的關(guān)系,,數(shù)據(jù)庫也不提供相關(guān)的數(shù)據(jù)處理方法。需要開發(fā)者在數(shù)據(jù)中增加關(guān)系數(shù)據(jù)并自行編寫程序處理,。 鍵值示意圖 邏輯模型還不是最終的系統(tǒng)實(shí)現(xiàn)方案,,只是約定了一個(gè)大家公認(rèn)的標(biāo)準(zhǔn)。MySQL和Postgresql作為兩大開源數(shù)據(jù)庫,,雖然都是關(guān)系型數(shù)據(jù)庫,,在產(chǎn)品特性上還是略有不同。在相同模型下的,,技術(shù)方案具有一定的兼容性也更易于遷移,。 點(diǎn)擊“在看”和“贊”,, 讓更多人了解數(shù)字化技術(shù)。 |
|