SQL Clone
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
SSChasing Mays
SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)

Group: General Forum Members
Points: 638 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)
SSC-Forever
SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)SSC-Forever (46K reputation)

Group: General Forum Members
Points: 46682 Visits: 19260
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?
Dave Poole
Dave Poole
SSC-Insane
SSC-Insane (24K reputation)SSC-Insane (24K reputation)SSC-Insane (24K reputation)SSC-Insane (24K reputation)SSC-Insane (24K reputation)SSC-Insane (24K reputation)SSC-Insane (24K reputation)SSC-Insane (24K reputation)

Group: General Forum Members
Points: 24222 Visits: 3490
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
www.simple-talk.com
Gary Varga
Gary Varga
SSC-Dedicated
SSC-Dedicated (35K reputation)SSC-Dedicated (35K reputation)SSC-Dedicated (35K reputation)SSC-Dedicated (35K reputation)SSC-Dedicated (35K reputation)SSC-Dedicated (35K reputation)SSC-Dedicated (35K reputation)SSC-Dedicated (35K reputation)

Group: General Forum Members
Points: 35408 Visits: 6562
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 Guru
SSC Guru (339K reputation)SSC Guru (339K reputation)SSC Guru (339K reputation)SSC Guru (339K reputation)SSC Guru (339K reputation)SSC Guru (339K reputation)SSC Guru (339K reputation)SSC Guru (339K reputation)

Group: General Forum Members
Points: 339454 Visits: 42623
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.
If you think its expensive to hire a professional to do the job, wait until you hire an amateur. -- Red Adair

Helpful Links:
How to post code problems
How to post performance problems
Forum FAQs
Stephen Hirsch
Stephen Hirsch
SSChasing Mays
SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)SSChasing Mays (638 reputation)

Group: General Forum Members
Points: 638 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
SSCarpal Tunnel
SSCarpal Tunnel (4.1K reputation)SSCarpal Tunnel (4.1K reputation)SSCarpal Tunnel (4.1K reputation)SSCarpal Tunnel (4.1K reputation)SSCarpal Tunnel (4.1K reputation)SSCarpal Tunnel (4.1K reputation)SSCarpal Tunnel (4.1K reputation)SSCarpal Tunnel (4.1K reputation)

Group: General Forum Members
Points: 4099 Visits: 2093
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