qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          關系數據庫原理、數據模型

           數據庫是以某種數據模型所確定的數據結構方式來組織和存儲某個組織(或部門)相互關聯的數據集。數據庫管理系統是一種幫助用戶建立、使用、管理和維護數據庫的計算機系統軟件?;蛘哒f,數據庫管理系統是開發一個實際應用數據庫的工具并支撐其運行的平臺。數據庫管理系統必須與其管理的數據庫的數據模型相一致。
            1.數據模型
            數據模型是對現實世界數據特征進行抽象的工具,用來描述和處理現實世界中的數據和信息。數據模型要能較真實地模擬現實世界,既要便于人們理解,又要便于在計算機上實現。數據模型主要由數據結構、數據操作、數據完整性規則三個部分組成。數據結構描述了組成數據庫的基本成分;數據操作描述了對數據結構允許執行的操作集合;完整性規則描述了對數據結構所具有的約束和存儲規則。
            2.關系數據模型
            關系數據模型的數據結構是人們日常事務處理中常見的二維表結構(如工資發放表)。關系數據模型將數據看成是二維表中唯一的行號和列號確定的一個表中元素,即關系數據模型是用二維表的方式來組織、存儲和處理數據和信息的。從應用的角度來看,任何一個組織(或部門)的關系數據庫的基本組成成分是二維表,或者說某個組織(或部門)的數據庫是由若干張相互關聯的二維表組成。由于二維表結構清晰、簡單、易于理解,也易于計算機實現(存儲、操作、控制),加上關系數據模型有數學理論基礎(集合論、關系代數),因此現在的數據庫管理系統軟件都是基于關系數據模型研發的,如SQL SERVER、ORACLE、DB2、SYBASE、ACCESS、FOXPRO等等。也就是說,用這些關系數據庫管理系統軟件為某個組織開發的會計數據庫系統必須按關系數據模型來組織數據。那么,關系數據模型中的二維表與數據庫中的數據文件之間有何聯系?
            下面我們通過會計科目代碼表來介紹關系數據模型的基本概念及其與數據庫中的數據文件之間的對應關系:
           ?。?)關系、二維表、數據文件:關系數據模型中用關系來表述現實世界中能夠相互區別的要管理的數據對象集。每一個關系都有一個關系名和一組表述其特征的屬性集,人們就是通過這些屬性集區別不同的關系。如記賬憑證、會計科目、總賬都可以稱之為關系,它們都是要管理的數據對象集,都有各自的屬性集。一個關系用一張二維表表示,表名對應關系名。二維表由有限個不重復的行組成,表中的每一列不可再分。一張二維表在關系數據庫中用一個數據文件存儲。如“會計科目代碼表”在會計數據庫中用一個數據文件存儲,文件名可以用表名“會計科目代碼”,使計算機中存儲的文件內容與現實世界管理的數據對象相聯系。
           ?。?)記錄:二維表中的每一行稱為一個記錄,描述了關系中一個具體的個體,在數據文件中是一個記錄值。如表1中第一行為現金賬戶的記錄,描述了現金賬戶在會計科目代碼文件中所有屬性的取值(特征)。
            (3)屬性、列、字段:二維表中的每一列是一個屬性,描述了關系的一個特征。一個二維表的所有列構成了一個關系的屬性集,通過它可以區別不同的二維表(關系)。二維表中的每一列的數據屬于同一類型。每一列的列名對應關系的屬性名,同時對應數據文件中的字段名。如表1用6個列表示會計科目代碼的屬性,其中第三列表示屬性“科目性質”,當某條記錄取值為1時,表示是資產類科目。
           ?。?)主碼、主關鍵字:指二維表中的某個列(屬性)或某幾個列(或屬性組),它們的值能夠唯一確定表中或數據文件中的一個記錄。如表1中的“科目代碼”屬性可以作為主碼(或主關鍵字),用來唯一識別表中的每一個會計科目。
            (5)域:描述二維表中每一列屬性或數據文件的某一字段的取值類型和范圍。如表1中每一列的列名下面的括號中的內容表示該列的取值類型和范圍,其中第四列“底層明細標志”表示某個科目是不是最底層明細科目(不再有下層科目),只有兩種取值T(真)和F(假)。
            (6)關系模式:一個關系模式由一個關系名及它所有的屬性構成,它對應一個二維表的表名和表頭欄目行(列的集合),構成了一個二維表的框架,同時也是設計該二維表的數據文件結構的依據。
            至此,我們直觀地介紹了關系數據庫中的關系、二維表、數據文件之間各個概念的對應關系。由于二維表中的行與數據文件的記錄、二維表的列(屬性)與數據文件的字段之間相互對應,因此,審計人員只要掌握了會計賬務數據庫的二維表結構及表之間的關聯也就能夠分析電子賬的結構。
            例如,將會計科目代碼表轉換成關系數據庫中的數據文件結構

           3.關系數據模型的數據操作
            從數學的角度看,關系數據模型的數據操作是基于集合的操作,操作對象和操作結果都是集合。從數據處理的角度看,數據操作的對象和結果都是二維表。對二維表的操作主要有:
           ?。?)對表中的行(記錄)進行操作:指對一張表中指定范圍的記錄進行有條件的操作,操作的結果組成一張新表。例如,從“會計科目代碼表”中篩選出資產類科目組成新的“資產類科目代碼表”,操作的范圍是整個“會計科目代碼表”,條件是“科目性質等于1”。對表中的行進行操作后的結果表的結構與原表相同,記錄數小于或等于原表。
           ?。?)對表中的列(屬性)進行操作:指對一張表中指定的列進行有條件的操作,操作的結果組成一張新表。例如,從“會計科目代碼表”中選出“科目代碼”、“科目名稱”兩列,組成新的科目代碼對應表,新表只有“科目代碼”和“科目名稱”兩列。顯然,列操作后的結果表的結構與原表不同,結果表小于或等于原表。
           ?。?)連接:對兩張表或多張表進行有條件的連接操作,生成一張新表。連接操作后的結果表大于等于操作前的表。
            從應用的角度看,對二維表中的數據操作功能主要包括更新(增加、修改、刪除)數據和檢索(查詢)數據,即對二維表填入和修改數據,并從表中檢索出數據進行加工應用。
            4.關系數據模型的數據完整性規則
            數據完整性是指數據庫中存儲的數據是有意義的或正確的。關系數據模型中的數據完整性規則是指對二維表的定義和操作過程中要遵循的某些約束條件。主要包括:
           ?。?)實體完整性:指每張表都必須有主碼,而且表中不允許存在無主碼值的記錄和主碼值相同的記錄。如表1中的每一個記錄都必須有科目代碼,并且不能有相同科目代碼的記錄和無科目代碼的記錄。
           ?。?)參照完整性:指一張表的某列的取值受另一張表的某列的取值范圍約束,描述了多張表之間的關聯關系。例如,記賬憑證表中的“科目代碼”列的取值受到會計科目代碼表的“科目代碼”取值范圍的限定。
           ?。?)用戶定義完整性。指針對某一具體應用定義的數據庫約束條件,反映某一具體應用所涉及的數據必須滿足應用語義的要求。即限制屬性的取值類型及范圍,防止屬性的值與應用語義矛盾。如表1中,“科目性質”的取值只能是1(資產)、2(負債)、3(權益)、4(成本)、5(損益)。
            5.從關系數據模型得到的啟示
            (1)基于關系數據模型的會計賬務數據庫是以二維表為基本部件構建的,數據庫中的每一個數據文件對應一張二維表,數據文件之間的關聯也可以用二維表之間的關聯來表示,對二維表的定義和數據操作必須滿足數據完整性約束條件。構建一個會計賬務數據庫首先要將會計賬務管理的對象,如會計科目、記賬憑證、日記賬、明細賬、總賬及它們之間的關系抽象成二維表的形式,弄清了它們的二維表結構也就弄清了它們的數據文件結構,即電子賬結構。因此,會計賬務數據庫結構設計可以轉變成會計賬務數據的二維表及二維表之間的關聯設計,而一張二維表的表頭欄目(屬性集)反映了表的結構特征,是設計數據文件結構的依據。
            (2)依據關系數據模型研發的關系數據庫管理系統是開發和管理會計數據庫系統的工具軟件,也是支持所開發的會計數據庫系統運行的平臺,任何一個會計賬務數據庫都必須在某一個關系數據庫管理系統的在線管理下運行。由于不同的數據庫軟件公司提供的關系數據庫管理系統軟件的各個版本的功能強弱、所適應的計算機系統的運行環境(單機、網絡等)、所提供的對表的操作命令等都有所不同,因此,審計人員要審查電子賬,首先要了解被審單位的電子賬的數據庫管理系統軟件的名稱(例如是SQL SERVER或ORACLE)、版本(單機、網絡,第幾版)、打開數據庫(表)以及對表操作的命令格式和命令等。盡管各種關系數據庫管理系統軟件版本有差異,但通過以上對關系數據模型的操作可以了解到:表的主要操作類型和功能基本一致。審計人員僅需要掌握最基本的打開、檢索、匯總數據庫(表)等操作命令就能進行審查會計賬務數據庫的基本工作,并非深不可測。

          posted on 2014-06-25 15:54 順其自然EVO 閱讀(174) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 嘉祥县| 佛山市| 呼伦贝尔市| 兴国县| 唐河县| 绥化市| 定西市| 缙云县| 岳普湖县| 广汉市| 财经| 满洲里市| 微博| 宽甸| 朝阳区| 崇文区| 临洮县| 和政县| 衡阳市| 泾川县| 荔波县| 綦江县| 重庆市| 海南省| 郯城县| 镶黄旗| 武威市| 云阳县| 沽源县| 普宁市| 东港市| 丹棱县| 永清县| 日照市| 延川县| 容城县| 上高县| 兖州市| 沁阳市| 富民县| 瓮安县|