I'd say lack of knowledge of relational algebra is the root cause of a lot of bad SQL database schema design. (Guilty as charged)
Interesting, could you give some examples of concepts from relational algebra that have helped inform your understanding of schema design?
Asking as a practioner interested in learning the conceptual underpinnings :)
I think there is a simple, almost obvious, but very powerful concept that gets clearer when learning relational algebra: Everything is a relation.
There is an important part about using an SQL DB which is about the engineering side of things, such as access patterns, indexing, efficient storage and so on. And then there is the side that is about relational expressions.
An intuition of mine is that people who feel more comfortable with the second part, lean on SQL (and DB features in general) to do work for them, while eschewing things like ORMs.
Re:The Dao of Functional Programming [pdf]
by mbrodersen on Tuesday May 24, 2022 @09:35PM
(#31499649)
I know Category Theory quite well but have never used it for anything practical. Do you have any examples of practical solutions that benefitted more from Category Theory than just straight forward algebraic thinking?
Yup! Haskell borrows heavily from category theory, and there's a lot of value in knowing the stuff, but people have also been productive in SQL for decades without any formal knowledge of relational algebra.