Normal: Specifies related fields in another table. Multiple fields can be included in this relation.
For example, table LogisticsPostalAddress has a relation called State that defines the relation to the LogisticsAddressState table. The values allowed in the state field are limited depending on which country is entered.
ForeignKey: Specifies a correspondence between a foreign key field in the present table to the primary key field in another parent table. A ForeignKey can be a PrimaryKey or a Single Field Altenate Key.
When it is a Primary Key, the relation is on the primary key field, for example customer account. When it is a Single Field Alternate Key, the relation is on the surrogate key, which is usually the RecId.
Look at the below blog for more information
daxingwitheshant.blogspot.com/.../table-relations-in-ax-2012.html