Modelling the structure of a database involving products with multiple barcodes What would be the best way to store barcodes for products? I have a situation where the same product can have many different barcodes, let's say I have 1 product and this product can have 100 different barcodes (which must be unique). 

Is it better to store those barcodes in separate table? For example, the following diagram



means I will have 1 product and 100 rows with different barcodes for this product (same name and everything). 

Or is it better to have 100 products with the same name, each with barcode column, as shown below?
If you have a truly one-to-many relationship between your products and barcodes, it makes sense to keep it in a separate table for barcodes (don't repeat yourself-- your name and description would be identical for each repeated barcode).

IF however there is any variation in the product itself (name or description could vary) then you need to store each as a discrete record.