You can have a schema on a table without any foreign keys or relations. But in the above you seems to use those concepts interchangeably.
Taking OPs comments directly about schemas, it seems true to me.
You can, naturally, also express facts any other way you like.
But a relational DB gives you the tools to at least attempt the expression of those propositions in a way that makes them findable and provable later, with minimal pain.
Doing it in code, your mileage may vary.
And just like in written or spoken language communication, we can express facts poorly or incorrectly in either medium.
It's just that the relational model gives us a tool to help put discipline (and query flexibility) into that process. If we use the tool right, it helps us clarify our logic.