簡介
順序資料庫是指資料庫中存取數據的邏輯順序和物理順序是一致的,都採用順序存取方式。資料庫系統採用順序資料庫的原因一般有兩種:1、順序資料庫具有較高的檢索效率,特別是批量檢索;2、與存儲器有關,例如磁帶,資料庫就只能採取順序資料庫。
有關名詞
實體
客觀上存在且可區分的事物稱為實體。實體可以是人,也可以是物;可以指實際的對象,也可以指某些概念;可以指事物與事物間的聯繫。如學生是一個實體。
屬性
實體所具有的某一方面的特性。一個實體可以由若干個屬性來刻畫。如公司員工實體有員工編號、姓名、年齡、性別等屬性。再如學生實體有學號、姓名和性別等屬性。
關鍵字
實體的某一屬性或屬性組合,其取用的值能惟一標識出某一實體,稱為關鍵字,也稱碼。如學號是學生實體集的關鍵字,由於姓名有相同的可能,故不應作為關鍵字。
數據結構
數據的邏輯結構
數據的
邏輯結構:指反映數據
元素之間的邏輯關係的
數據結構,其中的邏輯關係是指數據元素之間的前後件關係,而與他們在計算機中的存儲位置無關。邏輯結構包括:
集合
數據結構中的元素之間除了“同屬一個集合” 的相互關係外,別無其他關係;
數據結構中的元素存在一對一的相互關係;
數據結構中的元素存在一對多的相互關係;
數據結構中的元素存在多對多的相互關係。
數據的物理結構
數據的物理結構:指數據的
邏輯結構在計算機存儲空間的存放形式。
數據的物理結構是數據結構在計算機中的表示(又稱映像),它包括數據元素的機內表示和關係的機內表示。由於具體實現的方法有順序、連結、索引、散列等多種,所以,一種數據結構可表示成一種或多種存儲結構。
數據元素的機內表示(映像方法): 用二進制位(bit)的位串表示數據元素。通常稱這種位串為節點(node)。當數據元素有若干個數據項組成時,位串中與個數據項對應的子位串稱為數據域(data field)。因此,節點是數據元素的機內表示(或機內映像)。
關係的機內表示(映像方法):數據元素之間的關係的機內表示可以分為順序映像和非順序映像,常用兩種存儲結構:順序存儲結構和鏈式存儲結構。順序映像藉助元素在存儲器中的相對位置來表示數據元素之間的邏輯關係。非順序映像藉助指示元素存儲位置的指針(pointer)來表示數據元素之間的邏輯關係。
順序資料庫優缺點
順序資料庫優缺點和順序檔案優缺點差不多。順序檔案的最佳套用場合,是在對諸記錄進行批量存取時,即每次要讀或寫一大批記錄。此時,對順序檔案的存取效率是所有邏輯檔案中最高的;此外,也只有順序檔案才能存儲在磁帶上,並能有效地工作。
在互動套用的場合,如果用戶(程式)要求查找或修改單個記錄,為此系統便要去逐個地查找諸記錄。這時,順序檔案所表現出來的性能就可能很差,尤其是當檔案較大時,情況更為嚴重。例如,有一個含有104個記錄的順序檔案,如果對它採用順序查找法去查找一個指定的記錄,則平均需要查找5×103個記錄;如果是可變長記錄的順序檔案,則為查找一個記錄所需付出的開銷將更大,這就限制了順序檔案的長度。
順序檔案的另一個缺點是,如果想增加或刪除一個記錄,都比較困難。為了解決這一問題,可以為順序檔案配置一個運行記錄檔案(Log File)或稱為事務檔案(Transaction File),把試圖增加、刪除或修改的信息記錄於其中,規定每隔一定時間,例如4小時,將運行記錄檔案與原來的主檔案加以合併,產生一個按關鍵字排序的新檔案。