常用數據庫設計(5)————業務匹配表設計


1 概述

在應用系統中經常會有這樣的一個業務需求:對於一個動態的基礎信息表,需要標識其中一個或多個記錄。比如:

  • 賬務系統中的成本科目,成本科目是動態添加,但我們在計算某些成本時要去掉固定資產成本類型。
  • 對於單位基本信息的維護,單位也是可以動態添加的,但我們的貨物要有一個基礎單位(公噸),並有默認有一個轉換為立方米的設置。

即我們需要知道固定資產在成本表中是哪一條記錄,公噸在單位表中是哪一條記錄,立方米在單位表中是一條記錄。誠然對於這些需求,我們可以在原表上加一些標識字段就可以解決。但這樣為了一些特殊的需求打亂了原有的設計,要修改原有的代碼。

2 解決方案

為了解決這種基礎信息特殊設置的情況,我們創建了一張匹配表,結構如下:

說明:

  • ObjType 和ObjName是主鍵;
  • ObjType存儲的是匹配類型,如指代是成本類型的匹配,還是單位信息的匹配;
  • ObjName存儲的是對應實體的名稱,如在基礎單位匹配時,ObjName即為MetricTonne;

實例數據:

此時想要獲得基礎單位公噸時,即

SELECT *
FROM Match AS M
    INNER JOIN UOM AS U ON M.ObjID=U.UomID
WHERE M.ObjType=’UOM’ AND M.ObjName=’MetricTonne’

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM