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