Re:Why Are There No Relational DBMSs? [pdf]
by goto11 on Monday March 13, 2023 @03:20PM
(#35141022)
This violates first normal form. So if you want to query this result further you need a more complex language than relational algebra because you need to be able to query nested structures.
[ Parent
| on HN ]
Re:Why Are There No Relational DBMSs? [pdf]
by ccouzens on Monday March 13, 2023 @03:47PM
(#35141403)
The normal forms are about how data is stored, rather than how it looks after a query. After all, most joins will violate second normal form.
But yes, SQL doesn't work well with this solution.
Re:Why Are There No Relational DBMSs? [pdf]
by emmelaich on Monday March 13, 2023 @07:47PM
(#35144996)
1nf is surprisingly tricky to define.
If you consider it as a single atomic list then it is still in 1nf.
It's only not in 1nf with respect to future queries IF you want to subselect from within the list values.
Re:Why Are There No Relational DBMSs? [pdf]
by goto11 on Tuesday March 14, 2023 @02:33AM
(#35148079)
1NF is defined as eliminating nested relations. I assume "[ cryptography, databases]" in the example represent a nested relation.
1NF is not defined in terms of what you want to do with the the data, it is defined in terms of domains, i.e data types. If a column allows nested tables, it violates 1NF.
"Atomic" in the context of 1NF means atomic wrt. the relational algebra.
Eg. if we have:
Student: Bob, classes: [ cryptography, databases]
Student: Alice, classes: []
Is it possible to select from this all students which has cryptography as a class, using the standard relational operators (project, filter, join)?
Re:Why Are There No Relational DBMSs? [pdf]
by emmelaich on Tuesday March 14, 2023 @12:39PM
(#35154276)
I think we're mostly in agreement!
You're right, it's not possible to select from this all students which has cryptography as a class. No more than if we did concat('cryptography', ',', 'databases').