Suppose that we have a second relation that specifies the prices of chips in stock as a function of the number purchased:

The domain from which the parts are drawn here is a sub-domain of those described in the CHIPSPEC relation. Since there are 3 parts listed as being in stock, first order compression column would require the use of 2 bit integers. This however would entail the establishment of a new dictionary to handle the partnames for the Prices relation. In the case of a primary key, the size of such a dictionary is almost certain to be greater than the total number of bits required to encode the column.

If, therefore, our objective is to minimize the size of the total database, it makes sense to determine which columns in the database can share dictionaries. In general these will be the columns that denote the same real world entities.

Fri Sep 6 10:29:18 BST 1996