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