日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BIEE建模参考规范

發(fā)布時(shí)間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BIEE建模参考规范 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
BIEE建模參考規(guī)范

注:本文基于網(wǎng)上盛傳的“BIEE建模黃金法則”,并做了更為細(xì)致的講解,以及修改。

物理層

1、??在可能的情況下,配置你的連接池使用本地驅(qū)動(dòng)來連接物理數(shù)據(jù)庫。例如,使用OCI而不是ODBC來連接Oracle數(shù)據(jù)庫

2、??當(dāng)數(shù)據(jù)模型是星型時(shí),為物理表建別名(以Dim_,Fact_作為前綴),并根據(jù)需要添加描述性后綴。

例如:在數(shù)據(jù)倉庫中,我們有一張W_STATUS_D字典表用于存儲(chǔ)各種事務(wù)狀態(tài)(活動(dòng)狀態(tài)、合同狀態(tài)、客戶狀態(tài)),那我們應(yīng)該為不同的狀態(tài)類別創(chuàng)建相應(yīng)的別名表,如:

Dim_W_STATUS_D_Activity_Status

Dim_W_STATUS_D_Contact_Status

Dim_W_STATUS_D_Customer_Status

?

描述名稱部分應(yīng)該按每個(gè)單詞首字母大寫的方式(如果是英文名稱)

?

Tips:為什么要這樣做?這樣看起來更為復(fù)雜,但是實(shí)際上會(huì)使邏輯更為清晰,通過在邏輯層對不同的表添加不同的過濾條件,使得最終每張邏輯表只包含所對應(yīng)的狀態(tài)值,那我們在Answer中使用的時(shí)候就不必進(jìn)行過濾了。

?

另外,通過建立別名,我們可以避免在物理層出現(xiàn)環(huán)狀連接關(guān)系;更為重要的是,我們可以通過建立別名來實(shí)現(xiàn)角色扮演維!

?

3、??盡量避免視圖的使用,視圖有可能會(huì)帶來性能問題。(除非你非常熟悉視圖合并的原理)

4、??為初始化塊建立單獨(dú)的連接池,而不要使用第一個(gè)連接池(從上到下)。因?yàn)椴樵兪褂玫氖堑谝粋€(gè)連接池,當(dāng)已有查詢用盡了連接池的所有連接時(shí),如果此時(shí)新用戶登錄需要初始化會(huì)話變量,就會(huì)因?yàn)闆]有可用的連接而等待,進(jìn)而造成用戶登錄緩慢。(這也是為什么BIEE 11g默認(rèn)情況下不能將第一個(gè)連接池用于初始化塊的原因,這不是最佳實(shí)踐!)

?

邏輯層

1、命名規(guī)范

方案一:所有的邏輯表都應(yīng)該以Dim -,Fact –開頭,中間跟業(yè)務(wù)主題或者模塊名(可選),最后是表名,例如:

Fact - CRM – Revenue

Fact - HR – Payroll

Dim – Agreement

?

方案二:所有的邏輯表以F+編號(hào),D+編號(hào)為前綴,然后空一格跟表描述;另外維度以H+編號(hào)為前綴,然后空一格跟維度描述;例如:

F0 Sales Base Measures

D0 Time

H1 Products

此種方案主要是為了控制表的排列順序

?

另外,所有的描述名稱部分應(yīng)該按每個(gè)單詞首字母大寫加空格分隔的方式(如果是英文名稱)

?

2、所有的物理層的列名稱都不應(yīng)該出現(xiàn)在邏輯層。邏輯的命名必須是“面向業(yè)務(wù)”的。例如使用Revenue而不是DOLLARS,同樣應(yīng)該遵循每個(gè)單詞首字母大寫加空格分隔的方式

下面給出一些常見的命名方式:

關(guān)于數(shù)量的:?# of Assets (一般其聚合規(guī)則為count或者?count distinct的)

百分比的:?% Contacted

時(shí)間序列的:Quarter Ago Average Order Size

另外,同一張事實(shí)表中的指標(biāo)應(yīng)該按類別進(jìn)行排列,并添加分隔符(添加邏輯字段,修改其名稱),如下圖所示:

?

還可以通過設(shè)置不同的圖標(biāo)來標(biāo)識(shí)不同類別指標(biāo),如下圖所示:

計(jì)算器圖標(biāo)的是派生指標(biāo)、其它的是普通指標(biāo)。

?

3、物理主鍵和代理鍵不應(yīng)該出現(xiàn)在業(yè)務(wù)模型層。

4、維度邏輯表必須要指定邏輯鍵。這個(gè)邏輯健應(yīng)該是面向業(yè)務(wù)的,比如應(yīng)該是“Employee Login”而不是“EMPLOYEE_PK”。

5、維度邏輯表必須僅僅包含維度屬性,他們永遠(yuǎn)不應(yīng)該包含任何度量列(有聚合規(guī)則)

Tips:如果需要在維度上做計(jì)算,如“天數(shù)”,則應(yīng)將該維表為LTS建立事實(shí)表,比較常見的就是“時(shí)間事實(shí)表”

5、??事實(shí)邏輯表不應(yīng)該指定邏輯鍵。

6、??在事實(shí)邏輯表中,每一列都是度量列,同時(shí)要指定聚合規(guī)則。

Tips:對應(yīng)事實(shí)表上的屬性字段,比如退化維,則應(yīng)該以該事實(shí)表為LTS建立相應(yīng)的邏輯維表

7、業(yè)務(wù)模型應(yīng)該僅包含邏輯星型,不應(yīng)該是雪花型。

注意:這里說的是邏輯星型,物理上有可能是雪花型。通過設(shè)置多LTS我們總能把雪花轉(zhuǎn)換為邏輯星型

7、??每一個(gè)維度邏輯表都應(yīng)該有對應(yīng)的維度層次。

8、??每一個(gè)維度層級(jí)都設(shè)置適當(dāng)?shù)脑貍€(gè)數(shù)。一般要指定子層級(jí)的要比父層級(jí)的元素個(gè)數(shù)多。

注意:元素個(gè)數(shù)不需要精確,只要比例合適即可。另外可以使用“估計(jì)級(jí)別”功能自動(dòng)來填寫該值。

9、不要將所有度量合并到單獨(dú)的一個(gè)事實(shí)邏輯表。例如,你應(yīng)該將“Forecast Sales”和“Actual Sales”度量放到兩個(gè)邏輯表中---“Fact_Sales”和“Fact_Forecast”

?

?

展現(xiàn)層

1、??主題應(yīng)該按照業(yè)務(wù)進(jìn)行劃分,比如銷售、采購、庫存

2、??當(dāng)你有多個(gè)主題區(qū)域時(shí),在每個(gè)主題區(qū)域以相同的順序列出這些公用的維度

3、??展示層的表的名字不要以Dim或Fact開頭了。如果主題區(qū)域中的表是直接從邏輯層拖過來的話,要移除該前綴。

4、??時(shí)間維度表列在每一個(gè)主題區(qū)域的第一個(gè)位置。包含事實(shí)的展現(xiàn)層表應(yīng)該列在底部,同時(shí)展現(xiàn)表應(yīng)該被稱作Facts,并可以根據(jù)需要?jiǎng)澐殖刹煌悇e的事實(shí),如Base Facts、Calculated Facts,然后做成層結(jié)構(gòu)。如下圖所示:

?

?

?

4、絕不應(yīng)該出現(xiàn)用戶從主題區(qū)域中選取的對象沒有邏輯關(guān)聯(lián)。如果有任何從同一主題區(qū)域中選擇的對象無法共存,那么一定是你的主題區(qū)域設(shè)計(jì)不正確。

轉(zhuǎn)載于:https://www.cnblogs.com/tdskee/p/6093354.html

總結(jié)

以上是生活随笔為你收集整理的BIEE建模参考规范的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。