Help wrapping my mind around many-to-many relationships
Something like:

Article                ArticleKeyword         Keyword
---------------        ---------------        ------------
article_id (PK)  &lt;---  article_id (FK)        
                       keyword_id (FK)  ---&gt;  keyword_id (PK)


There could be zero-to-many ArticleKeyword rows for each row in Article.

There could be zero-to-many ArticleKeyword rows for each row in Keyword.

This equates to a many-to-many relationship between that Article and Keyword tables.

The primary key for ArticleKeyword would be the composite key (article_id, keyword_id) unless you wanted to count multiple occurrences of the same keyword in the same article separately (perhaps noting the position in the article) in which case you may instead want a surrogate key like so:

Article                ArticleKeyword         Keyword
---------------        ---------------        ------------
                       ak_id      (PK)        
article_id (PK)  &lt;---  article_id (FK)        
                       keyword_id (FK)  ---&gt;  keyword_id (PK)
                       kw_location


(or you could add the location properties to the combined key, of course, if those extra columns would never be NULL)