A relationship in a UML class diagram
You can have many sales of the same product in the same store and in the same week. Also, a detergent can be sold in different weeks in different stores.

This means that you have to create a class Sale, that associates an OnSaleKey to a DetergentKey.

The Sale class is an association class.

From here you can find an explanation:


  An association may be refined to have its own set of features; that
  is, features that do not belong to any of the connected classifiers
  but rather to the association itself. Such an association is called an
  association class. It is both an association, connecting a set of
  classifiers and a class, and as such could have features and might be
  included in other associations.
  
  An association class can be seen as an association that also has class
  properties, or as a class that also has association properties.
  
  An association class is shown as a class symbol attached to the
  association path by a dashed line. The association path and the
  association class symbol represent the same underlying model element,
  which has a single name. The association name may be placed on the
  path, in the class symbol, or on both, but they must be the same name.


In this case it is easier to think about the Sale class as a table in a database that associates an id from OnSaleKey to an id from DetergentKey.