Reputation: 900
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
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