A circuit for comparing relations in a data base, each relation being formed by a set of tuples each having a plurality of attributes, the comparison being carried out between pairs of attributes R.A of a first set of tuples R and attributes S.A of a second set of tuples S, said processing comprising causing pairs of attributes R.A, S.A to meet so as to bring together components of the same order {R.Ai};
- {S.Ai} and for comparing said components, said circuit comprising:
- means for chopping said sets of tuples into sets of partition tuples having a number of attributes p;
- first means for storing said first set of partition tuples in the form of spatial meeting data, said stored spatial meeting data being able to be read as a succession in time of spatial meeting data tuples Rk formed by said attributes R.A;
- second means for storing said second set of partition tuples in the form of input data, said input data being formed from at least one attribute S.A of said second set S of tuples;
- and
- computing means, receiving said spatial meeting data from said first storing means and said input data from said second storing means, for providing a meeting in space and time of the input data and the spatial meeting data using parallel processing, said computing means being formed as a two-dimensional network of cells for processing said components {R.Ai} and {S.Ai} of the same order, said succession in time of spatial meeting data vectors being assigned to one of the dimensions x of said two-dimensional network and the input data being assigned to the other dimension y of this network so as to perform a spatial parallelism processing in which an input data attribute meets in parallel several spatial meeting data tuples and a time parallelism processing in which several input data attributes are processed in parallel, each processing cell forming the computing means, in order to carry out an elementary comparison, being formed by an elementary processor comprising:
- a digital comparator for responding to the test R.A=S.A, R.S<S.A, where R.A and S.A are either attributes or parts of attributes,
- a programmable control unit which responds to one of the following tests R.A<S.A, R.A=<S.A, R.A=S.A, R.A.>=S.A, or R.A>S.A, said programmable control unit delivering a result bit of value 1 on a positive response to the test considered and a result bit of value 0 in the opposite case, and
- a programmable unit for re-combining said result bit delivered by said programmable control unit for the test considered with a prior intermediate result bit.