Elkin
Elkin

Reputation: 900

What other ways are there to reduce data redundancy in relational databases beyond normalization?

I had a interview and i was asked 3 ways of reducing redundancy but i just remembered one: Normalization.

I have been searching for another 2 but all i can find is articles talking about normalization.

Upvotes: 1

Views: 700

Answers (1)

philipxy
philipxy

Reputation: 15157

"Redundancy" is informal & in the eye of the beholder & is neither good nor bad per se.

Suppose you have multiple rows holding the same string. You can "reduce redundancy" by replacing strings by ids & adding a table mapping ids to strings. Suppose you are already doing that. You can "reduce redundancy" by replacing the ids by their strings & dropping the lookup table--the original design. An index is redundant. A cache is redundant. Normalization below BCNF increases the sum of rows x columns over all tables, hence increases a certain kind of database "redundancy"; but it reduces update anomalies, hence reduces a certain kind of table "redundancy". (4NF & 5NF do reduce the sum of rows x columns over all tables.)

PS Chris Date has some essays on Data Redundancy & Database Design. One notion of "redundancy" he defines is:

The database involves some redundancy if and only if it includes two distinct representations (either direct [in a base table] or indirect [in a query result]) of the same [true] proposition.

My version of that sort of "redundancy": The database involves some redundancy when two query expressions that aren't logically equivalent--that don't return the same table for all database values--return the same table for all legal / constrained database values.

Upvotes: 2

Related Questions