HDTenEightyP/NetNews huggingface dataset:
From: edwards@world.std.com (Jonathan Edwards)
Newsgroups: comp.databases.theory
Subject: Re: What is the _Halloween Problem_ ?
Date: 28 Aug 92 19:55:04 GMT
Organization: IntraNet, Inc.

In article <17loktINN7mi@agate.berkeley.edu> mao@triplerock.CS.Berkeley.EDU (Mike Olson) writes:
>transaction semantics force us never to see our own updates, so this is
>a violation of transaction semantics.

Why's that? Seem perfectly reasonable to me that I should see my own updates.
How does this follow from the conventional ACID definition of transactions?

What is really going on is that a declaritive (i.e. functional) language
like SQL needs to think in terms of static global states of the database. 
To me, this should be seen as a snapshotting mechanism in the database rather 
than being built in to the transaction semantics.
For procedural-type database manipulation, seeing your own updates can be
very convenient. For example, a visual database browser/editor with user-
delimitted transactions. It would be very counter-intuitive if the user could
not see their own changes.




-- 
Jonathan Edwards				edwards@intranet.com
IntraNet, Inc					617-527-7020
Newsgroups: comp.databases.theory
From: rbb@cs.brown.edu (Robert Baynes)
Subject: Compensation bassed recovery
Keywords: Recovery, compensation 
Organization: Brown Computer Science Dept.
Date: Thu, 27 Aug 1992 12:29:19 GMT

	We are designing a multidatabase system that is utilizing
	compensation based recovery. Has anyone implemented such
	a recovery scheme? Has anyone attempted to optimize 
	compensation based recovery? 

	Thanks,

	Bob Baynes

-- 
*******************************************************************************
	Bob Baynes		Department Of Computer Science
	rbb@cs.brown.edu	Box 1910, 115 Waterman Street
	(401)863-7684		Brown University
				Providence, RI 02912
*******************************************************************************
Newsgroups: comp.databases.theory
From: cdk@neptune.dsc.com (Colin Kelley)
Subject: ordered collections
Organization: Digital Sound Corporation
Date: Tue, 1 Sep 1992 15:49:12 GMT

Recently someone posted a question about implementing FIFO queues in a
relational database.  I'm interested in something even more basic:  ordered
collections.

Is there a standard way to implement ordered collections in a relational
database that would allow for random insertion?  You could always have a
sequence number field to remember the ordering, but if you want random
insertion, you may run out of bits in this sequence number and not be able
to insert a new entry between two others.

As an example, this problem could come up if you were writing a text editor
which kept each line of text in a relational database.

Thanks for any suggestions!

                        -Colin Kelley, Digital Sound Corporation
                        cdk@dsc.com
                        (805) 566-2000 x3175
--
From: staferne@risc.uni-linz.ac.at (Stefan Taferner)
Subject: Versant Info Wanted
Organization: RISC, J.K. University of Linz, Austria
Date: Tue, 1 Sep 1992 09:31:54 GMT


Hi Folks !

I am searching for info about the oodbm product called Versant.
How good is it, prices, where to get, experiences with it, etc.

Thanks,  Stefan.


Stefan Taferner
Research Institute for Symbolic Computation
staferne@risc.uni-linz.ac.at
From: timmer@dutiag.tudelft.nl (I. Timmermans)
Newsgroups: comp.databases.theory
Subject: EDMS
Keywords: EDMS, Engineering
Date: 28 Aug 92 10:27:31 GMT


I'am looking for some information on commercially available Engineering Database Management (EDM) systems. An EDM system should enable sharing of information between product development, planning & control and manufacturing functions within company.
In this way an EDM bridges the gap between "traditional" administrative database systems and the manufacturing discipline. 
I'am looking for solutions in the broadest sense which combine two or more area's as described above. I'am very interested in references to available Tools, complete solutions and techniques to create an EDM independant of Operating environment or hardware.

Hans Timmermans
(timmer@dutiws.twi.tudelft.nl)
(compuserve: 75730,1727 (from internet that will be 75730.1727@compuserve.com)


Newsgroups: comp.databases.theory
From: beal@paladin.owego.ny.us (Alan Beal)
Subject: transaction processing - DBMS vs TP monitor
Summary: which is best?
Keywords: TP 2PC
Organization: The Design Committee
Distribution: usa
Date: Tue, 25 Aug 1992 23:37:02 GMT

As database products have started to suport two-phase commit, an important
questions arises as when one should use a DBMS for transaction processing
and when one should use the facilities provided by OLTP software.  Has anyone
written a paper providing a set of guidelines for this subject?  I would
like to start a discussion of the pros and cons of each approach and
arrive at a consensus as to when one approach should be used over another.
It seems that if I want to update multiple heterogeneous databases, then
OLTP is the way to go now.  But with a multiple homongeneous databases,
using a DBMS to has many benefits including location transparency and
a simpler interface (SQL statements, then COMMIT).  Here are some comparisons
that come to mind:

	 DBMS                                     OLTP
      ----------------------------------    ----------------------------------
Pros  Simple SQL interface                  Heterogeneous DBMS, file support
      Location transparency                 XA interface supported by vendors
      Possible global optimization          Load balancing
      Transparent network support           Interface with CICS

Cons  Inconsistent gateways                 More complex interface
      No heterogeneous support              Lack of standards

I look forward to your response.


-- 
Alan Beal
Internet: beal@paladin.Owego.NY.US
USENET:   {uunet,uunet!bywater!scifi}!paladin!beal
Newsgroups: comp.databases.theory
From: logier@cheops.qld.tne.oz.au (Rob Logie)
Subject: SQL3
Summary: After information on SQL3 standard
Organization: Telecom Australia, TNE Computer Support Services
Date: Mon, 24 Aug 1992 03:49:50 GMT

Where can you get information on the SQL3 standard ??



-- 
Rob Logie                         | The opions expressed are mine alone and in
AOTC  ( A.C.N. 051 775 556 )      | no-way reflect the views or policies of the
TNE Computer Support Services     | Australian and Overseas Telecommunications
EMAIL: logier@cheops.qld.tne.oz.au| Corporation. "These are my opinions alone"
From: edwards@world.std.com (Jonathan Edwards)
Newsgroups: comp.databases.theory
Subject: Re: ordered collections
Date: 1 Sep 92 18:51:41 GMT
Article-I.D.: world.Btwxq5.MBC
Organization: IntraNet, Inc.

In article <cdk.715362552@neptune> cdk@neptune.dsc.com (Colin Kelley) writes:
>Recently someone posted a question about implementing FIFO queues in a
>relational database.  I'm interested in something even more basic:  ordered
>collections.

HAH! I'm glad you asked that - this is my personal favorite reason why
the relational model is a toy (i.e., unhelpful for my real-world needs).

The simplest solution is to have an integer ordinal field, and re-order after
every insert. An optimization is to use a rational field to order, and re-order
when one of them runs out of precision.

A general solution that doesn't require large-scale reorganization ever is to
assign some unique key to every row and use that as an 'address' to build a 
doubly-linked list via forward and backward 'link' fields. But then you lose
the ability to have the ordering 'visible' to relational operators.





-- 
Jonathan Edwards				edwards@intranet.com
IntraNet, Inc					617-527-7020
From: jyrki@uta.fi (Jyrki Nummenmaa)
Newsgroups: comp.databases.theory
Subject: Re: Database Textbooks
Date: 28 Aug 92 06:47:05 GMT
Organization: University of Tampere, Finland

In article <1992Aug26.221126.4975@coe.montana.edu> cimo@cs.montana.edu (Bob Cimikowski) writes:
>A few weeks ago I asked for recommendations of good graduate-level database
>textbooks.  I have received a number of recommendations so far, which I will
>summarize and post shortly.  Mysteriously, none of the replies have mentioned
>a text which I seem to like after a preliminary scan --- "Conceptual Database
>Design: An Entity-Relationship Approach" (Benjamin-Cummings, 1992) by
>Batini, Ceri, and Navathe.  Any comments on this text?  Perhaps it's simply
>too new to have been used yet.

I have not used it in teaching, but I have seen it. 
It just does not meet your initial requirements, 
since it is not a general database textbook. 
The book by Batini, Ceri and Navathe concentrates
solely in the database design (as also the title suggests),
and, as far as I can remember, you required that
the book should cover also various other aspects.

For the book, I would say that it is more practice than
theory oriented, and I would imagine that the book 
is a good choice for anybody seeking a practical book
about conceptual database design.

Jyrki
From: mao@triplerock.CS.Berkeley.EDU (Mike Olson)
Newsgroups: comp.databases.theory
Subject: Re: What is the _Halloween Problem_ ?
Date: 28 Aug 1992 17:43:57 GMT
Organization: University of California at Berkeley
NNTP-Posting-Host: triplerock.cs.berkeley.edu

In <1992Aug28.161050.668@news2.cis.umn.edu>, kencham@ulysses.cs.umn.edu
(Deepak) writes:

> Consider the query,
> 
> 	Update OneK
> 	Set unique2 = 10002
> 	where unique2 == 10001;
> 
> According to some systems, this is an instance of the 
> _Halloween Problem_. How ? Besides violation of entity constraint 
> what is the other problem that makes it _HP_ for some systems.

strictly speaking, this isn't an instance of the halloween problem; it's
a query that could lead to the halloween problem (seeing your own updates)
if you choose a particular access path.

suppose the dbms chooses to do a sequential scan of onek, and suppose
the table is clustered on unique2.  then whenever we see a 10001, we
change it to 10002, and move the tuple containing it to a new location in
the table.  later in our sequential scan, we'll see the new record.
transaction semantics force us never to see our own updates, so this is
a violation of transaction semantics.

in general, any time you set a value in the target list that you read
elsewhere in the query (either in computing target list expressions or
in a qualification), it's possible to construct a scenario in which the
halloween problem occurs.  existing dbms' generally use some technique
to mark records that should be invisible to the current transaction to
get around this.  oracle, for example, writes monotonic timestamps on
updated pages, and uses the undo log to restore database state to the
transaction's start time.  if a page has not been modified since the
current xact started, then all values on it are visible to the current
transaction.  postgres uses transaction identifiers and commit times on
every record, and computes visibility for every record it reads.

					mike olson
					project sequoia 2000
					uc berkeley
					mao@cs.berkeley.edu
Newsgroups: comp.databases.theory
From: keen@ms.uky.edu (Debby Keen)
Subject: work of H. Mannila or J. Kivinen on approx. DBs
Keywords: approximate inference dependencies
Date: Wed, 26 Aug 1992 17:00:51 GMT
Organization: University Of Kentucky, Dept. of Math Sciences

I am looking for any work done by Heikki Mannila
or Jyrki Kivinen on approximate databases, such as
approximate dependency inference from relations.
Thanks!
Debby Keen
keen@ms.uky.edu
Newsgroups: comp.databases.theory
From: andrew@airs.com (Andrew Evans)
Newsgroups: comp.databases.theory
Subject: What constitutes a 4GL?
Date: 26 Aug 92 03:25:47 GMT

At the risk of asking a seemingly trivial question compared to most of
the other discussion that goes on around here, I'd like an
authoritative description of what a fourth-generation language really
is.  In the scope of relational databases, is it simply a programming
language with a database-oriented syntax?  Or are there more specific
attributes that a system must have in order to really be a 4GL?
And who says that this is what a 4GL must be?
-- 
Andrew Evans (andrew@airs.com) - Infinity Development Systems - Waltham, MA
Newsgroups: comp.databases.theory,comp.databases
From: biesty@ide.com (Bill Biesty)
Subject: Re: Different representation of entity-relation diagrams
Organization: IDE, San Francisco
Distribution: usa
Date: Fri, 28 Aug 92 02:52:07 GMT

In article <1992Aug27.154114.23295@eng.umd.edu> hyu@eng.umd.edu (Henry K. Yu) writes:
>Recently, another method was presented to me.  And, I don't understand how it
>works.  It specifies the type of relations between each entity and relation,
>not between entity and entity.
>
>	+----------+   XXXX   /----------\   XXXX   +----------+
>	| Entity_1 | -------- | Relation | -------- | Entity_2 |
>	+----------+          \----------/          +----------+
>
>Where 'XXXX' can be one of 0:0, 0:1, 1:0, 0:N, N:0, 1:1, 1:N, N:1, N:N.
>
>Supposely, someone from MIT came up with this method.  Can someone explain
>the advantage of this method?  How about ways to map from the former to the
>latter method and vice versa?

0:0? That's productive. Basically this is a general scheme that is useful
for n-ary relationships. It doesn't buy you anything with binaries. Unless
the notation is really just a binary notation like Martin and Bachman's
old notation and the relationship symbol is just semantic info. In that
case you've got the same situation you described with out the relationship
diamond/roundtangle/tritangle/whatever.

That's if this is just cardinality. Since there are zeros me thinks that 
this is just introducing existence or optionality. The valid values are:
0:1, 0:N, 1:1, and 1:M. A zero means that the entity optionally participates
in the relationship, a one means it's required to participate. I've only
seen this reading as existence:cardinality. But the notation may be that
existence is the closest/farthest to the entity. I.e., On the E_1 side
you would have 0:1 and on the E2 side 1:0. Not the way I would do it.

--
Bill Biesty          <biestie@aol.com> (I don't read this too often)
<biesty@ide.com>     These are not the opinions of my employer.
From: mao@triplerock.CS.Berkeley.EDU (Mike Olson)
Newsgroups: comp.databases.theory
Subject: Re: ordered collections
Date: 2 Sep 1992 00:48:40 GMT
Organization: University of California at Berkeley
NNTP-Posting-Host: triplerock.cs.berkeley.edu

In <Btwxq5.MBC@world.std.com>, edwards@world.std.com (Jonathan Edwards)
writes

> In article <cdk.715362552@neptune> cdk@neptune.dsc.com (Colin Kelley) writes:
> 
> >Recently someone posted a question about implementing FIFO queues in a
> >relational database.  I'm interested in something even more basic:  ordered
> >collections.
> 
> HAH! I'm glad you asked that - this is my personal favorite reason why
> the relational model is a toy (i.e., unhelpful for my real-world needs).
> 
> A general solution that doesn't require large-scale reorganization ever is to
> assign some unique key to every row and use that as an 'address' to build a 
> doubly-linked list via forward and backward 'link' fields. But then you lose
> the ability to have the ordering 'visible' to relational operators.

well, if that's all that's holding you back...

i think you're confusing a paucity of types and extensibility with a
fundamental flaw in the relational model.  i can produce ordered sets
in postgres in a straightforward way.

here's the strategy:  use arbitrary-precision (eg, bcd) decimal numbers,
or arbitrary-length text strings, as the ordering key for the set.  make
this an attribute of every record.  define the following functions inside
the data manager:

	after : record-id -> key
	between : record-id, record-id -> key
	before : record-id -> key

when you insert a record, you say

	append my_relation (name = "mike", age = 30,
			    setloc = between(337, 445))

where 337 and 445 are unique record identifiers that identify records in
my_relation; the database system generates these for me when i insert a
new record.

my functions after, before, and between identify the two records adjacent
to the new record, and generate a new unique key by examining the setloc
attributes of those records.  i can write the functions to use two-phase
locking to exclude concurrent updates to the same location in the list,
so the solution will be correct.  a btree or hash index can make it fast
to locate existing records and generate new keys.

using this strategy, you can still see the ordering using algebraic
operators, you can exploit it (or not) when you retrieve values, and
you can guarantee ordered set semantics.

note that i haven't violated the relational model here; the only reason
that i can do this and you can't is that my database system lets me
define new types and operators whenever i want.

there's no question that relational databases are ill-suited for some
applications, but this isn't necessarily one of them.

					mike olson
					project sequoia 2000
					uc berkeley
					mao@cs.berkeley.edu
Newsgroups: comp.databases.theory
From: markjan@cs.kun.nl (Mark-Jan Nederhof)
Subject: Representing unions of Cartesian products
Organization: University of Nijmegen, The Netherlands
Date: Wed, 26 Aug 1992 15:27:08 GMT


I am looking for an efficient way to store and manipulate unions of Cartesian
products. 

The application domain is abstract evaluation of certain 
programs (e.g.  datalog programs) and analysis of formal grammars 
(context-free grammars extended with features/parameters over a finite domain).

Our goal is to determine the set of parameters with which a
nonterminal can generate a terminal string. If this is done by means of
bottom-up analysis then we need the following operations:

-For two or more sets of tuples of the form A_1 * A_2 * ... * A_n, 
for fixed n, we have to compute the union in an efficient form.
(The operator * denotes the Cartesian product.)
Here the sets A_i consist of atomic values.

-For two unions of Cartesian products in such an efficient form, call
them C_1 and C_2, we have to compute a third set C_3 in the same form
which represents C_1 - C_2.
(The operator - denotes the subtraction of sets of tuples.)

-Let us consider two unions of Cartesian products in such an efficient 
form, call them again C_1 and C_2. We now have to compute the set C_3
which represents the set of tuples
{(a_1, a_2, ..., a_n) | (b_1, ..., b_m) <- C_1 AND
                        (c_1, ..., c_k) <- C_2 AND
                         R (a_1, ..., a_n, b_1, ..., b_m, c_1, ..., c_k)},
where R is some relation which for some fixed pairs of its arguments says
that they should have the same value. 
(The operator <- denotes inclusion.)
This operation would be needed in case of a grammar rule with two
members (with m and k parameters respectively; R is determined by 
``consistent substitution''). 
You can generalise this to arbitrary grammar rules.


This query is inspired by two things:
-The sets of atomic values are typically too big to represent sets of
tuples in a naive way by one element for every tuple.
-When the union of sets of the form A_1 * A_2 * ... * A_n is computed
then very often these sets overlap, and are even ``almost the same but not
quite''.

At this moment I am using a representation where a union of Cartesian
products is transformed into another such that the Cartesian products do
no longer overlap (i.e. they have no tuples in common).
If possible I merge two Cartesian products into one.
These transformations are however rather expensive.
Does anyone have a better suggestion? references to papers?

I suggest follow-up at comp.compression

Mark-Jan Nederhof
University of Nijmegen
The Netherlands
Newsgroups: comp.databases
From: ramirez@IASTATE.EDU (Richard G Ramirez)
Subject: Re: databases for visual basic
Reply-To: ramirez@IASTATE.EDU (Richard G Ramirez)
Organization: Iowa State University
Distribution: usa
Date: Tue, 1 Sep 1992 22:29:30 GMT

I use Quadbase/SQl for Windows together with
Visual Basic.  Quadbase/SQL sells for $500 or so
and allows embedded SQL for Basic or subroutine calls.
From: rwatson@alsvid.une.edu.au (Richard Watson)
Newsgroups: comp.databases
Subject: dbase file formats
Date: 26 Aug 92 07:01:56 GMT
Organization: University of New England - Northern Rivers (Lismore)

My apologies if this is a FAQ - I don't normally read this group!

I'm looking for either:

1)	a description of dBaseIII (or IV) file formats: I've determined the
	.dbf format, but need in particular the .NTX (index file) format. 
 -or-
2)	a suite of (preferably) C programs to read/write such files. 

I would prefer direct email, but i'll read the group for posts anyway.

Thanks in advance

	Richard
-- 

Richard Watson	    e-mail:rwatson@alsvid.une.edu.au      phone:+61 66 203625
Centre for Computing and Mathematics, University of New England, Northern Rivers
P.O. Box 157	Lismore NSW 2480	A U S T R A L I A
Newsgroups: comp.databases,comp.databases.informix
From: nll@cbnewsb.cb.att.com (neal.l.leitner)
Subject: Re: Informix vs. Oracle 
Organization: AT&T
Date: Thu, 27 Aug 1992 12:30:31 GMT

From article <1992Aug26.231313.28687@risky.ecs.umass.edu>, by mathews@bones.ecs.umass.edu (Mathew J Mathews):
> My boss was recently told by a salesman that Informix would soon be the new
> RDBMS standard on top of Oracle.  Needless to say, she asked me to investigate.
> I have not been able to find very much written on Informix.  Could anyone
> give me their 2 cents, and/or point me to a good source of info?
> 
> Thanks,
> 

I have had the opportunity to attempt to use both Oracle and Informix.  I have
been using Informix for about four years now, and overall it is a powerful
and easy to use Unix RDBMS.  Of course, there are the problems such as
bugs and lack of some features that would come in handy.  But it is a
product that you can pick up and get started in very quickly.

Oracle on the other hand is one of the more confusing RDBMSs that I have
ever seen.  First of all the installation takes a long time to do.  You
have to log in as root install the disks, then log in as oracle and do
another installation.  In order to get into the separate products you 
need an additional user name and password.  It literally took a week
to install Oracle on a 386 because the installation disks and their 
instructions were incorrect.  Oracle's techinical support line, although
easier to get a technician than Informix were basically clueless on
how to fix problems.  They kept telling me I had a corrupted /etc/passwd
file, which was not the case.  So Oracle sits in a box in the corner.

If I had to choose between the two products, there would not even be
a hesitation.  Informix!

Neal Leitner
..att!emdbl1!nll
AT&T Bell Labs
From: DEVRIES@NAUVAX.UCC.NAU.EDU (Ernie DeVries)
Newsgroups: comp.databases
Subject: Re: Paradox translator/compiler
Date: 4 Sep 92 16:20:39 GMT

I have not seen anything on products to translate PAL code to C, but
there are a coule of PAL compilers.  PalCom from TRS Systems (516/331-6336)
will compile PAL code to EXE files.  I know they have a version for
Paradox 3.5, but I don't know about 4.0 support.  BestPAL by Sheng Labs
(503/646-3691) is a new one that I think is for 4.0 only.
+========================================================+
|     /\                   Ernie DeVries                 |
|    /  \/\      Academic/Personal Computer Services     |
| /\/    \ \/\       DeVries@nauvax.ucc.nau.edu          |
|   Northern Arizona University   "The Mountain Campus"  |
+========================================================+