Hi Fabio, Derek
Let's try to simplify. I think that this will already give an understanding of what Derek wrote.
An excerpt from the book "Ben Forta - Sams Teach Yourself SQL in 10 Minutes".
The best way to understand relational tables is to look at a real-world example.
Suppose you had a database table containing a product catalog, with each catalog item in its own row. The kind of information you would store with each item would include a product description and price, along with vendor information about the company that creates the product.
Now suppose that you had multiple catalog items created by the same vendor. Where would you store the vendor information (things like vendor name, address, and contact information)? You wouldn’t want to store that data along with the products for several reasons:
• Because the vendor information is the same for each product that vendor produces, repeating the information for each product is a waste of time and storage space.
• If vendor information changes (for example, if the vendor moves or his area code changes), you would need to update every occurrence of the vendor information.
• When data is repeated, (that is, the vendor information is used with each product), there is a high likelihood that the data will not be entered exactly the same way each time. Inconsistent data is extremely difficult to use in reporting.
The key here is that having multiple occurrences of the same data is never a good thing, and that principle is the basis for relational database design. Relational tables are designed so that information is split into multiple tables, one for each data type.
The tables are related to each other through common values (and thus the relational in relational design).
In our example, you can create two tables, one for vendor information and one for product information. The Vendors table contains all the vendor information, one table row per vendor, along with a unique identifier for each vendor. This value, called a primary key , can be a vendor ID, or any other unique value.
The Products table stores only product information, and no vendor specific information other than the vendor ID (the Vendors table’s primary key). This key relates the Vendors table to the Products table, and using this vendor ID enables you to use the Vendors table to find the details about the appropriate vendor.
What does this do for you? Well, consider the following:
• Vendor information is never repeated, and so time and space are not wasted.
• If vendor information changes, you can update a single record, the one in the Vendors table. Data in related tables does not change.
• As no data is repeated, the data used is obviously consistent, making data reporting and manipulation much simpler.