title: Normalization of Many to Many relation in sql
body: <p>I have a product table that contains two column</p>
  
  <pre><code>ProductID   Desc
    1         Fan
    2         Table
    3         Bulb
  </code></pre>
  
  <p>I have another table that contains supplier information</p>
  
  <pre><code>SupplierID    Desc
     1          ABC
     2          XYZ
     3          HJK
  </code></pre>
  
  <p>Now One supplier can supply multiple products and one product can be supplied by multiple suppliers To achieve this I have created another table tbl_Supplier_Product</p>
  
  <pre><code> SupplierID    ProductID 
       1            1
       1            2
       2            1
       2            2
       2            3
  </code></pre>
  
  <p>Is it a good way to link this table to supplier and product table through primary composite key. In this table the primary key would be a composite key (SupplierID and ProductID) or should I add an extra column row ID for each record and then use that as a primary key and add a unique constraint to columns SupplierID and ProductID</p>
  
  <pre><code> SupplierID    ProductID    Row ID
           1            1       1
           1            2       2
           2            1       3
           2            2       4
           2            3       5
  UNIQUE CONSTRAINT(SupplierID, ProductID)
  </code></pre>
  
  <p>What would the relationship of this table be to supplier table? I am a bit confused here because I added this table to resolve many to many relationship and redundant data but it still seems like this table has many to many relationship with both the tables??</p>