Logical database design helps you define and communicate your business' information requirements. When you create a logical database design, you describe each piece of information you need to track and the relationships among, or the business rules that govern, those pieces of information.
Once you create a logical database design, you can verify with users and management that the design is complete (that is, it contains all of the data that must be tracked) and accurate (that is, it reflects the correct table relationships and enforces the business rules).
Creating a logical data design is an information-gathering, iterative process. It includes the following steps:
Define the tables you need based on the information your business requires.
Determine the relationships between the tables.
Determine the contents (or columns) of each table.
Normalize the tables to at least the third normal form.
Determine the primary keys and the column domain. A domain is the set of valid values for each column. For example, the domain for the customer number can include all positive numbers.
At this point, you do not consider processing requirements, performance, or hardware constraints.