what is important when designing a database