Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!cimshop!davidm From: cimshop!davidm@uunet.UU.NET (David S. Masterson) Newsgroups: comp.databases Subject: Re: how to implement cursor based UPDATE/DELETE Message-ID: Date: 16 May 91 16:46:22 GMT References: <22637@shlump.lkg.dec.com> <24356@oolong.la.locus.com> Sender: davidm@cimshop.UUCP Distribution: comp Organization: Consilium Inc., Mountain View, California Lines: 45 In-reply-to: jfr@locus.com's message of 14 May 91 18:47:57 GMT >>>>> On 14 May 91 18:47:57 GMT, jfr@locus.com (Jon Rosen) said: Jon> In article <22637@shlump.lkg.dec.com> saunders@refine.enet.dec.com (Kyle Saunders) writes: Kyle> |>I was wondering how you would implement cursor based UPDATE's and Kyle> |>DELETE's. Kyle> |> Kyle> Well, your solution is exactly what I am trying to avoid. I'm _writing_ Kyle> the SQL RDBMS, so an SQL work-around is not what I need. It looks like Kyle> I will have to require an index to be created on at least one of the Kyle> field in the query definition of the cursor. Kyle> I want to avoid such kludges as the "hidden" ROWID column that INFORMIX Kyle> evidently has. It doesn't provide for the physical abstraction that the Kyle> Relational Model is supposed to have. Jon> I see what you are looking for now. You need an internal implementation. Jon> Your statement about the relational model requiring physical abstration Jon> is off-target. The relational model says nothing about the physical Jon> implementation and in fact, there is absolutely nothing about the "right" Jon> and "wrong" ways to implement a relational data base. This is the meaning of physical abstraction, so Kyle's point is not off target. Kyle's point is that ROWID is a physical implementation in that it places an order on relations which are, by definition, unordered. Jon> The relational model requires complete logical abstraction. The user's Jon> VIEW of the data must be relational. The underlying implementation can Jon> do ANYTHING it wants or needs in order to create a complete and Jon> potentially efficient view of the relational model. In fact, this almost Jon> ALWAYS involves internal tuple ids or row ids. The issue is whether Jon> these internal ids are externally manifested Exactly. What the relational system does internally is its own business, but when those internal decisions begin manifesting themselves on the interface, then some aspect of the relational model is lost. See Codd's new book. -- ==================================================================== David Masterson Consilium, Inc. (415) 691-6311 640 Clyde Ct. uunet!cimshop!davidm Mtn. View, CA 94043 ==================================================================== "If someone thinks they know what I said, then I didn't say it!"