when i have two tables (A,B), creating join between them (A.a = B.b)
the generated SQL will be A.a = B.b
The query engine uses the cardinality to figure out how to construct queries. It assumes your structures are star schema (or snowflake schema) tables, and determines fact from dimension as follows:
If a query subject is at the 'n' end of *all* relationships used in the query, it is identified as a Fact
If a query subject is at the '1' end of any relationship used in the query, it is identified as a Dimension
This is why you should model as star schemas in FM, even if the underlying tables are normalized.
Cheers!
MF.