Data warehouse with foreign key
DWs normally go without FKs, since there's normally no DML apart from loading the data into its tables.  You want this to go as fast as possible, while the integrity should be guaranteed by your sources.