1. 1NF. The functional dependency author → author_affiliation violates 2NF because author is a proper subset of a key and author_affiliation is not a key.

  2. First, decompose to fix the 2NF violation:

    	  BOOK(title,author,booktype,listprice,publisher)
    	  AFFILIATION(author,author_affiliation)
    	

    publisher → booktype violates 3NF because publisher is not a superkey and booktype is not part of a key. Decompose to fix:

    	  BOOK(title,author,listprice,publisher)
    	  AFFILIATION(author,author_affiliation)
    	  BOOKTYPE(publisher,booktype)
    	

    This is in BCNF because the left side of every functional dependency is a superkey.