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" <[email protected]> > To: "Federico Simoncelli" <[email protected]> > Cc: "Eli Mesika" <[email protected]>, "engine-devel" <[email protected]> > 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" <[email protected]> > > To: "Eli Mesika" <[email protected]> > > Cc: "engine-devel" <[email protected]> > > 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" <[email protected]> > > > To: "Liran Zelkha" <[email protected]> > > > Cc: "engine-devel" <[email protected]> > > > 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" <[email protected]> > > > > To: "Yair Zaslavsky" <[email protected]> > > > > Cc: "engine-devel" <[email protected]> > > > > 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 > > [email protected] > > http://lists.ovirt.org/mailman/listinfo/engine-devel > > > _______________________________________________ Engine-devel mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-devel
