Okay, I have a shopping cart order system using PHP/MySQL...
The first (main) table is as follows:
invoiceID | orderID | addressID
The next two tables, "orders" and "addresses", will be joined to the main table using one of two methods...
METHOD 1
Table "orders"
orderID | order_info1 | order_info2 | etc.
Table "addresses"
orderID | address_info1 | address_info2 | etc.
METHOD 2
Table "orders"
orderID | order_info1 | order_info2 | etc.
Table "addresses"
addressID | address_info1 | address_info2 | etc.
Obviously, if using Method 1, there is no need for the first (main) table. Currently I am planning on using Method 2, where each bit of information is inserted into its respective table, then the auto_incremented ID is returned and inserted into the proper place in the first (main) table.
I am just curious if Method 1 may be better and result in less fragmented data if an insert into all tables is not successful, despite the fact that it is less normalized.
Keep in mind MySQL has no ROLLBACK capabilities for instances where an insert into a table may fail, which is the only reason I am doubting Method 2.