2017年計(jì)算機(jī)四級(jí)考試數(shù)據(jù)庫(kù)復(fù)習(xí)筆記:索引技術(shù)

字號(hào):


    6.3 索引技術(shù)
    6.3.1 基本概念
    1、 索引技術(shù):是一種快速文件訪問(wèn)技術(shù),它將一個(gè)文件的每個(gè)記錄在某個(gè)或某些域(屬性)上的取值與該記錄的物理地址直接聯(lián)系起來(lái),提供了一種根據(jù)記錄域的取值快速訪問(wèn)文件記錄的機(jī)制;它的關(guān)鍵是建立取值域到記錄的物理地址劉的映射關(guān)系,這種映射關(guān)系叫索引;
    2、 索引技術(shù)分類:
    (1) 有序索引技術(shù):利用索引文件實(shí)現(xiàn)記錄域(查找碼)取值到記錄物理地址間的映射關(guān)系,索引文件由索引記錄組成,每個(gè)記錄中記載一個(gè)索引項(xiàng),索引項(xiàng)記錄了某個(gè)特定的查找碼值和具有該值的數(shù)據(jù)文件記錄的物理地址;
    (2) 散列技術(shù):利用一個(gè)散列函數(shù)實(shí)現(xiàn)記錄域取值到記錄物理地址間的直接映射關(guān)系;
    (3) 有序索引:有序索引作為基于索引文件的索引技術(shù),需要考慮兩個(gè)問(wèn)題:(1)如何組織索引文件中的索引記錄;(2)如何從索引文件出發(fā),訪問(wèn)數(shù)據(jù)文件中的數(shù)據(jù)記錄;
    (A) 當(dāng)需要采用有序索引機(jī)制快速訪問(wèn)數(shù)據(jù)文件時(shí),首先要為該數(shù)據(jù)文件建立一個(gè)索引文件,它是索引記錄和索引項(xiàng)的集合;
    (B) 索引文件建立的方法:首先選定某些記錄域作為查找碼,然后建立數(shù)據(jù)記錄在查找碼上的取值與物理地址間的映射關(guān)系,組成索引項(xiàng)。所有索引項(xiàng)作為索引記錄存儲(chǔ)在索引文件中,索引文件根據(jù)某個(gè)特定的查找碼值的順序組織為順序文件;
    (C) 一個(gè)數(shù)據(jù)文件可以有多個(gè)查找碼和索引文件;
    6.3.2 有序索引的分類及特點(diǎn)
    1、 聚集索引與非聚集索引
    (1) 對(duì)數(shù)據(jù)文件和它的一個(gè)特定的索引文件,如果數(shù)據(jù)文件中數(shù)據(jù)記錄的排列順序與索引文件中索引項(xiàng)的排列順序相一致,則該索引文件稱為聚集索引,否則稱為非聚集索引;
    (2) 在一個(gè)數(shù)據(jù)文件上除了建立一個(gè)聚集索引外,還可建立多個(gè)非聚集索引;
    2、 稠密索引和稀疏索引
    如果數(shù)據(jù)文件中的每個(gè)查找碼都在索引文件中都對(duì)應(yīng)一個(gè)索引記錄,稱為稠密索引,如果只一部分對(duì)應(yīng),則稱為稀疏索引;
    3、 主索引和輔索引
    在數(shù)據(jù)文件包含主碼的屬性集上建立索引稱為主索引,在非主碼屬性上建立的索引稱為輔索引;
    4、單層索引和多層索引
    (1) 單層索引(線性索引):索引項(xiàng)根據(jù)鍵值在索引文件中順序排列,組織成一維線性結(jié)構(gòu),每個(gè)索引項(xiàng)直接指向數(shù)據(jù)文件中的數(shù)據(jù)記錄;
    (2) 當(dāng)數(shù)據(jù)文件很大時(shí),即使采用稀疏索引,建成的索引文件也很大,導(dǎo)致效率低下,為解決該問(wèn)題,可對(duì)索引文件中的索引項(xiàng)本身再建立一級(jí)稀疏索引,組成2層索引結(jié)構(gòu);進(jìn)一步地,可建立多層樹(shù)型索引結(jié)構(gòu)來(lái)快速定位;