狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

SQL數據庫中的各種類型表

admin
2024年3月15日 15:15 本文熱度 686

      作為一名數據分析師,我們在數據庫進行數據分析查詢的時候,會有挺多不同的表結構,有寬表、窄表、全量表、增量表、快照表、流水表等等,那具體是什么意思,接下來我們逐一進行介紹。

一、寬表與窄表

     寬表,顧名思義,就是字段列比較多的 數據庫表,長的有上百列、幾百列字段,短的也會至少有幾十個字段,它是把不同數據庫表、不同維度、屬性關聯的字段放在統一歸到一張大表里面存儲,這種類型的表的好處是信息較為全面和完整,這也意味著有提供更多的業務價值,便捷數據分析人員查詢,提高查詢性能,那寬表既然說的有這么好,那是不是數據庫都要去設計成寬表呢?答案是否定的,寬表也會有不好的地方,首先它接入較多維度的數據,會造成數據維度更細,數據列有大量重復數據,占用較多的存儲空間。此外如果業務需求稍微有變化,那就需要重新設計另外一張新的寬表,造成寬表的復用度降低且靈活性也就變得較差,后續系統的開發效率也較低。如果只考慮數據僅僅是滿足業務目標服務,就缺少了對過程的思考與建設,也就是陷入到比較極端的開發狀態中,所以要盡量以最低的開發成本滿足多樣的業務需求,所以寬表也是把雙刃劍

     比如物流倉儲的全鏈路報表,從店鋪訂單生成、倉庫生產波次響應、出庫單生成、打單、復核、包裝、出庫、退貨等環節數據。快遞全鏈路報表,從電商平臺下單、流轉、攬收、交件、轉運、分發、簽收、退改等操作掃描節點以及對應維度明細數據全部囊括。

      窄表就是單獨存儲某一類型的字段表,就拿物流倉儲報表舉例,比如有商品基本信息表,包含商品編碼、商品名稱、商品的長、高、寬、體積、重量等等,還有倉儲SKU表,存儲了包括SKU_ID號、商品的類型、商品的款式、商品的顏色等字段,還有出庫單表,存儲了包括平臺訂單號,付款時間,出庫單類型,店鋪名稱,店鋪編碼,出庫單號, 運單號, 出庫時間, 倉庫編碼,出庫件數,是否預售等等字段。

二、全量表與增量表


     全量表顧名思義就是存儲了全部數據的表,但它是記錄更新周期內的全量數據,無論數據是否有變化都需要記錄。所有全量表有這么些特征,它是存儲當前最新狀態的全部數據,無論是變化的或沒有變化的;其次它是沒有分區的,所有數據都存儲在一個分區中,每次往全量表里寫的數據都會覆蓋原來的數據,所以全量表他是不記錄歷史數據的,只有截止到當前最新的、全量的數據。如下示例,假設001、002用戶分別在1.12、1.13號生成了2個訂單取消動作,在1.13號新增了003用戶生成的新訂單和1.13號001用戶又重新下了單并完成支付。

User_id
  Create_time
   Order_id
  Status
 Update_time
   001
   2024-01-12
 342876589
   取消
  2024-01-12
   002
   2024-01-13
 457865421
   取消
  2024-01-12


User_id
  Create_time
   Order_id
  Status
 Update_time
   001
   2024-01-12
 342876589
   完成
  2024-01-13
   002
   2024-01-13
 457865421
   取消
  2024-01-12
   003
  2024-01-14 342576891
   完成
 2024-01-13


    增量表就是記錄更新周期內的新增數據,即在原表中數據的基礎上新增本周期內產生的新數據,沒變化的數據不會被記錄,它有這么些特征,記錄每次增加的量,而不是總量,增量表是每次把新增的數據追加到原表中,存在分區,增量表中每次新增的數據每次單獨存儲在一個分區中,歷史分區中產生的數據記錄不發生變化。如下示例,假設用戶001在1.12號取消了個訂單,然后在1.13號的時候又新增了個訂單id, 所以存儲在1.13號的分區中,歷史的1.12的數據是不發生變化的。

     增量表中的分區時間是T日,實際代表第T日,快照表中時間分區T日,實際代表第T+1日,比如快照表中2.13號分區和2.12號分區實際分別對應2.14號和2.13號,它倆的數據相減就是實際時間2.13號到2.14號之間變化、增減的數據,也就是增量表里面2.13號分區的數據。

  User_id
  Create_time
   Order_id
    Status
 Update_time
     001
   2024-01-12
 342876589
     取消
  2024-01-12


  User_id
  Create_time
   Order_id
    Status
 Update_time
     001
   2024-01-12
 342876589
     取消
  2024-01-12
     002
   2024-01-13
 457865421
     取消
  2024-01-13


三、快照表、流水表和拉鏈表


      快照表,可以你把想象成一個照相機,比如每年除夕全家人在那個時點拍個全家福,你每年那個時點拍一張,各年時點拍照匯集成的圖片成為一個"年度照片集", 如1992年拍了一張,那這一年的快照就是保存了這一張,到了1993年除夕又拍了一張全家福照片,同時這一天又對1992的全家福照片做了圖片顏色處理,那就新增了一張照片,那么對應到1993年的快照就有了3張全家福照片。那對應到數據庫也是一樣,它也是截取過去某個時間的數據,一般是以天為一個時點,每個快照的數據單獨存儲在一個分區中,比如庫存快照表就是這樣,每天的0點過后,自動生成包括昨天在內的歷史所有店鋪對應倉庫所待售的庫存數據??煺毡淼牡湫吞卣魇?/span>按照時間分區進行數據存儲,并存儲過去歷史到現在的分區數據。

      流水表,它是對于表的每一個修改都會被記錄,可以用于反映實際記錄的變更,它的典型特征是存儲了所有修改記錄的表,它與拉鏈表也有類似,不同的拉鏈表可以根據拉鏈粒度存儲數據,也就是存儲特定維度的數據變化記錄,而流水表存儲的是每一個修改記錄

     拉鏈表,是一種維護歷史狀態以及歷史最新數據的表,記錄從開始到現在的一張表, 它包含過去和現在的記錄,一般通過增加start_date開始日期、end_date結束日期或vld_tm生效日期、ivld_tm失效日期。比如倉庫基礎信息表,存儲物流倉庫的名稱、編碼、面積、省份、城市、具體地理位置、倉庫負責人、開始運營時間、結束運營時間。比如快遞里面的機構表,可以儲存機構編碼、機構上級編碼、機構所屬省份、機構所屬市、機構所屬區縣、機構類別、主分撥中心、生效時間、失效時間、修改日期等。如下列的倉庫基礎信息拉鏈表,蘇州吳江倉在2021年1月3日開始運營,在2023年12月31日可能因為搬遷、改造等原因結束運營,之后在2024年1月1日又重新開始運作,則在新增數據庫表中添加新記錄,那拉鏈表對歷史的記錄也會有更新,同時保留歷史記錄,對應的也新增維護一條記錄。

  id
name
prov
city
area
add
emp
start_date
end_date
001

蘇州

吳江

江蘇
蘇州
40000立方
....
張明
2021-01-03
2023-12-31
002

蘇州

永鼎

江蘇
蘇州
45000立方....
海波
2021-01-069999-12-31
003

河北

廊坊

河北
廊坊34000立方....章正
2021-01-039999-12-31
004

蘇州

吳江

江蘇
蘇州
40000立方
....
樊東
2024-01-019999-12-31



四、臨時表與切片表

     我們在查詢復雜數據需求的時候,編寫Sql腳本的時候,需要用到嵌套關聯多張表取數,很多表需要建立中間表,也就是臨時虛擬表,一般通過With as來建立臨時表,建立臨時表的這部分查詢在同一個程序中只執行一次,并將查詢結果存儲在用戶的臨時空間中,可以被多次使用,直到整個程序結束。

withas (select * from com.emp),as (select * from com.dept)select * from a, b where a.depno = b.depno;

      切片表的話是一種數據表結構,他是根據基礎表的某一維度進行劃分的數據表,主要作用就是對數據進行分組、篩選、切片等操作,跟Excel表數據透視模塊的切片表類似,比如根據時間維度創建切片表,汽車銷售數據那會根據不同的時間段,如日或周維度進行切分,某電商平臺將一天24小時按1小時或更小維度分鐘來進行切分,對應行的交易流水數據;還有根據訂單來源進行切片,如根據淘寶、拼多多、抖音、快手、得物、唯品會、京東等平臺渠道來進行切分。


 五、事實表與維度表

       在數據倉庫中,維度表是一類與事實表相關的表格,主要用于對事實表中的數據進行統計、分析和報表生成。在數倉中,維度表用于描述事實表中的各個維度的屬性信息。通常使用維度對事實表中的數據進行統計、聚合計算。如訂單狀態下,維度表主要包括了從支付、發貨、交付和評價等多種狀態,如倉庫操作動作節點下,包括收貨入庫、核驗、上架、揀選、移庫、復核、出庫等掃描類型,維度表是對具體數字代碼的信息描述及狀態碼。

掃描類型

掃描代碼

訂單狀態

編碼

入庫

001

未支付

1

核驗

002

  已支付

2

上架

003

 待收貨

3

揀選

004

 已發貨

4

移庫

005

 已完成

5

復核

006

 已取消

6

出庫

007

 待評價

7



  已評價

8


  SKU類型
    編碼
     書單分類
  代碼
      服飾
     01
     計算機
    1
       鞋     02
     個人成長
    2
      配件
     03
      文學
    3
      帽子
     04      歷史
    4
      背包
     05
     人物傳記    5
       ...
       ....
     醫學健康
    6


     社會文化
    7


      在事實表是存儲與業務對象相關的數據的主表,根據數據的生命周期和特點,數據倉庫中的事實表可以分為不同類型,也稱周期快照事實表、累積快照事實表,主要用于記錄與業務對象相關的事務性數據,如電商平臺交易流水、出入庫數據等,記錄某個時間段內的業務數據度量和狀態度量的變化。周期性通常以年、月、周、日等為單位進行統計,與周期快照事實表不同,累積快照事實表沒有確定的周期,而是針對一個業務對象完全覆蓋一個事實的生命周期進行記錄,如快運運單的不同操作時點的數據記錄。


該文章在 2024/3/15 15:15:45 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved