3 ms·
Linq works for trivial left join project style of queries. But for anything actually using the features of modern sql-databases it comes short quickly. As a ex
by CuriousSkeptic 8y ago
Linq works for trivial left join project style of queries. But for anything actually using the features of modern sql-databases it comes short quickly.
As a example try to express something like “sum(x) over (partition by y order by z)”
I do agree that SQL the syntax leaves a lot to be desired, and a proper relational language with a syntax optimized for actual development, and even better, optimized for 6NF style databases, would be awesome, but linq is not by any stretch sufficient to be that
- jeffreyrogers 8y agoMy understanding is everyone uses 3NF in practice though, so what would a 6NF database get you practically? I see SQL the way I see things like Linux: it's got some weird things that you'd design differently if you could do it over again, but overall it's pretty good and probably not worth the effort to switch.
- CuriousSkeptic 8y ago6NF gives flexibility since every thing is decoupled until you bring it in. It makes evolving the schema easier, makes optimizations easier. I also have a hunch that with such a focus it would be easier to find an interesting design space for new relational programming models since it’s, in a sense, “purer”. But I guess it depends on the use case. For normal oltp style save/fetch entity 3NF makes sense. But it kind of makes sense in the way an ORM would make sense. Which makes you question if you really need relational database at all.