That would seem to be the only logical conclusion. :) Jared Still Certifiable Oracle DBA and Part Time Perl Evangelist Oracle Blog: http://jkstill.blogspot.com Home Page: http://jaredstill.com On Mon, Oct 19, 2009 at 9:39 AM, Blanchard, William < wblanchard@xxxxxxxxxxxxxxxxxxxx> wrote: > Does the fact that I don't think this makes you a geek make me a geek? > ;-) > > > WGB > > ------------------------------ > *From:* oracle-l-bounce@xxxxxxxxxxxxx [mailto: > oracle-l-bounce@xxxxxxxxxxxxx] *On Behalf Of *Robert Freeman > *Sent:* Monday, October 19, 2009 11:34 AM > *To:* Jared Still > *Cc:* Muru.Balakrishnan@xxxxxxxxxxxxxxx; oracle-l@xxxxxxxxxxxxx > *Subject:* Re: Design Question > > As a Vulcan once said, "There are always alternatives." > > My kids are right.... I AM a geek.... (Holds head in his hands). > > RF > > > Robert G. Freeman > Oracle ACE > Ask me about on-site Oracle Training! RMAN, DBA, Tuning, you name it! > Author: > Oracle Database 11g RMAN Backup and Recovery (Oracle Press) - ON IT'S WAY > SOON! > OCP: Oracle Database 11g Administrator Certified Professional Study Guide > (Sybex) > Oracle Database 11g New Features (Oracle Press) > Oracle Database 10g New Features (Oracle Press) > Other various titles > Blog: http://robertgfreeman.blogspot.com > > ------------------------------ > *From:* Jared Still <jkstill@xxxxxxxxx> > *To:* Robert Freeman <robertgfreeman@xxxxxxxxx> > *Cc:* Muru.Balakrishnan@xxxxxxxxxxxxxxx; oracle-l@xxxxxxxxxxxxx > *Sent:* Mon, October 19, 2009 10:27:45 AM > *Subject:* Re: Design Question > > To be quite honest, I have never liked the idea for all > the reasons you mention, and I have never used it. > > It is just an alternative. Testing may show that it is not > worth the hassle. Too, the advice was given when RBO > was the only viable choice for an optimizer. > > The CBO is considerably smarter about how to join > tables, so stuffing everything into a single code table > may now be of little or no value. > > Jared Still > Certifiable Oracle DBA and Part Time Perl Evangelist > Oracle Blog: http://jkstill.blogspot.com > Home Page: http://jaredstill.com > > > > On Mon, Oct 19, 2009 at 9:13 AM, Robert Freeman > <robertgfreeman@xxxxxxxxx>wrote: > >> Personally, I never liked the single table approach for codesets/lookup >> data. I've started down that path a few times and always decided that it was >> more hassle and risk than individual codeset tables. I think it's a bit of a >> holdover from non-relational days and involves several negatives. >> >> Negatives include lack of the ability to define FK's (sure, you can design >> triggers, but what a hassle), lack of clarity with respect to the nature of >> the data in the table (I know what person_type_code stores, I have no idea >> what a table called codesets really stores), hierarchial issues (the design >> itself requires a multi-tier hierarchy of data. IE: code_set_type, >> code_set_identifier, code_set_value) which complicates the SQL generated. >> >> It might work for a small design with only a few lookups, but for a large >> design I think it's just asking for trouble. >> >> My opinion, YMMV.... :-) >> >> RF >> >> >> Robert G. Freeman >> Oracle ACE >> Ask me about on-site Oracle Training! RMAN, DBA, Tuning, you name it! >> Author: >> Oracle Database 11g RMAN Backup and Recovery (Oracle Press) - ON IT'S WAY >> SOON! >> OCP: Oracle Database 11g Administrator Certified Professional Study Guide >> (Sybex) >> Oracle Database 11g New Features (Oracle Press) >> Oracle Database 10g New Features (Oracle Press) >> Other various titles >> Blog: http://robertgfreeman.blogspot.com >> >> ------------------------------ >> *From:* Jared Still <jkstill@xxxxxxxxx> >> *To:* robertgfreeman@xxxxxxxxx >> *Cc:* Muru.Balakrishnan@xxxxxxxxxxxxxxx; oracle-l@xxxxxxxxxxxxx >> *Sent:* Fri, October 16, 2009 3:41:12 PM >> *Subject:* Re: Design Question >> >> On Fri, Oct 16, 2009 at 2:25 PM, Robert Freeman <robertgfreeman@xxxxxxxxx >> > wrote: >> >>> ... >>> One thing I've found is that the *more* codesets you have, the more >>> complex the queries can get. The more complex a query gets, the more >>> difficult it becomes to tune. I had a model a couple of years ago with some >>> very complex security rules. Each rule really translated into it's own >>> codeset table. Also, because of the complexity of the security rules, SQL >>> had to be dynamically generated based on various contexts (what a mess!!). >>> It involved lots of sub-queries, etc. Performance was a bear for a number of >>> reasons. >>> >>> >> Another approach to that was one advocated by Gurry and Corrigan in >> Oracle Performance Tuning (O'Reilly 1996) is to combine multiple lookup >> tables into a single table. >> >> IIRC another column was added to indicate what the codes were used for. >> >> That approach may be useful, and as usual, YMMV and it requires testing. >> >> >> Jared Still >> Certifiable Oracle DBA and Part Time Perl Evangelist >> Oracle Blog: http://jkstill.blogspot.com >> Home Page: http://jaredstill.com >> >> >> >> >