1. A method for compressing a relational database using a particular compressor, the method comprising: selecting a training set of records from the relational database; computing, by a processor, using the training set of records, an optimum relational dependency transform comprising a set of field dependency relations each containing a predictor field of the relational database and a predictee field of the relational database, the computing comprising computing an optimum branching of a first graph having a node set that is a set of possible predictor fields and predictee fields of the relational database, and having an edge set that comprises possible dependency relations between the predictor fields and the predictee fields, each edge having a weight based on a compression by the same particular compressor of a transform of the predictee field based on a defined permutation of the predictor field; dividing the relational database into a plurality of horizontal segments; for each of the plurality of horizontal segments, producing a topologically sorted relational database segment by sorting, by a processor, the fields of the horizontal segment topologically based on a second graph having a node set that is a set of all of the predictor fields and the predictee fields of the optimum relational dependency transform, and having an edge set that comprises the set of field dependency relations of the optimum relational dependency transform; for each of the topologically sorted relational database segments and for each predictee field in the topologically sorted relational database segments, transforming, by a processor, the predictee field based on the defined permutation of the predictor field to produce a transformed horizontal segment; and compressing each transformed field using the predetermined compressor.