Re: Clean Object Class Design -- What is it?

From: Bob Badour <bbadour_at_golden.net>
Date: 10 Oct 2001 16:31:56 -0700
Message-ID: <cd3b3cf.0110101531.3d71cdb5_at_posting.google.com>


mikharakiri_at_yahoo.com (Mikito Harakiri) wrote in message news:<bdf69bdf.0110081016.524326cd_at_posting.google.com>...
> "Bob Badour" <bbadour_at_golden.net> wrote in message news:<bkFv7.660$hR5.18151526_at_radon.golden.net>...
> > They have provided some, but entirely inadequate, physical independence. For
> > instance, several SQL products allow data clustering, and all SQL products
> > allow some rudimentary indexing. I am not aware of any SQL product that
> > allows one to break up a base table vertically into multiple storage areas,
>
> What are advantages of breaking up table vertically?

Different performance characteristics. If two or more disjoint groups of users tend to access non-overlapping sets of attributes from a relation, partitioning the data vertically will reduce concurrency collisions, reduce the number of page reads required for any given query, etc.

> Alternatively, you can split the table into 2 one-to-one related
> tables, and rename the old table into a view. As this would be "key
> preserving view" (Oracle terminology) it would be updatable.

Physical independence means that one should be able to alter the physical storage without altering the logical interface. While Oracle might allow updates to the view, unfortunately, not all SQL products will.

> > and precious few allow one to break up a table horizontally for storage. I
> > am not aware of any SQL product that will index partial aggregates. I am not
>
> What is indexing on partial aggregates? If one wants to speed up a
> query like this:
>
> select deptno, sum(sal) from emp group by dept
>
> the standard technique is to create a materialized view and put an
> index on aggregate column.

How many products allow materialized views? An index that maintains partial aggregates at non-leaf nodes will add depth to the index but will allow the DBMS to skip over increasing amounts of data as ranges span nodes closer to the root. This applies to both linear indexes such as B+Trees and multi-dimensional indexes.

> > aware of any SQL product that uses physical pointers or pointer pools among
> > tables to improve joins; although, surely there must be at least one.
>
> What are pointer pools?

Pools (sets) of pointers. Received on Thu Oct 11 2001 - 01:31:56 CEST

Original text of this message