Path: utzoo!attcan!uunet!aplcen!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!sol.ctr.columbia.edu!lll-winken!cert!netnews.upenn.edu!grad2.cis.upenn.edu!aaron From: aaron@grad2.cis.upenn.edu (Aaron Watters) Newsgroups: comp.databases Subject: Re: Outerjoin implementation? Message-ID: <30203@netnews.upenn.edu> Date: 27 Sep 90 13:05:21 GMT References: <5803@plains.NoDak.edu> Sender: news@netnews.upenn.edu Reply-To: aaron@grad2.cis.upenn.edu.UUCP (Aaron Watters) Distribution: comp Organization: University of Pennsylvania Lines: 43 In article pcg@cs.aber.ac.uk (Piercarlo Grandi) writes: > >One of the reasons for which NULLs are a bogosity is that they are in >essence unspecified value and type defaults -- this creates a lot of >special casing, because it violates domaining. > what on earth does this mean? Nulls are certainly NOT a bogosity. As pointed out by many, they certainly DO cause havoc in the relational paradigm -- but this indicates that the relational paradigm is inadequate, NOT that nulls are ``bad.'' [Aside: there is an amazing tendancy in the database community to disallow anything that doesn't fit in to one's favorite theoretical structure -- eg, no unions in views, nulls are bad, etcetera.] Enough abstraction. Let's consider an example relation PEOPLE [NAME, AGE] [john, 24] [jane, ??] [mary, 13] Then what should we get if we select the people with age 24? TWO ANSWERS: the `outer' answer and the `inner' answer [john, 24] [john, 24] [jane, 24] Of course, two answers to a single query doesn't fit into the relational model, so this must be a bad idea, right? How about if we `group by age'? AGAIN TWO ANSWERS `outer' `inner' [john, 24] [john, 24] [jane, 24] [jane, ??] [mary, 13] [jane, 13] [mary, 13] [jane, ??] Roughly `outer' answers give `all possibilities' and `inner' answers give `only that which is certain.' If you find this intriguing at all, let me know. -aaron.