[linux-elitists] (from Pigdog) Feuerstein on Oracle

Rusty Foster rusty@kuro5hin.org
Mon Oct 23 12:35:27 PDT 2000

Paul J Collins wrote:
> If you have a relation like so:
>   Name       | Address
>   -----------+--------
>   Paul       | Ireland
>   Evan       | USA
>   Nick       | USA
>   Bertie     | Ireland
> Then it is not 1NF, since the fact of a location's name is duplicated
> all over the place.  But if you replace it with two relations like
> this:
>   Name       | Addr_id
>   -----------+--------
>   Paul       | 1
>   Evan       | 2
>   Nick       | 2
>   Bertie     | 1
>   Addr_id    | Address
>   -----------+--------
>   1          | Ireland
>   2          | USA
> You can then create a view based on these relations:
> CREATE VIEW name_address
>         AS SELECT Name, Address FROM names, addresses
>                 WHERE names.addr_id = addresses.addr_id;

This is a silly example. You wouldn't do the first thing in any DB, OO
or R, because it, as you rightly point out, violates normalization. Your
relational example could be translated to an object example by making
"country" (or probably "address") an object, and pointing your "person"
objects to the relevant "address" object, just like you would if they
were flat tables.

I agree with Mr. Bad that relational DB's are an archaic pain in the
ass, but I haven't seen an OODB that I like better yet. 

Because I haven't checked it out recently (like in the last year or so),
how does Postgres do it's object stuff? I know it has some OODBMS-like
features, but is it totally OO, or is it kind of a layer on top of an
underlying standard RDBMS?

> I don't believe that OODBMSes are a valid way to store and manipulate
> data.  Not that I can back this opinion up, of course.

Heh. Indeed. :-)

    Rusty Foster            "Salmon and gas station attendants haven't
  rusty@kuro5hin.org         been at war since 1972."
  rusty@opensales.org                     --The Brunching Shuttlecocks

More information about the linux-elitists mailing list