When a table is created to represent an entity, it is possible that every column in the table will be part of the entity's primary key.
As an example, examine the entities in the following graphic.
The entity named AVAILABLE_IN contains two columns, both of which are part of the entity's primary key.
When every field in a relation is part of the primary key for that relation, the relation is referred to as an
all-key relation 
are valuable because they enable you to create many-to-many relationships between tables in the
database without incurring the problems of many-to-many relationships.
AVAILABLE_IN provides just such a bridge between the ITEM and LANGUAGES tables.
Rather than including fields in the ITEM table to record in which languages the CD is available
(which is bad design, as we will see),
or creating a many-to-many relationship (which is also bad design), users can enter as many languages as they need to describe each Stories on CD product.
: The entity AVAILABLE_IN contains the column ItemNo which is a foreign key to the table ITEM.
The information about languages is stored in the AVAILABLE_IN table.
The next lesson describes foreign keys
It is possible to have a table in which every column is part of the primary key.
As an example, consider a library book catalog where each book title owned by a library has a natural unique primary key:
the ISBN (International Standard Book Number).
Each ISBN is assigned to one or more subject headings in the library's catalog, and each subject heading is also assigned to one or more books.
We therefore have a many-to-many relationship between books and subject headings.
A relation to represent this relationship might be:
subject_catalog (isbn, subject_heading)
All we need to do is pair a subject heading with a book identifier and no additional data is needed.
Therefore, all columns in the table become part of the primary key.
There is absolutely no problem with having all-key relations
in a database.
In fact, they occur whenever a database design contains a composite entity that has no relationship data.
They are not necessarily errors, and you can use them wherever needed.