I was a developer in a certain project developed under sql-server and .Net, they don’t use physical relations between their tables but they use logical ones ” logical foreign keys “.
I asked them that for what reason they do that ,they say “it is more optimal”.
What I really want to know, is it really more optimal or it is just a myth?
When it comes to reads from a database, whether foreign keys are defined or not doesn’t come into it. There is no relationship between having foreign keys and the performance of reads.
Things that will effect performance are how the tables are stored, what indexes are defined on them and the stored statistics (just to name a few).
This is a bad justification for not having referential integrity in the database (in particular as it can be trivial to test).