1) Yep, better But strive for constancy. Two of the tables have the suffix "_PK" in the PK field name and the PK field in other three tables don't have the suffix. If you use the suffixs "_PK" and "_FK", they should be used in every table.
2) For the field names, mostly yes.
The bound field of the control "strMediaType" is "MediaTypeID_PK", but you have the field name prefixed with "str"; I would use "lng" (long integer)
Same for the other long integer fields - you have the prefix "int", but the field type is long integer ("lng").
For the control names on the forms, needs work. Access usually names the controls the same as the control source.
For example, the combo box control for strMediaType is named "strMediaType". I would use "cboMediaType".
3) What I use....
4) I NEVER use "look up fields".
5) See:
The Evils of Lookup Fields in Tables
http://access.mvps.org/access/lookupfields.htm
6) You would use a sub form to add the authors. And, yes, any author would need to be in the Author table before being able to link an author to a book.
7) I don't use the navigation form - I build my own main form. To me, the navigation form is limiting. My personal opinion.
8) Well, when you entered an IP address, you have "https://http://www.freeclassicebooks.com/Jane%20Austen/Pride%20and%20Prejudice.pdf"
If it works for you, use it.
One more thing. PK fields that are an autonumber type should NOT be displayed on a form. They are used to link table and have NO real world meaning.