Actually, this might be a little more flexible than you need. It depends on how you define a "product".
If a product is defined by a product ID that is unique to a particular manufacturer, the relationship is one (manufacturer) to many (products). In that case, you don't really need the manfprod table, and it would just get in your way. You should instead define a relationship between manufacturer and product.
On the other hand, if a product is defined by some generic identifier, such as "gauze bandage 4x4", so that it might be made by different manufacturers, the manfprod table is the right way to represent it.
To help you find the structure of your data, a good rule of thumb is to always look for one-to-one relationships first, then one-to-many relationships, and finally many-to-many relationships. One-to-one relationships almost always indicate that the two things that are related should be in the same table. One-to-many relationships indicate that you should make a parent table and a child table, and the child table's key is usually going to be the parent table's key plus an additional column.
When you get to the many-to-many relationships, first try to decide which ones really represent facts you're interested in, information that's actually important to you. (For example, an employee may work on many orders, and an order may be worked on by many employees, but if you don't need to track who works on each order, this many-to-many relationship is not important to you and you shouldn't represent it in the database.)
When you find a many-to-many relationship that is important, you need to create a table to represent this relationship itself. The key of this table consists of the combined key columns of the two tables it relates. If there is additional information about this relationship that you want to track, you'll have non-key columns for that. (For example, employees can work on many projects, and projects can be assigned to many employees, so you have a many-to-many relationship that you want to track. If all you need to know is who is working on which project, all you need in the table is the keys EmployeeID and ProjectID. But if you want to track how much time each employee spends on each project, you also need a non-key column to hold the hours worked.)
I hope that helps.
Rick Sprague
Want the best answers? See faq181-2886
To write a program from scratch, first create the universe. - Paraphrased from Albert Einstein