事實表和維表關係
本篇文章是根據自己的實戰,參考網上一些文章寫的,可能有相通的話語,請原諒,若有寫的不對的地方,希望指正。
以人才監測專案為例:人才+企業=人才專案,目前專案需求中個人隸屬於一個公司,同一個人才專案可同時申報市級別的、省級別的或其他專案,因此人才與專案的關係是一對多,人才和企業的關係的一對一。目前拿到的企業運營的資料是近5年的運營資料(收入、繳稅)。要求從個人的年齡段、國籍、性別等角度分析各個批次的入選人數(一般以半年作為一個批次);從企業所屬園區、創業方式、所屬行業分析各個批次的入選人數;篩選出累計收入大於1000w,或繳稅超多100w的各批次入選人數。
根據需求,在設計事實表和維表如下:
1)個人基礎資訊DIM_RCGRXXB,以個人關聯ID作為主鍵
2)企業基礎資訊DIM_RCQYXXB,以個人關聯ID作為主鍵
3)專案申報資訊FACT_XMSB,以個人關聯ID和申報層次(屬於市級別、省級別、國家級別)作為主鍵。每個入選專案的申請資訊都會錄入到這張表中,可能出現除了申報層次、申報年度、申報批次不同,但是其他資訊都一樣的資料。
4)企業運營資訊FACT_QYYUNYNG,以個人關聯ID和申報層次作為主鍵。同一個企業根據運營年份有不同的資料條數。ps:為了個人和申報的資訊相關聯,在源有資料的基礎上增加了層次這個欄位,知道會造成資料冗餘,但是想不到其他方法了。
1.一對一關係
目前是遇到的就是後臺資料庫中事實表和維表其實是同一張表,針對FACT_XMSB,因為已經將個人資訊(使用者ID、年齡段、性別、學科領域、國籍、籍貫等資訊)、企業資訊(創業方式、所屬行業、所屬園區等)單獨做了維表,這裡將專案申報時除了個人資訊、企業資訊外,涉及到的專案申報的相關資訊,如申報年度、申報層次、申報批次資訊做一張維表。直接用FACT_XMSB這張事實表做維表,命名為DIM_XMSB,將人才關聯ID和申報層次作為主鍵,申報年度、申報層次、申報批次作為維度成員。FACT_XMSB和DIM_XMSB的關係就是一對一的關係。
2.多對一關係
事實表和維表關聯,事實表中的多條記錄ID對應
以人才監測專案為例:人才+企業=人才專案,目前專案需求中個人隸屬於一個公司,同一個人才專案可同時申報市級別的、省級別的或其他專案,因此人才與專案的關係是一對多,人才和企業的關係的一對一。目前拿到的企業運營的資料是近5年的運營資料(收入、繳稅)。要求從個人的年齡段、國籍、性別等角度分析各個批次的入選人數(一般以半年作為一個批次);從企業所屬園區、創業方式、所屬行業分析各個批次的入選人數;篩選出累計收入大於1000w,或繳稅超多100w的各批次入選人數。
根據需求,在設計事實表和維表如下:
1)個人基礎資訊DIM_RCGRXXB,以個人關聯ID作為主鍵
2)企業基礎資訊DIM_RCQYXXB,以個人關聯ID作為主鍵
3)專案申報資訊FACT_XMSB,以個人關聯ID和申報層次(屬於市級別、省級別、國家級別)作為主鍵。每個入選專案的申請資訊都會錄入到這張表中,可能出現除了申報層次、申報年度、申報批次不同,但是其他資訊都一樣的資料。
4)企業運營資訊FACT_QYYUNYNG,以個人關聯ID和申報層次作為主鍵。同一個企業根據運營年份有不同的資料條數。ps:為了個人和申報的資訊相關聯,在源有資料的基礎上增加了層次這個欄位,知道會造成資料冗餘,但是想不到其他方法了。
1.一對一關係
目前是遇到的就是後臺資料庫中事實表和維表其實是同一張表,針對FACT_XMSB,因為已經將個人資訊(使用者ID、年齡段、性別、學科領域、國籍、籍貫等資訊)、企業資訊(創業方式、所屬行業、所屬園區等)單獨做了維表,這裡將專案申報時除了個人資訊、企業資訊外,涉及到的專案申報的相關資訊,如申報年度、申報層次、申報批次資訊做一張維表。直接用FACT_XMSB這張事實表做維表,命名為DIM_XMSB,將人才關聯ID和申報層次作為主鍵,申報年度、申報層次、申報批次作為維度成員。FACT_XMSB和DIM_XMSB的關係就是一對一的關係。
2.多對一關係
事實表和維表關聯,事實表中的多條記錄ID對應
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28573466/viewspace-2140981/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於表空間和表的關係
- 理解維度資料倉儲——事實表、維度表、聚合表
- 資料倉儲(8)數倉事實表和維度表技術
- oracle-tom-表和段關係Oracle
- 表的關聯關係
- ORM建立表關係ORM
- Django(15)外來鍵和表關係Django
- 【資料倉儲】全量表、快照表、增量表、拉鍊表、維度表、實體表、事實表
- flink維表關聯絡列之Redis維表關聯:實時查詢Redis
- MySQL表關係的理解MySql
- 我的一個主表和一個從表是一對多關係,但是從表又與其他表有一對多等關係,
- 部門層級關係表
- AKM專案軼事之關係維繫
- Hibernate中實體類對映檔案表與表的關係模版
- 中國人親戚關係圖表
- 用英語表達因果關係
- day23-必備SQL和表關係及授權SQL
- 關於主外來鍵關係DML父表和DML子表加鎖方式
- PostgreSQL的表檔案以及TOAST表檔案對應關係SQLAST
- Oracle 查詢表與表之間的 主外來鍵關係Oracle
- mysql~GROUP_CONCAT實現關係表的行轉列MySql
- 測試表的空間壓縮與表空間的關係
- 會話與事務級臨時表和dual表會話
- Laravel 模型間關係設定分表方法Laravel模型
- 刪除表空間及所有指向關係
- ebs11.5客戶關係表部分
- dual表與create table語句的關係
- Oracle ERP系統借貸關係表Oracle
- ORACLE分割槽表梳理系列(二)- 分割槽表日常維護及注意事項Oracle
- SAP中關聯工廠和公司的對應關係的表是哪個?
- 通過遞迴實現,單表父子關係資料 或者上下級關係資料的組合遞迴
- SAP庫存表之間的邏輯關係
- Oracle查詢表的外來鍵引用關係Oracle
- 淺述Oracle使用者表空間關係Oracle
- HBase 的結構與表的對應關係
- Django中ORM外來鍵和表的關係(Django程式設計-4)DjangoORM程式設計
- MySQL Oracle 查詢快慢和表的資料量多少有沒有關係?MySqlOracle
- BSEG和BSIS、BSAS、BSID、BSAD、BSIK、BSAK六個表的關係