11

スター スキーマの設計をどこから始めるべきか混乱しています。

たとえば、次のようにデータベースにテーブルがあります。

Branch(branchNo, bStreetAddress, bCity)
LoanManager(empNo, empName, phone, branchNo)
Customer(custNo, custName, profession, streetAddress, city, state)
Account(accNo, accType, balance, accDate, custNo)
LoanContract(contractNo, loanType, amount, loanDate, empNo, custNo)

次のような負荷を分析するためのデータ ウェアハウスを設計したいと考えています。

  1. 2008年の融資総額。
  2. 貸付契約数が10以上の貸付の種類については、貸付の種類及び契約数

スター スキーマを作成する場合、どこから始めればよいですか?

私の理解では、すべてのスタースキーマには中心が必要であり、中心のファクトテーブルには「メジャー」と「他のファクトテーブルとの関係」が含まれています。

では、スタースキーマを設計するときは、必ず中心から始めて、まず対策を確認するということでしょうか。次に、別のファクト テーブルとの適切な関係を選択しますか?

しかし、まだ別の質問があります。対策として何を選択する必要がありますか? 尺度を選択するとき、どのような質問を自問する必要がありますか?

4

1 に答える 1

9

スター スキーマの設計は、常にクライアントのビジネス ニーズによって決まります。質問は何ですか?回答はどの程度細かくする必要がありますか?

あなたの例では、興味深い質問は、「支店または LoanManager ごとの契約数」または「支店または LoanManager ごとの管理されたローンの合計」です。この場合、BranchandLoanManagerはあなたのディメンションになり、 Count(LoanContract)andSum(LoanContract.amount)はあなたのメジャーになります。一般的な追加の次元は時間で、通常はweekまたはquarterです。

これらの質問に答えるスキーマは次のようになります。

DimBranch ( branchNo )
DimLoanManager ( empNo )
DimQuarter ( year, qNo )  -- qNo in (1,2,3,4)
DimWeek ( year, weekNo )  -- weekNo in (0..53), depending on business rules

Measures ( branchNo, empNo, year, qNo, weekNo, numContracts, sumLoans )

質問ですでに提起したビジネス上の質問の場合、ディメンションとメジャーは次のようになります。

  1. 寸法: year、メジャー:Sum(LoanContract.amount)
  2. 寸法: loanType、メジャー:Count(LoanContract)

これら 2 つを同じスター スキーマに配置しても、ディメンションもメジャーも共有しないため、あまり意味がありません。

于 2009-06-02T07:38:25.840 に答える