I've the next db-schema .

FILE, GROUP and BLOCK represent the item structure from the XML file. FILE may be the root. GROUP has FK to FILE. BLOCK has got the one FK to GROUP and also the a different one FK to UNIT.

UNIT groups "similar" BLOCKs from diffrent GROUPs poor FILE.

The information is made of presently in 3NF. Yet I must know which Models fit in with FILE.id=1. To get this done yet, I must create a query which joins all 4 tables. To optimize this schema, I'm able to produce the new relation UNIT n--FK-->1 FILE. Yet my query joins only two tables around the enhanced db-schema. Here is the question: is DB(with this particular new FK) still in 3 NF ? Exactly what the theory states?

BLOCK  n--FK-->1  GROUP  n--FK-->1  FILE


      +-----|  File  |.....+
      |     +--------+     .
      |                    .
     /|\                  /.\
 +--------+           +--------+
 | Group  |--+     +--|  Unit  |
 +--------+  |     |  +--------+
             |     |
            /|\   /|\
           |  Block  |

In the information provided, it seems that this can be a true parallel hierarchy. About this basis, In my opinion the suggested amended schema would be normalised to 3NF.

It's not obvious the way the UNIT table suits the schema prior to you making changes.

Clearly, once you make changes, all you want do in order to know which models fit in with personal files is join the FILE and UNIT tables.

Since tables have been in 3NF when all of the functional dependencies are based on the secrets, the entire secrets, and absolutely nothing however the secrets (so assist me to Codd), you need to review your schema for the reason that light.

Because of the available information, possibly the tables are in 3NF (and BCNF, and AFAICT in 4NF and 5NF too).