Path: utzoo!attcan!uunet!meaddata!gordon From: gordon@meaddata.com (Gordon Edwards) Newsgroups: comp.databases Subject: Re: Ingres Question: Duplicate Rows Message-ID: <1474@meaddata.meaddata.com> Date: 26 Sep 90 16:58:23 GMT References: <1990Aug8.230913.2897@agate.berkeley.edu> <26867@pasteur.Berkeley.EDU>, Sender: usenet@meaddata.com Reply-To: meaddata!gordon@uunet.uu.net Distribution: comp Organization: Mead Data Central, Dayton OH Lines: 24 In article , bg0l+@andrew.cmu.edu (Bruce E. Golightly) writes: |> While the definition of RDBMS may preclude duplicate rows, the real world |> certainly does not! During the original development of the telecommunications |> data bases for the university (over four years ago!), this fact cost |> me some gray hairs that I could ill afford. |> [example deleted. -gordon] |> |> The ANSI standard allows duplicates because the real world must cope |> with things that are identical for all intents and purposes. If the |> model doesn't allow the developer and/or user to get close enough to |> handling the real world, it must ultimately be discarded. The relational model is based heavily on set theory, which, as you probably know, doesn't allow/consider duplicates. To satisfy the relational model and handle duplicates at the same time, provide a system maintained (or surrogate) key at the time the record is inserted into the table. Then, use the surrogate to perform foreign key mapping. A number of DBMS products (eg. Informix, Ingres) have built-in system maintained keys. -- Gordon (gordon@meaddata.com)