Sorry, very tired. I read what I wrote and thought I should rephrase.
From my experience inheritance in the database is usually a bad idea
all
together.
Even if "user" and "password" fields exist in more than one
provider type
they shouldn't share a table as their indexes and type validation have no
reason to be > shared (even if they theoretically can)and it makes both
suffer from forced standardisation.
I don't know what a "Provider" in relation to your specific problem
but in the classic sense you shouldn't even have all providers be part
of the same type hatchery as you shouldn't have all factories or adapters.
A "Provider" is a trait and not identity. In Java terms, an interface and
not a base class.
----- Original Message -----
From: "Saggi Mizrahi" <smizrahi(a)redhat.com>
To: "Federico Simoncelli" <fsimonce(a)redhat.com>
Cc: "Eli Mesika" <emesika(a)redhat.com>, "engine-devel"
<engine-devel(a)ovirt.org>
Sent: Tuesday, May 14, 2013 10:35:20 AM
Subject: Re: [Engine-devel] What type of DB inheritance to use?
From my experience inheritance in the database is usually a bad idea all
together.
Fields like even if "user" and "password" fields exist in more than
one
provider type
they shouldn't share a table as their indexes and type validation have no
reason to be
shared (even if they theoretically can)and it makes both suffer from forced
standardisation.
I don't know what a "provider" is in your world but in the classic sense
you
should even
have all providers be part of the same object inheritance as you shouldn't
have all
factories. A "Provider" is a function and not identity. In Java terms, and
interface and
not a base class.
----- Original Message -----
> From: "Federico Simoncelli" <fsimonce(a)redhat.com>
> To: "Eli Mesika" <emesika(a)redhat.com>
> Cc: "engine-devel" <engine-devel(a)ovirt.org>
> Sent: Tuesday, May 14, 2013 3:13:30 AM
> Subject: Re: [Engine-devel] What type of DB inheritance to use?
>
> ----- Original Message -----
> > From: "Eli Mesika" <emesika(a)redhat.com>
> > To: "Liran Zelkha" <liran.zelkha(a)gmail.com>
> > Cc: "engine-devel" <engine-devel(a)ovirt.org>
> > Sent: Tuesday, May 14, 2013 3:21:11 AM
> > Subject: Re: [Engine-devel] What type of DB inheritance to use?
> >
> >
> >
> > ----- Original Message -----
> > > From: "Liran Zelkha" <liran.zelkha(a)gmail.com>
> > > To: "Yair Zaslavsky" <yzaslavs(a)redhat.com>
> > > Cc: "engine-devel" <engine-devel(a)ovirt.org>
> > > Sent: Sunday, May 12, 2013 1:19:07 PM
> > > Subject: Re: [Engine-devel] What type of DB inheritance to use?
> > >
> > > Hi
> > >
> > > From my experience, single table inheritance quickly grows into
> > > something
> > > unmanagable, as more and more (child related) fields are added, each
> > > line
> > > has a few relevant attributes, and a long list of NULL values.
> > > I would go with option 3. With materialized views, the costs of joins
> > > can
> > > be
> > > eliminated.
> >
> > +1
>
> I'd prefer option 3 too.
>
> --
> Federico
> _______________________________________________
> Engine-devel mailing list
> Engine-devel(a)ovirt.org
>
http://lists.ovirt.org/mailman/listinfo/engine-devel
>