I believe there are some serious flaws in this article. For example, recepts represent a historical record of a transaction occuring in a moment in time.
If one normalizes the customer as is done in this example, and simply uses a foreign key in each receipt, what happens if a customer changes their address at some later time? or name? (people do get married).
Now, ALL of the historical receipts return the NEW address or customer name, not the address or name of record at the time of the sale.
This can't be correct, and would get most businesses in serious legal trouble. And I personally have seen this type of nonsense in many amateurish attempts at normalization.
This presentation is oversimplified to the point of providing poor instruction I am afraid...