your attachment IS correct - its not a bad thing to store the keys - although it does mean you as designer need to understand whats going on, But it shouldnt matter ot your users, because they should never need to see a table directly.
doing it this way, means that if you change the name Tennis, to Lawn Tennis in the base table - thats all you need to do - one change - your forms etc will pick up the change automatically
The trouble is, if you design the junction table with lookup fields, then when you open the table, instead of seeing the stored values (1,2 etc) you see the looked up value - try it and see.
so if you do that, it can make it hard to see exactly what is going on in the database. It also means that every time you put that field on a form, access automatically gives you a combo box - which MAY be what you want, but it may not be.
Because access is doing things for you automatically, you can start to lose track of your data representation, which may lead to problems in a big system.
The underlying idea is that the data storage ought to be really divorced form the data presentation, wihch is why it makes sense not to use these "helpful" facilites.
Another one is the caption property in a table - which then instead of using your fieldname, applies a different field name as standard in your queries, and on your forms. But try using that one, and then see how awkward it quickly becomes.
------------
Note that in your form, the data is used directly from the tables, so it is sorted in the order of the primary key in the table. If instead you base it on a query, you can sort the data, so that the names appear in alphabetical order, say. And this is where you get more control - because you can determine to present the names in the way YOu want
eg
A. Surname or
Albert Surname or
Surname, Albert
and sort them in the order you want.
And you can add extra columns to the combo box to show other stuff assocaited with the person.
Using a stored query also makes it easier to use a standard within your app, as comoboboxes on different forms can all use the same query.
Hope this helps