Theoretically Sound Transformations for Practical Database Design