summaryrefslogtreecommitdiff
path: root/assignments/3/question-1-star-schema.puml
blob: 31165d356dcbb2c7fe0b47804d0abaadb75c8fda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
@startuml
!define Table(name,desc) class name as "desc" << (T,#FFAAAA) >>
!define primary_key(x) <b>x</b>
!define foreign_key(x) <color:purple>x</color>
hide methods
hide stereotypes

' entities
Table(facts, "FactTable") {
  foreign_key(member_ID)
  foreign_key(Item_ID)
  foreign_key(Office_ID)
  foreign_key(Policy_ID)
  foreign_key(Period_ID)
  foreign_key(Claim_ID)
  Policy_Premium
  Deductible
  Monthly_Claim_Total
}

Table(members, "Member") {
  primary_key(member_ID)
  Name
  Address
}

Table(insured_items, "InsuredItem") {
  primary_key(Item_ID)
  Description
  Address
  CoverageType
}

Table(coop_offices, "CoopOffice") {
  primary_key(Office_ID)
  Address
  Manager_name
}

Table(policies, "Policy") {
  primary_key(Policy_ID)
  Type
}

Table(periods, "Period") {
  primary_key(Period_ID)
  Date_Key
  Fiscal_Period
}

Table(claims, "Claim") {
  primary_key(Claim_ID)
  Claim_Description
  Claim_Type
}

members --> facts : "belongs to"
insured_items --> facts : "belongs to"
coop_offices --> facts : "belongs to"
policies --> facts : "belongs to"
periods --> facts : "belongs to"
claims --> facts : "belongs to"
@enduml