Take a look at schema 1. It requires a unique compound key, not simply an index on product id. Product to Info is a 1 to many relation.
So info record must be unique by combining attributes.
My impression is that the unique attributes of an info record are:
(product_id Manufacturer serial no)
As nothing guarantees that 2 manufacturer's serialnumbers won't overlap.
If you want to be less rigorous, you can make a 2 column compound key
(product_id serial no)
and hope for the best.
serial no will of necessity be a varchar type column, since nothing guarantees that a manufacturer use a number, or a string of a fixed length. Varchar indexes typicallly are larger than integer indexes.
I may be mistaken, but I believe when creating a compound key index, MySQL generates indexes for both columns and a third compound index.
So that compound key index will take some more overhead than a simple autoincrementing not null integer id.
You are correct in noting, however, that the addition of this index key is not required by the schema if the columns are properly managed.
In fact the downside of my approach is the potential for inserting a row that is in all respects a duplicate, except for the info_id attribute.