2009-06-02 5 views
10

Ich bin verwirrt, wo ich anfange, ein Sternschema zu entwerfen.Wie man ein Sternschema entwirft

zum Beispiel Ich habe Tabellen in der Datenbank wie folgt:

  1. Der Gesamtbetrag der Kredite in:

    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) 
    

    ich die Lasten wie ein Data-Warehouse Analyse gestalten wollen 2008.

  2. Für die Art von Darlehen mit mehr als 10 Darlehensverträge, die Art des Darlehens und die Anzahl der Verträge

Beim Erstellen eines Sternschemas, wo soll ich anfangen?

Für das, was ich verstehe, müssen alle Sternschemas ein Zentrum haben, und die zentrale Faktentabelle enthält "Measures" und "Relationen zu anderen Faktentabellen".

Also, ist es, dass, wenn wir das Sternschema entwerfen, wir immer von der Mitte aus beginnen, bestätigen, was sind die Maße zuerst? und dann die richtige Beziehung zu einer anderen Faktentabelle wählen?

Aber ich habe noch eine andere Frage, was sollen wir Maßnahmen wählen? Welche Frage sollte ich mir bei der Auswahl von Maßnahmen stellen?

Antwort

8

Der Entwurf eines Sternschemas wird immer durch die Geschäftsanforderungen des Kunden gesteuert. Was werden die Fragen gestellt? Wie feinkörnig sollten die Antworten sein?

In Ihrem Beispiel könnte interessante Fragen "Anzahl der Verträge von Branch oder LoanManager" oder "Managed Summe der Kredite nach Branch oder LoanManager". In diesem Fall würden Branch und LoanManager Ihre Dimensionen werden, während und Sum(LoanContract.amount) Ihre Maße wären. Eine übliche zusätzliche Dimension ist die Zeit, normalerweise week oder quarter.

Das Schema für diese Fragen beantworten könnte wie folgt aussehen:

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) 

Für das Geschäft Fragen, die Sie bereits in Ihrer Frage gestellt, würde die Abmessungen und Maßnahmen sein, wie:

  1. Dimension: year , Maß: Sum(LoanContract.amount)
  2. Maß: loanType, Maß: Count(LoanContract)

Es ist nicht sinnvoll, diese beiden Elemente in dasselbe Sternschema einzufügen, da sie weder Dimensionen noch Maße teilen.

Verwandte Themen