What are the key differences between a star schema and a snowflake schema, and when would you choose one over the other?