Multirelations - Semantics and Languages
Aviel Klausner, Nathan Goodman · 1998
requesting the n&es of a certain group of people. We argue that a multirelation (relation The list. may contain duplicates if several people with duplicates) is not, a semantically independent have the same name, and the number of duplicate data object, but rather it should be viewed as a sub- names may be significant to the user. set. of columns within a larger relation that has no duplicates. Consequently, at the level of the con-DAPLEX [ShipSl], a query language based ceptual database, duplicates in base relations or in on the entity-relationship model, is an example of a views are not allowed, nor are operations on mullanguage that specifically supports multirelational tirelations. Multirelations as query output can be queries, i.e. queries which return duplicates. Its specified by designating a subset of some relation’s iteration-based semantics gives queries flexible concolumns for output, while “hiding ” the rest, of the trol over the creation and elimination of duplicates. columns. Similarly, aggregate functions are applied In PROLOG [Hogg84], which has aspects of a relato multirelations by applying them to a column tional query language, the predefined operational within a relation. Our approach can be applied to semantics sometimes forces the output to be repeated a specific number of times. However many extend any query language in a consistent way to other database systems, in coping with duplicates, have full multirelational expressiveness, and such an are inconsistent and often ill-defined. For example, extension for the query language QUEL is detailed. the number of duplicates in the output of a QUEL query, a8 implemented in INGRES [WY79], might depend on the access strategy chosen for evaluating 1