天天看點

如何了解關系資料庫

     資料庫是以某種資料模型所确定的資料結構方式來組織和存儲某個組織(或部門)互相關聯的資料集。資料庫管理系統是一種幫助使用者建立、使用、管理和維護資料庫的計算機系統軟體。或者說,資料庫管理系統是開發一個實際應用資料庫的工具并支撐其運作的平台。資料庫管理系統必須與其管理的資料庫的資料模型相一緻。

  1.資料模型

  資料模型是對現實世界資料特征進行抽象的工具,用來描述和處理現實世界中的資料和資訊。資料模型要能較真實地模拟現實世界,既要便于人們了解,又要便于在計算機上實作。資料模型主要由資料結構、資料操作、資料完整性規則三個部分組成。資料結構描述了組成資料庫的基本成分;資料操作描述了對資料結構允許執行的操作集合;完整性規則描述了對資料結構所具有的限制和存儲規則。

  2.關系資料模型

  關系資料模型的資料結構是人們日常事務進行中常見的二維表結構(如工資發放表)。關系資料模型将資料看成是二維表中唯一的行号和列号确定的一個表中元素,即關系資料模型是用二維表的方式來組織、存儲和處理資料和資訊的。從應用的角度來看,任何一個組織(或部門)的關系資料庫的基本組成成分是二維表,或者說某個組織(或部門)的資料庫是由若幹張互相關聯的二維表組成。由于二維表結構清晰、簡單、易于了解,也易于計算機實作(存儲、操作、控制),加上關系資料模型有數學理論基礎(集合論、關系代數),是以現在的資料庫管理系統軟體都是基于關系資料模型研發的,如SQL SERVER、ORACLE、DB2、SYBASE、ACCESS、FOXPRO等等。也就是說,用這些關系資料庫管理系統軟體為某個組織開發的會計資料庫系統必須按關系資料模型來組織資料。那麼,關系資料模型中的二維表與資料庫中的資料檔案之間有何聯系?

  下面我們通過會計科目代碼表來介紹關系資料模型的基本概念及其與資料庫中的資料檔案之間的對應關系:

  (1)關系、二維表、資料檔案:關系資料模型中用關系來表述現實世界中能夠互相差別的要管理的資料對象集。每一個關系都有一個關系名和一組表述其特征的屬性集,人們就是通過這些屬性集差別不同的關系。如記賬憑證、會計科目、總賬都可以稱之為關系,它們都是要管理的資料對象集,都有各自的屬性集。一個關系用一張二維表表示,表名對應關系名。二維表由有限個不重複的行組成,表中的每一列不可再分。一張二維表在關系資料庫中用一個資料檔案存儲。如“會計科目代碼表”在會計資料庫中用一個資料檔案存儲,檔案名可以用表名“會計科目代碼”,使計算機中存儲的檔案内容與現實世界管理的資料對象相聯系。

  (2)記錄:二維表中的每一行稱為一個記錄,描述了關系中一個具體的個體,在資料檔案中是一個記錄值。如表1中第一行為現金賬戶的記錄,描述了現金賬戶在會計科目代碼檔案中所有屬性的取值(特征)。

  (3)屬性、列、字段:二維表中的每一列是一個屬性,描述了關系的一個特征。一個二維表的所有列構成了一個關系的屬性集,通過它可以差別不同的二維表(關系)。二維表中的每一列的資料屬于同一類型。每一列的列名對應關系的屬性名,同時對應資料檔案中的字段名。如表1用6個清單示會計科目代碼的屬性,其中第三清單示屬性“科目性質”,當某條記錄取值為1時,表示是資産類科目。

  (4)主碼、主關鍵字:指二維表中的某個列(屬性)或某幾個列(或屬性組),它們的值能夠唯一确定表中或資料檔案中的一個記錄。如表1中的“科目代碼”屬性可以作為主碼(或主關鍵字),用來唯一識别表中的每一個會計科目。

  (5)域:描述二維表中每一列屬性或資料檔案的某一字段的取值類型和範圍。如表1中每一列的列名下面的括号中的内容表示該列的取值類型和範圍,其中第四列“底層明細标志”表示某個科目是不是最底層明細科目(不再有下層科目),隻有兩種取值T(真)和F(假)。

  (6)關系模式:一個關系模式由一個關系名及它所有的屬性構成,它對應一個二維表的表名和表頭欄目行(列的集合),構成了一個二維表的架構,同時也是設計該二維表的資料檔案結構的依據。

  至此,我們直覺地介紹了關系資料庫中的關系、二維表、資料檔案之間各個概念的對應關系。由于二維表中的行與資料檔案的記錄、二維表的列(屬性)與資料檔案的字段之間互相對應,是以,審計人員隻要掌握了會計賬務資料庫的二維表結構及表之間的關聯也就能夠分析電子賬的結構。

  例如,将會計科目代碼表(表1)轉換成關系資料庫中的資料檔案結構:

  3.關系資料模型的資料操作

  從數學的角度看,關系資料模型的資料操作是基于集合的操作,操作對象和操作結果都是集合。從資料處理的角度看,資料操作的對象和結果都是二維表。對二維表的操作主要有:

  (1)對表中的行(記錄)進行操作:指對一張表中指定範圍的記錄進行有條件的操作,操作的結果組成一張新表。例如,從“會計科目代碼表”中篩選出資産類科目組成新的“資産類科目代碼表”,操作的範圍是整個“會計科目代碼表”,條件是“科目性質等于1”。對表中的行進行操作後的結果表的結構與原表相同,記錄數小于或等于原表。

  (2)對表中的列(屬性)進行操作:指對一張表中指定的列進行有條件的操作,操作的結果組成一張新表。例如,從“會計科目代碼表”中選出“科目代碼”、“科目名稱”兩列,組成新的科目代碼對應表,新表隻有“科目代碼”和“科目名稱”兩列。顯然,列操作後的結果表的結構與原表不同,結果表小于或等于原表。

  (3)連接配接:對兩張表或多張表進行有條件的連接配接操作,生成一張新表。連接配接操作後的結果表大于等于操作前的表。

  從應用的角度看,對二維表中的資料操作功能主要包括更新(增加、修改、删除)資料和檢索(查詢)資料,即對二維表填入和修改資料,并從表中檢索出資料進行加工應用。

  4.關系資料模型的資料完整性規則

  資料完整性是指資料庫中存儲的資料是有意義的或正确的。關系資料模型中的資料完整性規則是指對二維表的定義和操作過程中要遵循的某些限制條件。主要包括:

  (1)實體完整性:指每張表都必須有主碼,而且表中不允許存在無主碼值的記錄和主碼值相同的記錄。如表1中的每一個記錄都必須有科目代碼,并且不能有相同科目代碼的記錄和無科目代碼的記錄。

  (2)參照完整性:指一張表的某列的取值受另一張表的某列的取值範圍限制,描述了多張表之間的關聯關系。例如,記賬憑證表中的“科目代碼”列的取值受到會計科目代碼表的“科目代碼”取值範圍的限定。

  (3)使用者定義完整性。指針對某一具體應用定義的資料庫限制條件,反映某一具體應用所涉及的資料必須滿足應用語義的要求。即限制屬性的取值類型及範圍,防止屬性的值與應用語義沖突。如表1中,“科目性質”的取值隻能是1(資産)、2(負債)、3(權益)、4(成本)、5(損益)。

  5.從關系資料模型得到的啟示