網(wǎng)狀數(shù)據(jù)庫(kù)
網(wǎng)絡(luò)數(shù)據(jù)庫(kù)是指采用網(wǎng)絡(luò)原理和方法建立在網(wǎng)絡(luò)數(shù)據(jù)模型基礎(chǔ)上的數(shù)據(jù)庫(kù),描述多對(duì)多關(guān)系。mesh數(shù)據(jù)模型以記錄作為數(shù)據(jù)的存儲(chǔ)單位,一條記錄包含多個(gè)數(shù)據(jù)項(xiàng)。Mesh數(shù)據(jù)庫(kù)是一個(gè)導(dǎo)航數(shù)據(jù)庫(kù),用戶在操作數(shù)據(jù)庫(kù)時(shí)不僅要說(shuō)明要做什么,還要說(shuō)明如何做。例如,在搜索語(yǔ)句中,不僅要解釋要搜索的對(duì)象,還應(yīng)指定訪問(wèn)路徑。世界上第一個(gè)網(wǎng)絡(luò)數(shù)據(jù)庫(kù)管理系統(tǒng)是1964年由美國(guó)通用電氣公司Bachman等人開(kāi)發(fā)成功的IDS(Integrated Data Store)。IDS奠定了mesh數(shù)據(jù)庫(kù)的基礎(chǔ),在當(dāng)時(shí)得到了廣泛的分布和應(yīng)用。1971年,美國(guó)Coda Syl(數(shù)據(jù)系統(tǒng)語(yǔ)言會(huì)議)的DBTG(數(shù)據(jù)庫(kù)任務(wù)組)提出了著名的DBTG報(bào)告,定義了網(wǎng)格數(shù)據(jù)模型和語(yǔ)言,并在1978年和1981年進(jìn)行了修改和補(bǔ)充。因此,網(wǎng)格數(shù)據(jù)模型也稱(chēng)為CODASYL模型或DBTG模型。
Mesh數(shù)據(jù)庫(kù)系統(tǒng)響應(yīng)速度快,訪問(wèn)效率高,可以輕松實(shí)現(xiàn)多對(duì)多訪問(wèn),因此在通用小型計(jì)算機(jī)中應(yīng)用廣泛。然而,它的缺點(diǎn)是過(guò)于復(fù)雜和數(shù)據(jù)獨(dú)立性差,并且難以重組數(shù)據(jù)庫(kù)。
發(fā)展歷史 編輯本段
自20世紀(jì)60年代以來(lái),數(shù)據(jù)庫(kù)和信息技術(shù)已經(jīng)從最初的文件處理系統(tǒng)發(fā)展到復(fù)雜而強(qiáng)大的數(shù)據(jù)庫(kù)系統(tǒng)。最早的網(wǎng)格數(shù)據(jù)庫(kù)管理系統(tǒng)是1961年由美國(guó)通用電氣公司的Bachman等人開(kāi)發(fā)的Intcgratcd Data Storc(IDS)。1964年,美國(guó)通用電氣公司的查爾斯·巴克曼成功開(kāi)發(fā)了世界上第一個(gè)mesh數(shù)據(jù)庫(kù)管理系統(tǒng),即第一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng)——Intcgratcd Data Storc(IDS),奠定了mesh數(shù)據(jù)庫(kù)的基礎(chǔ),并在當(dāng)時(shí)得到了廣泛的分發(fā)和應(yīng)用。網(wǎng)狀數(shù)據(jù)庫(kù)模型可以自然地模擬層次數(shù)據(jù)庫(kù)和非層次數(shù)據(jù)庫(kù),在關(guān)系數(shù)據(jù)庫(kù)出現(xiàn)之前,網(wǎng)狀數(shù)據(jù)庫(kù)管理系統(tǒng)比層次數(shù)據(jù)庫(kù)管理系統(tǒng)應(yīng)用更廣泛。
1969年,美國(guó)數(shù)據(jù)系統(tǒng)語(yǔ)言委員會(huì)下屬的數(shù)據(jù)庫(kù)任務(wù)組(DBTG)提出了網(wǎng)格模型、數(shù)據(jù)定義語(yǔ)言DDL和操作語(yǔ)言DML的規(guī)范。
1971年,美國(guó)數(shù)據(jù)系統(tǒng)語(yǔ)言委員會(huì)發(fā)布了第一份官方報(bào)告,即《DBTG報(bào)告》。本報(bào)告中描述的網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng)稱(chēng)為CODASYL或DBTG系統(tǒng)。在1971年的報(bào)告之后,出現(xiàn)了一些新的版本,包括1973年、1978年、1981年和1984年的修訂版本,這些版本后來(lái)被重新命名為DBL數(shù)據(jù)庫(kù)語(yǔ)言任務(wù)組系統(tǒng)。DBTG首次確定了數(shù)據(jù)庫(kù)的三層架構(gòu),包括子模式、模式和存儲(chǔ)模式。相應(yīng)的數(shù)據(jù)定義語(yǔ)言稱(chēng)為子模式定義語(yǔ)言SSDDL、模式定義語(yǔ)言SDDL、設(shè)備媒體控制語(yǔ)言DMCL和數(shù)據(jù)操作語(yǔ)言DML。定義了數(shù)據(jù)庫(kù)管理員的概念,明確了數(shù)據(jù)庫(kù)管理員的角色和地位。此外,由于巴赫曼主持了IDS系統(tǒng)的設(shè)計(jì)和開(kāi)發(fā),并積極推動(dòng)和促進(jìn)了mesh數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)的制定,他被公認(rèn)為“mesh數(shù)據(jù)庫(kù)之父”。
20世紀(jì)70年代,出現(xiàn)了大量采用mesh數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)管理系統(tǒng)產(chǎn)品,包括Cullinet軟件公司的IDMS、Honeywell公司的IDSII、Univac公司的DMS1100(后并入U(xiǎn)nisys公司)、HP公司的IMAGE等。網(wǎng)狀數(shù)據(jù)庫(kù)模型可以自然地模擬分層和非分層事物。在數(shù)據(jù)庫(kù)發(fā)展史上,mesh數(shù)據(jù)庫(kù)曾經(jīng)占據(jù)重要地位。然而,盡管網(wǎng)狀數(shù)據(jù)庫(kù)可以很好地解決數(shù)據(jù)集中和共享的問(wèn)題,但仍然非常缺乏數(shù)據(jù)獨(dú)立性和抽象性。當(dāng)用戶訪問(wèn)數(shù)據(jù)庫(kù)時(shí),他們?nèi)匀恍枰鞔_數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)并指出訪問(wèn)路徑。后來(lái)出現(xiàn)的關(guān)系數(shù)據(jù)庫(kù)很好地解決了這些問(wèn)題。
1977年,CODASYL的DBTG報(bào)告制定了網(wǎng)絡(luò)數(shù)據(jù)庫(kù)系統(tǒng)的術(shù)語(yǔ)、概念和接口標(biāo)準(zhǔn)。根據(jù)CODASYL標(biāo)準(zhǔn),網(wǎng)絡(luò)數(shù)據(jù)模型的最基本組件是數(shù)據(jù)項(xiàng)、記錄和系統(tǒng)。
數(shù)據(jù)項(xiàng)目 編輯本段
數(shù)據(jù)項(xiàng)是計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)中最小的命名單元,它對(duì)應(yīng)于一個(gè)實(shí)體的屬性。數(shù)據(jù)項(xiàng)值對(duì)應(yīng)于屬性值,它可以與變量(實(shí)數(shù)類(lèi)型、整數(shù)類(lèi)型或字符類(lèi)型等)一起存儲(chǔ)。).網(wǎng)格數(shù)據(jù)庫(kù)的數(shù)據(jù)項(xiàng)可以是多值數(shù)據(jù)和復(fù)合數(shù)據(jù)。每條記錄都有一個(gè)唯一的內(nèi)部標(biāo)識(shí)符,稱(chēng)為數(shù)據(jù)庫(kù)鍵(DBK),當(dāng)記錄存儲(chǔ)在數(shù)據(jù)庫(kù)中時(shí),DBMS會(huì)自動(dòng)給出該標(biāo)識(shí)符。DBK可以被看作是記錄的邏輯地址、記錄的體替身或用于查找記錄。
記錄:記錄對(duì)應(yīng)于一個(gè)實(shí)體,是對(duì)應(yīng)于實(shí)體所有屬性的數(shù)據(jù)項(xiàng)的集合。記錄中所有數(shù)據(jù)項(xiàng)的名稱(chēng)和類(lèi)型的集合稱(chēng)為記錄類(lèi)型。對(duì)于某個(gè)記錄,只有一種記錄類(lèi)型,并且可以有任意數(shù)量的記錄值。此外,實(shí)體之間存在各種關(guān)系,也就是說(shuō)不同記錄的記錄值之間存在各種關(guān)系,屬于不同記錄類(lèi)型的這些記錄值之間存在以下三種關(guān)系:一對(duì)一關(guān)系(1: 1):一個(gè)記錄(或?qū)嶓w)中的一個(gè)記錄值只能與另一個(gè)記錄(或?qū)嶓w)中的一個(gè)記錄值相關(guān);一對(duì)多關(guān)系(1: m):一個(gè)記錄(或?qū)嶓w)中的一個(gè)記錄值與另一個(gè)記錄(或?qū)嶓w)中的多個(gè)記錄值相關(guān);多對(duì)多關(guān)系(m: n)一個(gè)記錄(或?qū)嶓w)中的一個(gè)記錄值與另一個(gè)記錄(或?qū)嶓w)中的多個(gè)記錄值相關(guān),另一個(gè)記錄(或?qū)嶓w)中的一個(gè)記錄值與該記錄(或?qū)嶓w)中的多個(gè)記錄值相關(guān)。一個(gè)實(shí)體不僅可以與另一個(gè)實(shí)體建立關(guān)系,還可以與多個(gè)實(shí)體建立關(guān)系;兩個(gè)實(shí)體之間不僅可以建立一種關(guān)系,還可以建立多種關(guān)系,從而在多個(gè)實(shí)體之間形成復(fù)雜的網(wǎng)絡(luò)關(guān)系。
系:系統(tǒng)是網(wǎng)狀數(shù)據(jù)庫(kù)中最重要的概念。兩種記錄類(lèi)型之間的相關(guān)記錄值通過(guò)指針連接在一起形成SETOCCURRENCE,兩種記錄類(lèi)型之間的關(guān)系、其名稱(chēng)和相關(guān)特征構(gòu)成SETTYPE,統(tǒng)稱(chēng)為集合。與記錄類(lèi)型和記錄值一樣,兩個(gè)記錄之間的某種關(guān)系只有一種系數(shù)類(lèi)型和任意數(shù)量的系數(shù)值。一個(gè)部門(mén)必須遵循以下規(guī)則:無(wú)論是主記錄還是成員記錄,一個(gè)部門(mén)類(lèi)型中只能有一個(gè)部門(mén)值;每個(gè)系數(shù)值必須有一個(gè)系統(tǒng)所有者,成員記錄的數(shù)量可以是任意的或空的;一個(gè)記錄類(lèi)型可以參與多個(gè)部門(mén),可以是多個(gè)部門(mén)的所有者,也可以是多個(gè)部門(mén)的成員,可以同時(shí)是某些部門(mén)的所有者和某些部門(mén)的成員,但不能同時(shí)是某個(gè)部門(mén)的所有者和該部門(mén)的成員記錄;一個(gè)系統(tǒng)類(lèi)型必須有且只有一個(gè)系統(tǒng)所有者,至少有一個(gè)成員或多個(gè)成員。
附件列表
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。
如果您認(rèn)為本詞條還有待完善,請(qǐng) 編輯
上一篇 蠕蟲(chóng)病毒 下一篇 TapTap手游玩家社區(qū)