3 ms·
Who decided the point of using databases is normalization? Where is that coming from? Relational databases have existed before the concept of normalization exis
by BulgarianIdiot 3y ago
Who decided the point of using databases is normalization? Where is that coming from? Relational databases have existed before the concept of normalization existed. Also an index is nothing more than a partial copy of a table with a different key. It denormalizes you data. Do you use indexes other than pk?
- grzm 3y ago> Who decided the point of using databases is normalization? Where is that coming from? Relational databases have existed before the concept of normalization existed. Ted Codd, the guy who wrote A Relational Model for Large Shared Data Banks, the paper that introduced the relational model. The first section is entitled “Relational Model and Normal Form” https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf https://en.wikipedia.org/wiki/Relational_model https://en.wikipedia.org/wiki/Relational_model https://en.wikipedia.org/wiki/Database_normalization https://en.wikipedia.org/wiki/Database_normalization Projections (think views) and indexes (which are generally on-disk projections) are not disallowed. The point is that the logical representation is normalized. The logical representation and the on-disk or in-memory representations are not the same thing. There’s nothing in the logical model from preventing you from having different representations for performance or other reasons. This has been obscured somewhat by the common implementations of relational databases where the on-disk and logical representations are often the same, which tends to make people think they have to be the same. That’s not the case.
- BulgarianIdiot 3y agoIf we simply mark denormalized data as internal representation or an index, then denormalized won’t exist and everyone will be happy.
- goto11 3y ago> Also an index is nothing more than a partial copy of a table with a different key. It denormalizes you data. Do you use indexes other than pk? The relational model distinguish between the logical and physical levels. Normalization applies to the logical level. At the physical level you can have duplicate data, e.g. caches, which is fine as long as the engine guarantee consistency of the logical model.