2009-06-02 72 views
10

Tôi nhầm lẫn nơi tôi nên bắt đầu thiết kế lược đồ hình sao.Cách thiết kế lược đồ hình sao

ví dụ Tôi có bảng trong cơ sở dữ liệu như sau:

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) 

Tôi muốn thiết kế một dữ liệu kho để phân tích tải như:

  1. Các tổng số tiền cho vay bằng 2008.
  2. Đối với loại khoản vay có trên 10 hợp đồng cho vay, loại khoản vay và số lượng hợp đồng

khi tạo lược đồ hình sao, tôi nên bắt đầu từ đâu? Đối với những gì tôi hiểu, tất cả các lược đồ sao phải có một trung tâm, và bảng thực tế trung tâm, chứa "Các biện pháp" và "Quan hệ với các bảng thực tế khác".

Vì vậy, khi thiết kế lược đồ sao, chúng tôi luôn bắt đầu từ trung tâm, xác nhận biện pháp đầu tiên là gì? và sau đó chọn mối quan hệ thích hợp với một bảng thực tế khác?

Nhưng tôi vẫn còn một câu hỏi khác, chúng ta nên chọn biện pháp gì? Khi chọn các biện pháp, tôi nên tự hỏi mình câu hỏi nào?

Trả lời

8

Thiết kế sơ đồ hình sao luôn được thúc đẩy bởi nhu cầu kinh doanh của khách hàng của khách hàng. Các câu hỏi được hỏi là gì? Làm thế nào hạt mịn nên câu trả lời được?

Trong ví dụ này, các câu hỏi thú vị có thể là "Số lượng hợp đồng theo chi nhánh hoặc LoanManager" hoặc "Tổng khoản cho vay được quản lý bởi Chi nhánh hoặc LoanManager". Trong trường hợp này, BranchLoanManager sẽ trở thành kích thước trong khi Count(LoanContract)Sum(LoanContract.amount) sẽ là các biện pháp của bạn. Thứ nguyên bổ sung chung là thời gian, thường là week hoặc quarter.

Giản đồ cho việc trả lời những câu hỏi có thể trông như thế này:

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) 

Đối với những câu hỏi kinh doanh mà bạn đã đặt ra trong câu hỏi của bạn, kích thước và các biện pháp sẽ được như vậy:

  1. chiều: year , đo lường: Sum(LoanContract.amount)
  2. kích thước: loanType, đo lường: Count(LoanContract)

Việc đưa hai khái niệm đó vào cùng một lược đồ hình sao không có ý nghĩa nhiều vì chúng không chia sẻ thứ nguyên hoặc số đo.

Các vấn đề liên quan