資料庫的優點
使用資料庫可以帶來許多好處:如減少了資料的冗餘度,從而大大地節省了資料的儲存空間;實現資料資源的充分共享等等。此外,資料庫技術還為使用者提供了非常簡便的使用手段使使用者易於編寫有關資料庫應用程式。特別是近年來推出的微型計算機關係資料庫管理系統dBASELL,操作直觀,使用靈活,程式設計方便,環境適應廣泛(一般的十六位機,如IBM/PC/XT,中國產長城0520等均可執行種軟體),資料處理能力極強。資料庫在中國正得到愈來愈廣泛的應用,必將成為經濟管理的有力工具。
資料庫是透過資料庫管理系統(DBMS-DATABASEMANAGEMENTSYSTEM)軟體來實現資料的儲存、管理與使用的dBASELL就是一種資料庫管理系統軟體。
資料庫結構與資料庫種類
資料庫通常分為層次式資料庫、網路式資料庫和關係式資料庫三種。而不同的資料庫是按不同的資料結構來聯絡和組織的。
1.資料結構模型
(1)資料結構
所謂資料結構是指資料的組織形式或資料之間的聯絡。如果用D表示資料,用R表示資料物件之間存在的關係集合,則將DS=(D,R)稱為資料結構。例如,設有一個電話號碼簿,它記錄了n個人的名字和相應的電話號碼。為了方便地查詢某人的電話號碼,將人名和號碼按字典順序排列,並在名字的後面跟隨著對應的電話號碼。這樣,若要查詢某人的電話號碼(假定他的名字的第一個字母是Y),那麼只須查詢以Y開頭的那些名字就可以了。該例中,資料的集合D就是人名和電話號碼,它們之間的聯絡R就是按字典順序的排列,其相應的資料結構就是DS=(D,R),即一個數組。(2)資料結構種類
資料結構又分為資料的邏輯結構和資料的物理結構。資料的邏輯結構是從邏輯的角度(即資料間的聯絡和組織方式)來觀察資料,分析資料,與資料的儲存位置無關。資料的物理結構是指資料在計算機中存放的結構,即資料的邏輯結構在計算機中的實現形式,所以物理結構也被稱為儲存結構。本節只研究資料的邏輯結構,並將反映和實現資料聯絡的方法稱為資料模型。
目前,比較流行的資料模型有三種,即按圖論理論建立的層次結構模型和網狀結構模型以及按關係理論建立的關係結構模型。
2.層次、網狀和關係資料庫系統
(1)層次結構模型
層次結構模型實質上是一種有根結點的定向有序樹(在數學中"樹"被定義為一個無回的連通圖)。例如圖20.6.4是一個高等學校的組織結構圖。這個組織結構影象一棵樹,校部就是樹根(稱為根結點),各系、專業、教師、學生等為枝點(稱為結點),樹根與枝點之間的聯絡稱為邊,樹根與邊之比為1:N,即樹根只有一個,樹枝有N個。
按照層次模型建立的資料庫系統稱為層次模型資料庫系統。IMS(InformationManage-mentSystem)是其典型代表。
(2)網狀結構模型
某醫院醫生、病房和病人之間的聯絡。即每個醫生負責治療三個病人,每個病房可住一到四個病人。如果將醫生看成是一個數據集合,病人和病房分別是另外兩個資料集合,那麼醫生、病人和病房的比例關係就是M:N:P(即M個醫生,N個病人,P間病房)。這種資料結構就是網狀資料結構,它的一般結構模型,記錄Ri(i=1,2,8)滿足以下條件:
①可以有一個以上的結點無雙親(如R1、R2、R3)。
②至少有一個結點有多於一個以上的雙親。在"醫生、病人、病房"例中,"醫生集合有若干個結點(M個醫生結點)無"雙親",而"病房"集合有P個結點(即病房),並有一個以上的"雙親"(即病人)。
醫生、病房和病人之間的關係
網狀結構模型
按照網狀資料結構建立的資料庫系統稱為網狀資料庫系統,其典型代表是DBTG(DataBaseTaskGroup)。用數學方法可將網狀資料結構轉化為層次資料結構。
(3)關係結構模型
關係式資料結構把一些複雜的資料結構歸結為簡單的二元關係(即二維表格形式)。例如某單位的職工關係就是一個二元關係。這個四行六列的表格的每一列稱為一個欄位(即屬性),欄位名相當於標題欄中的標題(屬性名稱);表的每一行是包含了六個屬性(工號、姓名、年齡、性別、職務、工資)的一個六元組,即一個人的記錄。這個表格清晰地反映出該單位職工的基本情況。
職工基本情況
通常一個m行、n列的二維表格的結構如表20.6.9所示。
表中每一行表示一個記錄值,每一列表示一個屬性(即欄位或資料項)。該表一共有m個記錄。每個記錄包含n個屬性。
作為一個關係的二維表,必須滿足以下條件:
(1)表中每一列必須是基本資料項(即不可再分解)。(2)表中每一列必須具有相同的資料型別(例如字元型或數值型)。(3)表中每一列的名字必須是唯一的。(4)表中不應有內容完全相同的行。(5)行的順序與列的順序不影響表格中所表示的資訊的含義。
由關係資料結構組成的資料庫系統被稱為關係資料庫系統。
在關係資料庫中,對資料的操作幾乎全部建立在一個或多個關係表格上,透過對這些關係表格的分類、合併、連線或選取等運算來實現資料的管理。dBASEII就是這類資料庫管理系統的典型代表。對於一個實際的應用問題(如人事管理問題),有時需要多個關係才能實現。用dBASEII建立起來的一個關係稱為一個數據庫(或稱資料庫檔案),而把對應多個關係建立起來的多個數據庫稱為資料庫系統。dBASEII的另一個重要功能是透過建立命令檔案來實現對資料庫的使用和管理,對於一個數據庫系統相應的命令序列檔案,稱為該資料庫的應用系統。因此,可以概括地說,一個關係稱為一個數據庫,若干個資料庫可以構成一個數據庫系統。資料庫系統可以派生出各種不同型別的輔助檔案和建立它的應用系統。
資料庫的要求與特性
為了使各種型別的資料庫系統能夠充分發揮它們的優越性,必須對資料庫管理系統的使用提出一些明確的要求。
1.建立資料庫檔案的要求
(1)儘量減少資料的重複,使資料具有最小的冗餘度。計算機早期應用中的檔案管理系統,由於資料檔案是使用者各自建立的,幾個使用者即使有許多相同的資料也得放在各自的檔案中,因而造成儲存的資料大量重複,浪費儲存空間。資料庫技術正是為了克服這一缺點而出現的,所以在組織資料的儲存時應避免出現冗餘。
(2)提高資料的利用率,使眾多使用者都能共享資料資源。
(3)注意保持資料的完整性。這對某些需要歷史資料來進行預測、決策的部門(如統計局、銀行等)特別重要。
(4)注意同一資料描述方法的一致性,使資料操作不致發生混亂。如一個人的學歷在人事檔案中是大學畢業,而在科技檔案中卻是大學程度,這樣就容易造成混亂。
(5)對於某些需要保密的資料,必須增設保密措施。
(6)資料的查詢率高,根據需要資料應能被及時維護。
2.資料庫檔案的特徵
無論使用哪一種資料庫管理系統,由它們所建立的資料庫檔案都可以看成是具有相同性質的記錄的集合,因而這些資料庫檔案都有相同的特性:
(1)檔案的記錄格式相同,長度相等。
(2)不同的行是不同的記錄,因而具有不同的內容。
(3)不同的列表示不同的欄位名,同一列中的資料的性質(屬性)相同。
(4)每一行各列的內容是不能分割的,但行的順序和列的順序不影響檔案內容的表達。
3.檔案的分類
對檔案引用最多的是主檔案和事物檔案。其他的檔案分類還包括表文件、備份檔案、檔案的輸出檔案等。下面將講述這些檔案。
(1)主檔案。主檔案是某特定應用領域的永久性的資料資源。主檔案包含那些被定期存取以提供資訊和經常更新以反映最新狀態的記錄。典型的主檔案有庫存檔案、職工主檔案和收帳主檔案等。
(2)事務檔案。事務檔案包含著作為一個資訊系統的資料活動(事務)的那些記錄。這些事務被分批以構成事務檔案。例如,從每週工資卡上錄製下來的數分批存放在一個事務檔案上,然後對照工資清單檔案進行處理以便打印出工資支票和工資記錄簿。
(3)表文件。表文件是一些表格。之所以單獨建立表文件而不把表設計在程式中是為了便於修改。例如,一個公用事業公司的稅率表或國內稅務局的稅率就可以儲存在表中檔案。
(4)備用檔案。備用檔案是現有生產性檔案的一個複製品。一旦生產性檔案受到破壞,利用備用檔案就可以重新建立生產性檔案。
(5)檔案檔案。檔案檔案不是提供當前處理使用的,而是儲存起來作為歷史參照的。例如,國內稅務局(IRS)可能要求檢查某個人最近15年的歷史。實際上,檔案檔案恰恰是在給定時間內工作的一個"快照"。
(6)輸出檔案。輸出檔案包含將要列印在印表機上的、顯在螢幕上的或者繪製在繪圖儀上的那些資訊的數值映象。輸出檔案可以是"假離線的"(儲存在輔存裝置上),當輸出裝置可用時才進行實際的輸出。
資料庫的優點
使用資料庫可以帶來許多好處:如減少了資料的冗餘度,從而大大地節省了資料的儲存空間;實現資料資源的充分共享等等。此外,資料庫技術還為使用者提供了非常簡便的使用手段使使用者易於編寫有關資料庫應用程式。特別是近年來推出的微型計算機關係資料庫管理系統dBASELL,操作直觀,使用靈活,程式設計方便,環境適應廣泛(一般的十六位機,如IBM/PC/XT,中國產長城0520等均可執行種軟體),資料處理能力極強。資料庫在中國正得到愈來愈廣泛的應用,必將成為經濟管理的有力工具。
資料庫是透過資料庫管理系統(DBMS-DATABASEMANAGEMENTSYSTEM)軟體來實現資料的儲存、管理與使用的dBASELL就是一種資料庫管理系統軟體。
資料庫結構與資料庫種類
資料庫通常分為層次式資料庫、網路式資料庫和關係式資料庫三種。而不同的資料庫是按不同的資料結構來聯絡和組織的。
1.資料結構模型
(1)資料結構
所謂資料結構是指資料的組織形式或資料之間的聯絡。如果用D表示資料,用R表示資料物件之間存在的關係集合,則將DS=(D,R)稱為資料結構。例如,設有一個電話號碼簿,它記錄了n個人的名字和相應的電話號碼。為了方便地查詢某人的電話號碼,將人名和號碼按字典順序排列,並在名字的後面跟隨著對應的電話號碼。這樣,若要查詢某人的電話號碼(假定他的名字的第一個字母是Y),那麼只須查詢以Y開頭的那些名字就可以了。該例中,資料的集合D就是人名和電話號碼,它們之間的聯絡R就是按字典順序的排列,其相應的資料結構就是DS=(D,R),即一個數組。(2)資料結構種類
資料結構又分為資料的邏輯結構和資料的物理結構。資料的邏輯結構是從邏輯的角度(即資料間的聯絡和組織方式)來觀察資料,分析資料,與資料的儲存位置無關。資料的物理結構是指資料在計算機中存放的結構,即資料的邏輯結構在計算機中的實現形式,所以物理結構也被稱為儲存結構。本節只研究資料的邏輯結構,並將反映和實現資料聯絡的方法稱為資料模型。
目前,比較流行的資料模型有三種,即按圖論理論建立的層次結構模型和網狀結構模型以及按關係理論建立的關係結構模型。
2.層次、網狀和關係資料庫系統
(1)層次結構模型
層次結構模型實質上是一種有根結點的定向有序樹(在數學中"樹"被定義為一個無回的連通圖)。例如圖20.6.4是一個高等學校的組織結構圖。這個組織結構影象一棵樹,校部就是樹根(稱為根結點),各系、專業、教師、學生等為枝點(稱為結點),樹根與枝點之間的聯絡稱為邊,樹根與邊之比為1:N,即樹根只有一個,樹枝有N個。
按照層次模型建立的資料庫系統稱為層次模型資料庫系統。IMS(InformationManage-mentSystem)是其典型代表。
(2)網狀結構模型
某醫院醫生、病房和病人之間的聯絡。即每個醫生負責治療三個病人,每個病房可住一到四個病人。如果將醫生看成是一個數據集合,病人和病房分別是另外兩個資料集合,那麼醫生、病人和病房的比例關係就是M:N:P(即M個醫生,N個病人,P間病房)。這種資料結構就是網狀資料結構,它的一般結構模型,記錄Ri(i=1,2,8)滿足以下條件:
①可以有一個以上的結點無雙親(如R1、R2、R3)。
②至少有一個結點有多於一個以上的雙親。在"醫生、病人、病房"例中,"醫生集合有若干個結點(M個醫生結點)無"雙親",而"病房"集合有P個結點(即病房),並有一個以上的"雙親"(即病人)。
醫生、病房和病人之間的關係
網狀結構模型
按照網狀資料結構建立的資料庫系統稱為網狀資料庫系統,其典型代表是DBTG(DataBaseTaskGroup)。用數學方法可將網狀資料結構轉化為層次資料結構。
(3)關係結構模型
關係式資料結構把一些複雜的資料結構歸結為簡單的二元關係(即二維表格形式)。例如某單位的職工關係就是一個二元關係。這個四行六列的表格的每一列稱為一個欄位(即屬性),欄位名相當於標題欄中的標題(屬性名稱);表的每一行是包含了六個屬性(工號、姓名、年齡、性別、職務、工資)的一個六元組,即一個人的記錄。這個表格清晰地反映出該單位職工的基本情況。
職工基本情況
通常一個m行、n列的二維表格的結構如表20.6.9所示。
表中每一行表示一個記錄值,每一列表示一個屬性(即欄位或資料項)。該表一共有m個記錄。每個記錄包含n個屬性。
作為一個關係的二維表,必須滿足以下條件:
(1)表中每一列必須是基本資料項(即不可再分解)。(2)表中每一列必須具有相同的資料型別(例如字元型或數值型)。(3)表中每一列的名字必須是唯一的。(4)表中不應有內容完全相同的行。(5)行的順序與列的順序不影響表格中所表示的資訊的含義。
由關係資料結構組成的資料庫系統被稱為關係資料庫系統。
在關係資料庫中,對資料的操作幾乎全部建立在一個或多個關係表格上,透過對這些關係表格的分類、合併、連線或選取等運算來實現資料的管理。dBASEII就是這類資料庫管理系統的典型代表。對於一個實際的應用問題(如人事管理問題),有時需要多個關係才能實現。用dBASEII建立起來的一個關係稱為一個數據庫(或稱資料庫檔案),而把對應多個關係建立起來的多個數據庫稱為資料庫系統。dBASEII的另一個重要功能是透過建立命令檔案來實現對資料庫的使用和管理,對於一個數據庫系統相應的命令序列檔案,稱為該資料庫的應用系統。因此,可以概括地說,一個關係稱為一個數據庫,若干個資料庫可以構成一個數據庫系統。資料庫系統可以派生出各種不同型別的輔助檔案和建立它的應用系統。
資料庫的要求與特性
為了使各種型別的資料庫系統能夠充分發揮它們的優越性,必須對資料庫管理系統的使用提出一些明確的要求。
1.建立資料庫檔案的要求
(1)儘量減少資料的重複,使資料具有最小的冗餘度。計算機早期應用中的檔案管理系統,由於資料檔案是使用者各自建立的,幾個使用者即使有許多相同的資料也得放在各自的檔案中,因而造成儲存的資料大量重複,浪費儲存空間。資料庫技術正是為了克服這一缺點而出現的,所以在組織資料的儲存時應避免出現冗餘。
(2)提高資料的利用率,使眾多使用者都能共享資料資源。
(3)注意保持資料的完整性。這對某些需要歷史資料來進行預測、決策的部門(如統計局、銀行等)特別重要。
(4)注意同一資料描述方法的一致性,使資料操作不致發生混亂。如一個人的學歷在人事檔案中是大學畢業,而在科技檔案中卻是大學程度,這樣就容易造成混亂。
(5)對於某些需要保密的資料,必須增設保密措施。
(6)資料的查詢率高,根據需要資料應能被及時維護。
2.資料庫檔案的特徵
無論使用哪一種資料庫管理系統,由它們所建立的資料庫檔案都可以看成是具有相同性質的記錄的集合,因而這些資料庫檔案都有相同的特性:
(1)檔案的記錄格式相同,長度相等。
(2)不同的行是不同的記錄,因而具有不同的內容。
(3)不同的列表示不同的欄位名,同一列中的資料的性質(屬性)相同。
(4)每一行各列的內容是不能分割的,但行的順序和列的順序不影響檔案內容的表達。
3.檔案的分類
對檔案引用最多的是主檔案和事物檔案。其他的檔案分類還包括表文件、備份檔案、檔案的輸出檔案等。下面將講述這些檔案。
(1)主檔案。主檔案是某特定應用領域的永久性的資料資源。主檔案包含那些被定期存取以提供資訊和經常更新以反映最新狀態的記錄。典型的主檔案有庫存檔案、職工主檔案和收帳主檔案等。
(2)事務檔案。事務檔案包含著作為一個資訊系統的資料活動(事務)的那些記錄。這些事務被分批以構成事務檔案。例如,從每週工資卡上錄製下來的數分批存放在一個事務檔案上,然後對照工資清單檔案進行處理以便打印出工資支票和工資記錄簿。
(3)表文件。表文件是一些表格。之所以單獨建立表文件而不把表設計在程式中是為了便於修改。例如,一個公用事業公司的稅率表或國內稅務局的稅率就可以儲存在表中檔案。
(4)備用檔案。備用檔案是現有生產性檔案的一個複製品。一旦生產性檔案受到破壞,利用備用檔案就可以重新建立生產性檔案。
(5)檔案檔案。檔案檔案不是提供當前處理使用的,而是儲存起來作為歷史參照的。例如,國內稅務局(IRS)可能要求檢查某個人最近15年的歷史。實際上,檔案檔案恰恰是在給定時間內工作的一個"快照"。
(6)輸出檔案。輸出檔案包含將要列印在印表機上的、顯在螢幕上的或者繪製在繪圖儀上的那些資訊的數值映象。輸出檔案可以是"假離線的"(儲存在輔存裝置上),當輸出裝置可用時才進行實際的輸出。