Click here to monitor SSC
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 


Relationally Divided over EAV


Relationally Divided over EAV

Author
Message
Stephen Hirsch
Stephen Hirsch
SSC-Enthusiastic
SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)

Group: General Forum Members
Points: 160 Visits: 161
If we called "Best Practices" by their true name (The One Practice To Rule Them All) people would be more skeptical...:-P
Matt Miller (#4)
Matt Miller (#4)
SSCertifiable
SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)SSCertifiable (7.7K reputation)

Group: General Forum Members
Points: 7655 Visits: 18086
Jeff Moden (12/10/2013)
Robert.Sterbal (12/9/2013)
The words "Best Practice" are an industry wide problem. We need to acknowledge them as recommended processes, which deviations from should be researched, not prohibited.


+1 to that. I'll also state that there are certain "Best Practices" that were born just because someone decided to call it that and they've actually not done any testing to support the "Its a best practice" claim. To wit, there are some "Best Practice" recommendations that I've run across in the past that are actually worst practices in my book the worst of which is "It's ok to use a While loop if you can't figure out another way to do it". They never identify what a While loop is actually appropriate for nor demonstrate methods to easily avoid While loops and so people don't take the time to learn the any way to avoid the While loop because it's supposedly ok to use if you can't think of a way. :-)


Agreed. Whether adopted from some external source or developed internally, BP's should be documented to show fit within the org, including evidence that they fit the need and represent sane approaches.

Our Best Practices are captured on an internal Wiki; each best practice gets its own page, with context as to when to when and when to NOT use, evidenced we might have developed (and links to anything external); where it's been applied; and always, some form of open discussion area should there be a challenge to the entry.

----------------------------------------------------------------------------------
Your lack of planning does not constitute an emergency on my part...unless you're my manager...or a director and above...or a really loud-spoken end-user..All right - what was my emergency again?
David.Poole
David.Poole
Hall of Fame
Hall of Fame (3.7K reputation)Hall of Fame (3.7K reputation)Hall of Fame (3.7K reputation)Hall of Fame (3.7K reputation)Hall of Fame (3.7K reputation)Hall of Fame (3.7K reputation)Hall of Fame (3.7K reputation)Hall of Fame (3.7K reputation)

Group: General Forum Members
Points: 3698 Visits: 3120
Things get badged up as best practice thus sullying the term best practice in the same way that certain practices get badged as agile while actually being bodge it and wing it thus sullying the term agile.

The context in which something is best practice is important.
For example, "for integers use the smallest integer data type possible" is open to abuse.
"Use the smallest data type that covers the possible use cases" is better, though not a panacea.

To my mind the term "best practice" is intended to be "preferred common usage" to help newbies from straying into dangerous territory without appropriate skills/awareness. Stage one is learning the rules. Stage two is learning the caveats to those rules. Stage three is discovering new rules/caveats.

LinkedIn Profile

Newbie on www.simple-talk.com
Gary Varga
Gary Varga
SSCrazy Eights
SSCrazy Eights (8.4K reputation)SSCrazy Eights (8.4K reputation)SSCrazy Eights (8.4K reputation)SSCrazy Eights (8.4K reputation)SSCrazy Eights (8.4K reputation)SSCrazy Eights (8.4K reputation)SSCrazy Eights (8.4K reputation)SSCrazy Eights (8.4K reputation)

Group: General Forum Members
Points: 8380 Visits: 6163
Just as with Design Patterns (see Gamma et al), the context of use is required together with when it is both appropriate and inappropriate to apply. Examples help too. The worst "Best Practices" are those that frame advice in an authoritarian voice without and justification nor any caveats.

Gaz

-- Stop your grinnin' and drop your linen...they're everywhere!!!
Jeff Moden
Jeff Moden
SSC-Forever
SSC-Forever (45K reputation)SSC-Forever (45K reputation)SSC-Forever (45K reputation)SSC-Forever (45K reputation)SSC-Forever (45K reputation)SSC-Forever (45K reputation)SSC-Forever (45K reputation)SSC-Forever (45K reputation)

Group: General Forum Members
Points: 45307 Visits: 39934
David.Poole (12/11/2013)
To my mind the term "best practice" is intended to be "preferred common usage" to help newbies from straying into dangerous territory without appropriate skills/awareness. Stage one is learning the rules. Stage two is learning the caveats to those rules. Stage three is discovering new rules/caveats.


I like Stage Four the best... learning that "It Depends". :-D

--Jeff Moden

RBAR is pronounced ree-bar and is a Modenism for Row-By-Agonizing-Row.
First step towards the paradigm shift of writing Set Based code:
Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column.
Although they tell us that they want it real bad, our primary goal is to ensure that we dont actually give it to them that way.
Although change is inevitable, change for the better is not.
Just because you can do something in PowerShell, doesnt mean you should. Wink

Helpful Links:
How to post code problems
How to post performance problems
Forum FAQs
Stephen Hirsch
Stephen Hirsch
SSC-Enthusiastic
SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)SSC-Enthusiastic (160 reputation)

Group: General Forum Members
Points: 160 Visits: 161
I remember hearing a surgeon talk about his surgical memoir. It really struck me. He said, the first 10 years, you learn how to cut. The next 10 years, you learn when to cut. The next 10 years, you learn when not to cut.
David McKinney
David McKinney
Right there with Babe
Right there with Babe (771 reputation)Right there with Babe (771 reputation)Right there with Babe (771 reputation)Right there with Babe (771 reputation)Right there with Babe (771 reputation)Right there with Babe (771 reputation)Right there with Babe (771 reputation)Right there with Babe (771 reputation)

Group: General Forum Members
Points: 771 Visits: 2090
SwePeso (12/9/2013)
Here is a link to download the schema of my hybrid solution.

It can also be found on my web page www.sqltopia.com


Just starting to try to get my head around your schema...a couple of questions.

1) Most of the tables have primary keys, except factHeuristic and factPair, however both of these have Unique Clustered Indexes and no nullable columns. Any chance of an explanation as to why you didn't go for a PK? I'm thinking it has got something to do with the Partition Scheme?

2) I'm interested in using this technique for an Oracle solution, but Oracle doesn't support included columns in indexes. Any thoughts on my chances of success - or is this key? Could I for example create new or extend existing indexes to literally cover these included columns?

I'm working from the pdf document...I wonder has it been written up in more detail elsewhere?

It really does look very promising, but not easy for a aging brain like mine to digest.

Many thanks,

David McKinney.
Go


Permissions

You can't post new topics.
You can't post topic replies.
You can't post new polls.
You can't post replies to polls.
You can't edit your own topics.
You can't delete your own topics.
You can't edit other topics.
You can't delete other topics.
You can't edit your own posts.
You can't edit other posts.
You can't delete your own posts.
You can't delete other posts.
You can't post events.
You can't edit your own events.
You can't edit other events.
You can't delete your own events.
You can't delete other events.
You can't send private messages.
You can't send emails.
You can read topics.
You can't vote in polls.
You can't upload attachments.
You can download attachments.
You can't post HTML code.
You can't edit HTML code.
You can't post IFCode.
You can't post JavaScript.
You can post emoticons.
You can't post or upload images.

Select a forum

































































































































































SQLServerCentral


Search