Relational Database Design Using Refinement Rules