4 ms·
> This is what a relation is: https://www.techopedia.com/definition/21677/relation https://www.techopedia.com/definition/21677/relation "Relation is sometimes
by randomdata 4y ago
> This is what a relation is: https://www.techopedia.com/definition/21677/relation https://www.techopedia.com/definition/21677/relation
"Relation is sometimes used to refer to a table in a relational database" – True, but a relation is any set of tuples. Joining multiple tables together also produces a relation. It's not just tables. It's the more abstract concept of rows and columns, basically.
But, as noted earlier, SQL actually deviates from the relational model here. It doesn't actually operate on sets. This is where you find a lot of the gotchas it is famous for. Something like QUEL, which Postgres used instead of SQL for the first 10 years of its life, is closer to Codd's original model. It actually has relations.
I expect that deviation is why we're having trouble communicating here. As SQL isn't actually relational, calling them relations is technically a misnomer. While I appreciate the purity bent you say you're off on, I have indicated multiple times that I use relation with acknowledgement of SQL's deviation from the term in its purest sense. Yes, again, SQL relations aren't truly relations, but for the sake of ORM they serve the same purpose.
> Most ORMs intrinsically tie "query building" and the orm together without even referencing the term query builder.
Such as? All of the ORMs with query builders I'm familiar with are like "You an use our query DSL and you can even write raw SQL!". They present a clear separation between the ORM and the query building phases. If they were tightly coupled in those toolkits, they wouldn't be able to enable you to use raw SQL queries.
- fckgnad 4y ago>I expect that deviation is why we're having trouble communicating here. No the deviation is deliberately manufactured here. The oop pedantism is obvious. Smalltalk was the first but the word as evolved, everyone knows that. Including you but you pretend not to know this. >While I appreciate the purity bent you say you're off on, I never said this It was said by me and another poster that YOU are the one off on this bent of being overly pedantic about terms. I think you're just trolling now. This kind of thing is against the rules here fyi.
- randomdata 4y agoFunny that I am the one being called pedantic, despite flat out acknowledging that I am using the term informally. Yes, again, technically a SQL relation isn't actually a relation. I get it. But we all know what relation means with respect to the conversation, so what is to be gained by ignoring that context? Formal definition matters only if you haven't reached a shared understanding. Before definitions entered the discussion we started at that end, but all the information necessary to understand what relation means in SQL-speak, particularly with respect to ORM, has been given. There is no value in hanging off any other definition and doing so is merely a straw man. Whatever you want to call it, the abstraction that converts between the database's data model and the application's data model is not the same abstraction that builds queries. They are very much distinct operations and ORM is only concerned with one of them (hint: Not the one that builds queries).
- fckgnad 4y agoYou are being pedantic by virtue of even turning the conversation in this direction. Stop trolling.
- randomdata 4y agoThe conversation hasn't turned. We are still waiting on examples of ORM toolkits that don't provide separation between the ORM and the query building operations. I suspect ad hominem entered the chat because one couldn't be found, but I'll continue to wait as I love to learn new things.
- fckgnad 4y agoIt turned when you decided to pretend that you thought all OOP meant smalltalk style OOP and when you chose to act like you were talking about relations in terms of sets and not sql. You pretended you didn't know the context when it's fairly obvious what the context is. You are playing a part. You don't love to learn new things, that is not your objective here, your objective is to troll. This conversation is over.