1964年,Charles W. Bachman等人在美國(guó)通用電氣公司開(kāi)發(fā)了第一個(gè)網(wǎng)狀數(shù)據(jù)庫(kù)管理系統(tǒng)(integrated data store,IDS),IDS奠定" />
時(shí)間:2022-11-29 06:30:01 | 來(lái)源:信息時(shí)代
時(shí)間:2022-11-29 06:30:01 來(lái)源:信息時(shí)代
網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng) : 采用網(wǎng)狀數(shù)據(jù)模型來(lái)描述數(shù)據(jù)庫(kù)的數(shù)據(jù)庫(kù)系統(tǒng)。
1964年,Charles W. Bachman等人在美國(guó)通用電氣公司開(kāi)發(fā)了第一個(gè)網(wǎng)狀數(shù)據(jù)庫(kù)管理系統(tǒng)(integrated data store,IDS),IDS奠定了網(wǎng)狀數(shù)據(jù)庫(kù)的基礎(chǔ),并在當(dāng)時(shí)得到了廣泛的應(yīng)用。美國(guó)數(shù)據(jù)系統(tǒng)語(yǔ)言委員會(huì)(conference on data system language,CODASYL)下屬的數(shù)據(jù)庫(kù)任務(wù)組(data base task group,DBTG)于1969年提出了網(wǎng)狀模型、數(shù)據(jù)定義語(yǔ)言DDL和操縱語(yǔ)言DML的規(guī)范說(shuō)明,并于1971年出版了第一個(gè)正式報(bào)告,這個(gè)里程碑式的文獻(xiàn)被稱作DBTG報(bào)告。該報(bào)告描述的網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)被稱為CODASYL或DBTG系統(tǒng)。1971年報(bào)告之后又出現(xiàn)了一些新的版本,值得一提的有1973年、1978年、1981年和1984年的修改版本,后來(lái)改名為DBLTG(data base language task group)系統(tǒng)。DBTG首次確定了數(shù)據(jù)庫(kù)的三層體系結(jié)構(gòu),明確了數(shù)據(jù)庫(kù)管理員(data base administrator,DBA)的概念,規(guī)定了DBA的作用與地位。由于巴赫曼主持設(shè)計(jì)和開(kāi)發(fā)了IDS系統(tǒng),并且積極推動(dòng)和促成網(wǎng)狀數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)的制定,被公認(rèn)為“網(wǎng)狀數(shù)據(jù)庫(kù)之父”。DBTG系統(tǒng)雖然不是在計(jì)算機(jī)上實(shí)現(xiàn)的實(shí)際的軟件系統(tǒng),但是它所提出的基本概念、方法和技術(shù)具有普遍的意義。在20世紀(jì)70年代和80年代,曾經(jīng)出現(xiàn)過(guò)大量的網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)的產(chǎn)品,比較著名的有Cullinet軟件公司的IDMS系統(tǒng),Honeywell公司的IDSII系統(tǒng),Univac公司的DMS1100系統(tǒng),HP公司的IMAGE系統(tǒng),以及Oracle公司的Oracle CODASYL DBMS系統(tǒng)等。
網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)采用網(wǎng)狀數(shù)據(jù)模型作為數(shù)據(jù)的基本結(jié)構(gòu),網(wǎng)狀模型是一種比層次模型更具有普遍性的結(jié)構(gòu),它去掉了層次模型的限制,允許多個(gè)結(jié)點(diǎn)沒(méi)有雙親結(jié)點(diǎn),允許一個(gè)結(jié)點(diǎn)有多個(gè)雙親結(jié)點(diǎn),此外它還允許兩個(gè)結(jié)點(diǎn)之間有多種聯(lián)系(稱之為復(fù)合聯(lián)系)。網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)用系(set)來(lái)描述網(wǎng)狀模型,系是實(shí)體之間一對(duì)多聯(lián)系的邏輯表示,是在訪問(wèn)數(shù)據(jù)庫(kù)時(shí)應(yīng)該遵循的存取路徑,系值中的諸記錄在存儲(chǔ)器中是用指針連接起來(lái)的。因此,網(wǎng)狀模型可以更直接地去描述現(xiàn)實(shí)世界,能夠很容易地實(shí)現(xiàn)現(xiàn)實(shí)世界中各種各樣的復(fù)雜關(guān)系,受到用戶的歡迎。
在結(jié)構(gòu)上,網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)是典型的三級(jí)模式,由子模式、模式和存儲(chǔ)模式組成。模式是對(duì)整個(gè)數(shù)據(jù)庫(kù)的邏輯視圖的描述,對(duì)應(yīng)于數(shù)據(jù)庫(kù)的概念層;子模式是對(duì)用戶關(guān)心的局部數(shù)據(jù)結(jié)構(gòu)的描述,對(duì)應(yīng)數(shù)據(jù)庫(kù)的外層或用戶視圖;存儲(chǔ)模式(又稱物理模式)是對(duì)數(shù)據(jù)庫(kù)的存儲(chǔ)組織的描述,對(duì)應(yīng)數(shù)據(jù)庫(kù)的物理層。有一些網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)還提供了安全模式,它描述訪問(wèn)數(shù)據(jù)庫(kù)的各種限制,以保證數(shù)據(jù)在數(shù)據(jù)庫(kù)、區(qū)域、系和記錄等層次的安全。
在網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)中,每一級(jí)模式都有對(duì)應(yīng)的數(shù)據(jù)描述語(yǔ)言DDL,另外,網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)還提供了數(shù)據(jù)操縱語(yǔ)言DML。1984年,美國(guó)國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)(ANSI)提出了一個(gè)網(wǎng)狀定義語(yǔ)言(network definition language,NDL)的推薦標(biāo)準(zhǔn)。1987年,ISO 8907定義了NDL國(guó)際標(biāo)準(zhǔn),NDL提供了定義網(wǎng)狀數(shù)據(jù)庫(kù)的邏輯數(shù)據(jù)結(jié)構(gòu)和訪問(wèn)數(shù)據(jù)庫(kù)的基本操作工具,提供了數(shù)據(jù)庫(kù)的設(shè)計(jì)、存取、控制和保護(hù)的功能。NDL包括以下三種數(shù)據(jù)庫(kù)語(yǔ)言的語(yǔ)法和語(yǔ)義:
(1)模式數(shù)據(jù)描述語(yǔ)言:用于說(shuō)明網(wǎng)狀數(shù)據(jù)庫(kù)的結(jié)構(gòu)和完整性約束。
(2)子模式數(shù)據(jù)描述語(yǔ)言:用于說(shuō)明網(wǎng)狀數(shù)據(jù)庫(kù)的用戶視圖。
(3)數(shù)據(jù)操縱語(yǔ)言:用于說(shuō)明施加于特定子模式上的數(shù)據(jù)庫(kù)過(guò)程和執(zhí)行語(yǔ)句。
網(wǎng)狀數(shù)據(jù)庫(kù)是導(dǎo)航式數(shù)據(jù)庫(kù),用戶在操作數(shù)據(jù)庫(kù)時(shí)不但要說(shuō)明做什么,還要說(shuō)明怎么做。例如,在查詢語(yǔ)句中不但要說(shuō)明查找的對(duì)象,而且還要規(guī)定查找時(shí)的存取路徑。一個(gè)實(shí)用的網(wǎng)狀模型經(jīng)過(guò)反復(fù)的評(píng)價(jià)和修改可以分解成系的集合,并用模式數(shù)據(jù)描述語(yǔ)言(DDL)描述成模式。用戶使用相應(yīng)的宿主語(yǔ)言編寫(xiě)應(yīng)用程序,援引子模式,調(diào)用數(shù)據(jù)操縱語(yǔ)言(DML)中的語(yǔ)句,在網(wǎng)狀數(shù)據(jù)庫(kù)管理系統(tǒng)的控制下實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的存放、檢索和修改。系統(tǒng)按照DML語(yǔ)句指定的存取路徑對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn),并利用系統(tǒng)在內(nèi)存中開(kāi)辟的用戶工作區(qū)(user work area,UWA)實(shí)現(xiàn)應(yīng)用程序和系統(tǒng)之間的通信,完成應(yīng)用程序?qū)?shù)據(jù)庫(kù)的操作任務(wù)。
采用網(wǎng)狀數(shù)據(jù)模型雖然為網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)帶來(lái)了數(shù)據(jù)描述能力強(qiáng)大和存取效率高等優(yōu)點(diǎn),但也產(chǎn)生了使用和維護(hù)復(fù)雜的缺點(diǎn)。網(wǎng)狀數(shù)據(jù)庫(kù)系統(tǒng)使用了很多與數(shù)據(jù)檢索和數(shù)據(jù)處理不相干的概念,用戶對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)必須沿著存取路徑到達(dá)目標(biāo)數(shù)據(jù),這就要求隨時(shí)記錄數(shù)據(jù)庫(kù)在各個(gè)范圍中的當(dāng)前值。應(yīng)用程序員還必須了解數(shù)據(jù)庫(kù)設(shè)計(jì)的細(xì)節(jié),在一些不必要的低級(jí)結(jié)構(gòu)上考慮問(wèn)題和編碼,從而加重了使用者的負(fù)擔(dān)。另外,網(wǎng)狀數(shù)據(jù)庫(kù)的操縱語(yǔ)言是過(guò)程性的,對(duì)數(shù)據(jù)的操作是一次一個(gè)記錄的存取方式,數(shù)據(jù)的邏輯獨(dú)立性不高。隨著應(yīng)用環(huán)境的擴(kuò)大,數(shù)據(jù)庫(kù)的結(jié)構(gòu)和用戶視圖將變得越來(lái)越復(fù)雜而不夠清晰,上述缺點(diǎn)會(huì)變得更加嚴(yán)重。
網(wǎng)狀數(shù)據(jù)庫(kù)在20世紀(jì)70年代和80年代非常流行,在數(shù)據(jù)庫(kù)產(chǎn)品中占主導(dǎo)地位。近年來(lái)逐漸被關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)取代,但是由于歷史的原因,目前在美國(guó)、加拿大等國(guó)家,網(wǎng)狀數(shù)據(jù)庫(kù)的用戶仍然很多。
客戶&案例
營(yíng)銷(xiāo)資訊
關(guān)于我們
客戶&案例
營(yíng)銷(xiāo)資訊
關(guān)于我們
微信公眾號(hào)
版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。