“A hotel booking snowflake schema: FactStay linked to Date, Guest, and Room; normalize Guest through Country and Room through Room Type to Property.”
Entenda as decisões por trás dele.
Store one row per guest stay.
Keep country outside the guest row.
Separate room, type and property.
Use this for occupancy and revenue reporting across multiple properties.
Dúvidas comuns
What is the fact table grain?
Each FactStay row represents one guest stay.
Why separate room type from room?
Many rooms can share a type, such as deluxe king.
Can this support property reporting?
Yes. Room Type links to Property for property-level rollups.