Natural vs. Surrogate Keys: Making Informed Choices for Database Design