層次數據模(mo)型是數據庫系統最早使用(yong)的一(yi)種模(mo)型,它用(yong)“樹(shu)(shu)”結(jie)(jie)構(gou)表示實(shi)(shi)體集之(zhi)(zhi)間的關聯(lian),其中實(shi)(shi)體集(用(yong)矩(ju)形框(kuang)表示)為結(jie)(jie)點,而(er)樹(shu)(shu)中各結(jie)(jie)點之(zhi)(zhi)間的連線表示它們之(zhi)(zhi)間的關聯(lian)。
層(ceng)次結(jie)構是(shi)樹(shu)(shu)結(jie)構,樹(shu)(shu)的(de)結(jie)點(dian)是(shi)記(ji)錄(lu)類型(xing),非(fei)根(gen)結(jie)點(dian)有且只有一個父結(jie)點(dian)。上一層(ceng)記(ji)錄(lu)類型(xing)和下一層(ceng)記(ji)錄(lu)類型(xing)是(shi)1:N聯系。記(ji)錄(lu)之間的(de)聯系通過指(zhi)針(zhen)來實(shi)現,查詢(xun)效率較高(gao)。
用層次結(jie)構表示實(shi)(shi)體(ti)類型及實(shi)(shi)體(ti)間聯系(xi)的(de)數據模型稱為(wei)層次數據模型(hierarchical datamodel)記錄(lu)之間的(de)聯系(xi)通過指(zhi)針來實(shi)(shi)現,查詢效(xiao)率(lv)較(jiao)高。
層次模型的(de)(de)表示(shi)(shi)方(fang)法是(shi):樹的(de)(de)結點(dian)表示(shi)(shi)實(shi)體(ti)集(ji)(記錄(lu)的(de)(de)型),結點(dian)之間的(de)(de)連(lian)線表示(shi)(shi)相連(lian)兩實(shi)體(ti)集(ji)之間的(de)(de)關系(xi),這種關系(xi)只(zhi)能是(shi)“1一M”的(de)(de)。通常把表示(shi)(shi)1的(de)(de)實(shi)體(ti)集(ji)放在上方(fang),稱為父結點(dian),表示(shi)(shi)M的(de)(de)實(shi)體(ti)集(ji)放在下(xia)方(fang),稱為子結點(dian)。
層次模型的(de)物理(li)存儲有兩種(zhong)實現方(fang)法:
順序(xu)法(fa):按照層(ceng)次順序(xu)把(ba)所有(you)的記(ji)錄鄰接(jie)存(cun)放,即通過物理空間的位置相鄰來實現層(ceng)次順序(xu)。
指針法:各個記錄(lu)存放時不是按層次(ci)順序,而(er)是用(yong)指針按層次(ci)順序把它們鏈(lian)接起來。