Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Data Bases > IBM DB2 > Re: Again again...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 7 of 8 Topic 8858 of 9349
Post > Topic >>

Re: Again against generated columns or (missing) row value

by Bernard Dhooghe <dhoogheb@[EMAIL PROTECTED] > May 13, 2008 at 12:04 AM

I don't want to  comment negatively on functional indexes or any other
kind of indexes. They can help, but they best stay out of the table
column definition. Even a simple index is just a way to help in search
speed, or validate a uniqueness, helping to alleviate the fact data
processors (computers) do not have infinite speed.

Concerning row-value constructor sup****t, and hope, OK, the discussion
just started (...mid 1998 with the upcoming DB2 V5.2).

Bernard (Dhooghe)


On May 8, 5:37 pm, Serge Rielau <srie...@[EMAIL PROTECTED]
> wrote:
> Bernard Dhooghe wrote:
> > On May 7, 3:54 pm, Tonkuma <tonk...@[EMAIL PROTECTED]
> wrote:
> >> I couldn't understand your issue(might be by my poor English
> >> capability).
>
> >> Here are some thoughts which are inspired by your article.
> >> 1) Although it is not do***ented, you can specify row comparison
> >> predicate in(on?) DB2 for LUW 9.1.
> >> For example:
> >> ------------------------------ Commands Entered
> >> ------------------------------
> >> SELECT empno, workdept
> >>      , firstnme || RTRIM(' '||midinit) || ' '||lastname AS fullname
> >>      , edlevel
> >>   FROM employee
> >>  WHERE (workdept, edlevel) =3D ('D11', 16)
> >> ;
> >>
-----------------------------------------------------------------------=
-------
>
> >> EMPNO  WORKDEPT FULLNAME                       EDLEVEL
> >> ------ -------- ------------------------------ -------
> >> 000060 D11      IRVING F STERN                      16
> >> 000150 D11      BRUCE ADAMSON                       16
> >> 000170 D11      MASATO**** J YO****MURA               16
> >> 000190 D11      JAMES H WALKER                      16
> >> 000200 D11      DAVID BROWN                         16
> >> 200170 D11      KIYO**** YAMAMOTO                    16
>
> >>   6 record(s) selected.
>
> >> And you can specify full-select (including VALUES clause) in
predicate
> >> on DB2 for LUW prior V9.1.
> >> Here are two examples:
> >> ------------------------------ Commands Entered
> >> ------------------------------
> >> SELECT empno, workdept
> >>      , firstnme || RTRIM(' '||midinit) || ' '||lastname AS fullname
> >>      , edlevel
> >>   FROM employee
> >>  WHERE (workdept, edlevel) =3D ANY (VALUES ('D11', 16) )
> >> ;
> >>
-----------------------------------------------------------------------=
-------
>
> >> EMPNO  WORKDEPT FULLNAME                       EDLEVEL
> >> ------ -------- ------------------------------ -------
> >> 000060 D11      IRVING F STERN                      16
> >> 000150 D11      BRUCE ADAMSON                       16
> >> 000170 D11      MASATO**** J YO****MURA               16
> >> 000190 D11      JAMES H WALKER                      16
> >> 000200 D11      DAVID BROWN                         16
> >> 200170 D11      KIYO**** YAMAMOTO                    16
>
> >>   6 record(s) selected.
>
> >> ------------------------------ Commands Entered
> >> ------------------------------
> >> SELECT empno, workdept
> >>      , firstnme || RTRIM(' '||midinit) || ' '||lastname AS fullname
> >>      , edlevel
> >>   FROM employee
> >>  WHERE (workdept, edlevel) IN (VALUES ('D11', 16), ('D11', 17) )
> >> ;
> >>
-----------------------------------------------------------------------=
-------
>
> >> EMPNO  WORKDEPT FULLNAME                       EDLEVEL
> >> ------ -------- ------------------------------ -------
> >> 000060 D11      IRVING F STERN                      16
> >> 000150 D11      BRUCE ADAMSON                       16
> >> 000160 D11      ELIZABETH R PIANKA                  17
> >> 000170 D11      MASATO**** J YO****MURA               16
> >> 000180 D11      MARILYN S SCOUTTEN                  17
> >> 000190 D11      JAMES H WALKER                      16
> >> 000200 D11      DAVID BROWN                         16
> >> 000210 D11      WILLIAM T JONES                     17
> >> 200170 D11      KIYO**** YAMAMOTO                    16
>
> >>   9 record(s) selected.
>
> >> 2) One usage of generated column is to create a functional
index.http:/=
/groups.google.com/group/comp.databases.ibm-db2/browse_frm/thre...
>
> > For point 2: I know of this, unfortunately, it breaks the relational
> > model, a base table contains a column that is not a column; an index
> > (functional or not) should  not impact a table structure, generated
> > columns do, in french they call it "une fausse bonne id=E9e" (an idea
> > that looks good but isn't)
>
> Let's not get all excited about this relational part.
> The REASON for the avoidance of functionally dependent columns is the
> risk of inconsistency. expression-generated columns assert consistency.
> Thus there is no problem. So let's not get hung up by the letter of the
> law and stick with it's spirit.
> This good idea has since been copied by both MS SQL Server and Oracle
> (which has expression based indexes, so they must have seen some
> goodness in it beyond mere indexing).
> I can't help but being proud :-)
>
> > Point 1: what about ( c1,c2,..) >=3D (value1,value2, ...) in where
> > clause ?
>
> Believe it or not. Actually making some progress towards your pet peeve.
> Don't give up hope.
>
> Cheers
> Serge
> --
> Serge Rielau
> DB2 Solutions Development
> IBM Toronto Lab
 




 8 Posts in Topic:
Again against generated columns or (missing) row value construct
Bernard Dhooghe <dhoog  2008-05-06 03:11:14 
Re: Again against generated columns or (missing) row value
Tonkuma <tonkuma@[EMAI  2008-05-07 06:54:45 
Re: Again against generated columns or (missing) row value
Bernard Dhooghe <dhoog  2008-05-08 01:30:25 
Re: Again against generated columns or (missing) row value co
Serge Rielau <srielau@  2008-05-08 11:37:04 
Re: Again against generated columns or (missing) row value
Tonkuma <tonkuma@[EMAI  2008-05-08 17:30:17 
Re: Again against generated columns or (missing) row value
Tonkuma <tonkuma@[EMAI  2008-05-08 17:54:05 
Re: Again against generated columns or (missing) row value
Bernard Dhooghe <dhoog  2008-05-13 00:04:53 
Re: Again against generated columns or (missing) row value
Bernard Dhooghe <dhoog  2008-05-13 04:28:38 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Mon Oct 6 16:14:16 CDT 2008.