柚子快報(bào)激活碼778899分享:數(shù)據(jù)庫(kù)管理系統(tǒng)——數(shù)據(jù)模型
柚子快報(bào)激活碼778899分享:數(shù)據(jù)庫(kù)管理系統(tǒng)——數(shù)據(jù)模型
摘要:本篇博客簡(jiǎn)述了學(xué)習(xí)數(shù)據(jù)庫(kù)中有關(guān)數(shù)據(jù)模型的基本知識(shí)。
目錄
一、數(shù)據(jù)模型
二、數(shù)據(jù)模型的三要素
三、概念模型
四、常見(jiàn)的數(shù)據(jù)模型
1.層次模型和層次數(shù)據(jù)庫(kù)
2.網(wǎng)狀模型和網(wǎng)狀數(shù)據(jù)庫(kù)
3.關(guān)系模型和關(guān)系數(shù)據(jù)庫(kù)
?4.NoSQL
一、數(shù)據(jù)模型
什么是數(shù)據(jù)模型?
數(shù)據(jù)模型是現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。數(shù)據(jù)模型是用來(lái)描述數(shù)據(jù)、組織數(shù)據(jù)的。數(shù)據(jù)模型是數(shù)據(jù)庫(kù)系統(tǒng)的核心和基礎(chǔ)。
?什么是數(shù)據(jù)建模?
數(shù)據(jù)建模是將現(xiàn)實(shí)世界的數(shù)據(jù)抽象到機(jī)器世界的技術(shù),數(shù)據(jù)建模過(guò)程的兩步抽象:
????????將現(xiàn)實(shí)世界抽象為信息世界:現(xiàn)實(shí)世界的客觀對(duì)象抽象為概念模型。????????將信息世界轉(zhuǎn)換為機(jī)器世界:概念模型轉(zhuǎn)換為某一數(shù)據(jù)管理系統(tǒng)支持的數(shù)據(jù)模型。
二、數(shù)據(jù)模型的三要素
數(shù)據(jù)模型的三要素是指數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操縱和完整性約束。
?1.數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)結(jié)構(gòu)是用來(lái)描述數(shù)據(jù)庫(kù)組成對(duì)象以及對(duì)象之間的聯(lián)系
數(shù)據(jù)結(jié)構(gòu)是對(duì)系統(tǒng)靜態(tài)特性的描述
?2.數(shù)據(jù)操縱
數(shù)據(jù)操作是對(duì)數(shù)據(jù)庫(kù)中各種對(duì)象的實(shí)例(值)允許執(zhí)行的操作的集合,包括操作及有關(guān)的操作規(guī)則。如查詢(xún)、更新(包括插入、刪除、修改)
數(shù)據(jù)操作主要用于描述系統(tǒng)的動(dòng)態(tài)特性
?3.完整性約束
完整性約束的本質(zhì)是一種約束規(guī)則
完整性規(guī)則是對(duì)數(shù)據(jù)模型中數(shù)據(jù)的一種制約規(guī)則,限定符合數(shù)據(jù)模型的數(shù)據(jù)庫(kù)狀態(tài),以保證數(shù)據(jù)的正確、有效和相容
三、概念模型
什么是概念模型?
概念模型是現(xiàn)實(shí)世界到機(jī)器世界的一個(gè)中間層次,用于信息世界的建模。
它是數(shù)據(jù)庫(kù)設(shè)計(jì)的有力工具,也是數(shù)據(jù)庫(kù)設(shè)計(jì)人員和用戶(hù)之間進(jìn)行交流的語(yǔ)言。
對(duì)概念模型的基本要求是:
較強(qiáng)的語(yǔ)義表達(dá)能力簡(jiǎn)單、清晰、易于用戶(hù)理解
?信息世界的基本概念有哪些?
實(shí)體:客觀存在并可相互區(qū)別的事物,如人、事、物和抽象的概念等。
屬性:實(shí)體所擁有的特性。
碼:唯一標(biāo)識(shí)實(shí)體的屬性集合。
實(shí)體型:用實(shí)體名及其屬性名的集合來(lái)抽象和刻畫(huà)同類(lèi)實(shí)體。如在學(xué)校的數(shù)據(jù)庫(kù)管理系統(tǒng)中,“學(xué)生”就是一個(gè)實(shí)體型。它規(guī)定了學(xué)生這個(gè)群體所共有的屬性,如學(xué)號(hào)、姓名、性別、專(zhuān)業(yè)等。
實(shí)體集:同一類(lèi)型實(shí)體的集合。
聯(lián)系:實(shí)體內(nèi)部與外部之間的聯(lián)系。通常有一對(duì)一、一對(duì)多和多對(duì)多等類(lèi)型。
四、常見(jiàn)的數(shù)據(jù)模型
1.層次模型和層次數(shù)據(jù)庫(kù)
層次模型以“樹(shù)結(jié)構(gòu)”來(lái)表示數(shù)據(jù)記錄之間的聯(lián)系,是層次數(shù)據(jù)庫(kù)的基本模型
????????層次模型是數(shù)據(jù)庫(kù)系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型,采用樹(shù)形結(jié)構(gòu)來(lái)表示各類(lèi)實(shí)體以及實(shí)體間的聯(lián)系。
????????除根節(jié)點(diǎn)外,其他結(jié)點(diǎn)有且只有一個(gè)父親結(jié)點(diǎn),層次數(shù)據(jù)庫(kù)的典型代表是IBM公司的IMS數(shù)據(jù)庫(kù)。
?????????結(jié)點(diǎn)之間通常存在一對(duì)一或一對(duì)多的關(guān)系
層次模型的優(yōu)點(diǎn)和缺點(diǎn):
優(yōu)點(diǎn):數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單清晰、查詢(xún)效率高缺點(diǎn):不能表示非層次關(guān)系的數(shù)據(jù)、對(duì)插入和刪除操作的限制多
2.網(wǎng)狀模型和網(wǎng)狀數(shù)據(jù)庫(kù)
網(wǎng)狀模型以“圖結(jié)構(gòu)”來(lái)表示數(shù)據(jù)記錄之間的聯(lián)系,是網(wǎng)狀數(shù)據(jù)庫(kù)的基本模型
? ? ? ? 網(wǎng)狀模型采用圖形結(jié)構(gòu)來(lái)表示各類(lèi)實(shí)體以及實(shí)體間的聯(lián)系。允許一個(gè)以上的節(jié)點(diǎn)無(wú)父親節(jié)點(diǎn)和一個(gè)節(jié)點(diǎn)可以有多個(gè)父親。第一個(gè)網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)是IDS。
網(wǎng)狀模型的優(yōu)點(diǎn)和缺點(diǎn):
優(yōu)點(diǎn):能夠更直接地描述現(xiàn)實(shí)世界、具有良好的性能、存取效率高缺點(diǎn):結(jié)構(gòu)復(fù)雜,尤其是數(shù)據(jù)結(jié)構(gòu)不斷擴(kuò)大以后;DDL、DML語(yǔ)言復(fù)雜;
3.關(guān)系模型和關(guān)系數(shù)據(jù)庫(kù)
1970年,IBM公司的埃德加·科德(Edgar F. Codd)首次提出了關(guān)系模型的概念 。之后又陸續(xù)提出了關(guān)系代數(shù)、關(guān)系演算、關(guān)系的第一第二第三范式等理論。1981年,ACM授予其圖靈獎(jiǎng),以表彰他在關(guān)系數(shù)據(jù)庫(kù)研究方面的杰出貢獻(xiàn)。?
?網(wǎng)狀模型以“表結(jié)構(gòu)”來(lái)表示數(shù)據(jù)記錄之間的聯(lián)系,是關(guān)系數(shù)據(jù)庫(kù)的基本模型
關(guān)系模型和我們常用的表格類(lèi)似,但專(zhuān)業(yè)術(shù)語(yǔ)有所不同:關(guān)系:一個(gè)關(guān)系對(duì)應(yīng)通常說(shuō)的一張表
元組:表中一行即為一個(gè)元組
屬性:表中一列即為一個(gè)屬性
碼:又稱(chēng)鍵。是表中某一列屬性或某一組屬性,可以用來(lái)唯一標(biāo)識(shí)一個(gè)元組
域:屬性值取值的集合稱(chēng)為域
分量:元組中的一個(gè)屬性值
關(guān)系模式:是對(duì)關(guān)系的描述(可以理解為這個(gè)表是由什么組成的),比如:學(xué)生學(xué)號(hào)、姓名、性別、專(zhuān)業(yè))
?關(guān)系模型的數(shù)據(jù)操縱與完整性約束:
關(guān)系的完整性約束條件
實(shí)體完整性參照完整性用戶(hù)定義的完整性?
關(guān)系模型的優(yōu)點(diǎn)和缺點(diǎn):
優(yōu)點(diǎn):
建立在嚴(yán)格的數(shù)學(xué)概念基礎(chǔ)上概念單一(實(shí)體之間的聯(lián)系都用關(guān)系來(lái)表示)關(guān)系模型的存取路徑對(duì)用戶(hù)是隱蔽的(安全保密,簡(jiǎn)化程序員工作)
缺點(diǎn):
存取路徑對(duì)用戶(hù)隱蔽,查詢(xún)效率不如層次模型和網(wǎng)狀模型為提高性能,必須對(duì)用戶(hù)的查詢(xún)請(qǐng)求進(jìn)行優(yōu)化,增加了開(kāi)發(fā)數(shù)據(jù)庫(kù)管理系統(tǒng)的難度
常見(jiàn)的關(guān)系型數(shù)據(jù)庫(kù):
Oracle 、Microsoft SQL Server、IBM DB2、 MySQL、GaussDB、SQLite
?4.NoSQL
NoSQL = Not only SQL,是在關(guān)系型數(shù)據(jù)庫(kù)上的擴(kuò)展形式
在下一章的博客數(shù)據(jù)庫(kù)管理系統(tǒng)——數(shù)據(jù)模型之關(guān)系模型-CSDN博客中, 我們將對(duì)數(shù)據(jù)模型中的關(guān)系模型作進(jìn)一步的講述。
柚子快報(bào)激活碼778899分享:數(shù)據(jù)庫(kù)管理系統(tǒng)——數(shù)據(jù)模型
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。