relational database – Is there a normal form for avoiding exactly identical tables?

If I understand correctly, you have two tables like:

Book_A   Book_B  
------   ------
ISBN#    ISBN#
Title    Title

Which contain exactly the same information. This is a violation of the project-join normal form, which (paraphrased) says to eliminate tables or columns which can be replaced with a query. SELECT * FROM Book_A will give the exact same information as Book_B, and therefore Book_B can be eliminated (or Book_A for that matter, but only one of them!).

If the tables had additional columns, then you would still have a violation. E.g.

Book_C   Book_D  
------   ------
ISBN#    ISBN#
Title    Title
Year     Author

Now we can’t eliminate a whole table, but we can still eliminate one of the duplicate columns, so we get (for example):

Book_C   Book_E  
------   ------
ISBN#    ISBN#
Title    Author
Year     

Because the information in Book_D can be recreated by a join of Book_C and Book_E.

This schema is in 3NF, but it is in non-optimal 3NF because the same information could be expressed in fewer tables. An optimal 3NF would be:

Book 
------  
ISBN# 
Title
Author    
Year     

In case some rows are removed in one of the tables, we need to preserve the information about which rows are present, even if we remove the duplicate title. E.g. if we have:

Book_A   Book_B  
------   ------
ISBN#    ISBN#
Title    Title

Where title is the same for a given ISBN, but Book_B is a subset of the rows in Book_A. Then we can eliminate the title, but not the key, like this:

Book_A   Book_B  
------   ------
ISBN#    ISBN#
Title