4 ms·
If you look closely enough, they didn't say anything incorrect. The name "relational database" is the correct name for the structure they describe. Their descri
by CodeMage 15y ago
If you look closely enough, they didn't say anything incorrect. The name "relational database" is the correct name for the structure they describe. Their description might not be precise, but it's accurate.
Yes, the common misconception is that the word "relational" has to do with relationships between the tables, where in fact it comes from the mathematical concept of relations. However, the text you quoted doesn't claim anywhere that the word "relational" has to do with relationships between tables.
- davidmathers 15y agothe text you quoted doesn't claim anywhere that the word "relational" has to do with relationships between tables Hmm, I disagree. This type of structure is called a relational database: we have multiple tables that connect to one another via keys The emphasis here is on the connections rather than the tables. Why say "multiple tables"? In writing for beginners the author should just say something truthy like: "A relational database is a database where all data is stored in values of an algebraic data type called a 'relation'. SQL uses the word 'table' instead of 'relation', but the two words mean roughly the same thing."
- CodeMage 15y agoThis is why I used the word "claim". The sentence you quoted can be construed to imply that relational databases are relational because of the relationships between tables, but it certainly does not claim that. I'm not merely nitpicking here, I'm trying to explain that what you perceive as the author's mistake is, in fact, your interpretation. I do, however, completely agree with you in that the text would have been better if the author phrased it in such a way as to deliberately avoid the possibility of that particular interpretation.
- Robin_Message 15y agoIn writing for beginners the author should just say something truthy like: "A relational database is a database where all data is stored in values of an algebraic data type called a 'relation'. SQL uses the word 'table' instead of 'relation', but the two words mean roughly the same thing." What you've written here is worse, for the simple reason it is now semantically wrong instead of just syntactically wrong in the use of the word relational. As an example, all relational databases that the average reader can be expected to have heard of use bags(multisets) instead of sets, so they in fact don't store data in relations. Language gets polluted over time. Trying to force a technically correct but obsolete meaning is not helpful to anyone.