Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to Normalize?
Message
From
19/02/2002 08:25:26
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Miscellaneous
Thread ID:
00620634
Message ID:
00621835
Views:
10
>Pete,
>
>Let me start by aiming you at fox.wikis.com where you can search on Normalization and get information in great detail about the normalization process.
>
>That said ...
>
>How far can/should I go in evaluation?
>
>You should bring your data design to the highest normal form that applies, always. There are some situations where you may choose to back off from fully normalized after you have reached, but you should always reach fully normalized. When you read about the normal forms you will discover that there are 6 of them 1st, 2nd, 3rd, Boyce-Codd, 4th, and 5th. 3rd normal fomr applies to all tables, the last three only apply in certain circumstances.
>
>Is there a way of determining whether a table has been normalized enough/too much?
>
>Normalization is process for optimizing a data design for data entry and updating. When optimize for entry and updating you will often be De-optimizing for retrieval and reporting. You need to balance the design so your application performs well. What that entails is fully dependent on the application and its business domain.
>
>Should the tables be related?
>
>This is the root of a relational databse, that is the data is spread into a number of related tables rather than one monolithic flat file.
>
>Can relationships be changed on the fly?
>
>Yes, this is very common. For example in a reatil sales system you might have a data design like this;
>
>
>Customers ---> Invoices ---> Invoice Line Items ---> Inventory
>
>
>This design fully describes the invoices and how the data is stored. However your system may be asked to list Inventory items and which customers bought them in order by Inventory item. In order to do this you would need to see the data this way ...
>
>
>Inventory ---> Invoice Line Items ---> Invoices ---> Customers
>
>
>It is the very nature of a relational database that allows you to look at the data either way. IN a flat file you would never be able to easily flip the relationships to see the data the other way.
>
>What about updating the tables with new data?
>
>It is updating existing data and inserting new data that normalization optimizes. It does this by providing one and only one place for each data element.
>
>Is splitting a table the same as normalizing?
>
>Normalization will split the field of a table into more than one table, however simply splitting a table is not, necessarily, normalizing.

Outstanding Jim.

Thank you very much for the answers. This is exactly the kind of info I was looking for. Your time and patience is appreciated.

Pete
Peter Adams
FoxPro Programmer
Compu-Mail

Heisenberg was probably right...
Previous
Reply
Map
View

Click here to load this message in the networking platform