data model design - ms practice reference?

  • Hello - I think around 10 years ago there was a trend where data model designers were putting table attributes in an attribute table as opposed to defining those attributes as table columns.

    I think I read somewhere that Microsoft now recommends against that approach as a bad design and I agree with this assessment.

    I'm supposed to attend a JAD design meeting on Monday and I think one of the team members plans to suggest an attributes table approach.  

    Can you refer me to a url where Microsoft states the correct practice for this so I can pass it along if necessary?  Maybe it's on one of their patterns and practices pages?

  • bump

  • I don't find any reference from Microsoft. Maybe you could find more if looking for Entity-Attribute-Value model.

    There are several threads, the last one was this: http://www.sqlservercentral.com/Forums/Topic1348537-373-1.aspx

    It's weird that is part of the Designing Database Solutions for Microsoft SQL Server 2012 Exam (70-465) https://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-465#tab2

    I'm not sure if this helps but I hope it helps you to continue your research.

    Luis C.
    General Disclaimer:
    Are you seriously taking the advice and code from someone from the internet without testing it? Do you at least understand it? Or can it easily kill your server?

    How to post data/code on a forum to get the best help: Option 1 / Option 2
  • Thanks for your feedback Luis. I think that should give me the information I need 🙂

  • sqlguy-736318 (9/6/2012)


    Hello - I think around 10 years ago there was a trend where data model designers were putting table attributes in an attribute table as opposed to defining those attributes as table columns.

    I think I read somewhere that Microsoft now recommends against that approach as a bad design and I agree with this assessment.

    I'm supposed to attend a JAD design meeting on Monday and I think one of the team members plans to suggest an attributes table approach.  

    Here's what I always want to ask the application developers who propose abusing a Database like this:


    Why stop there? Why not do the same thing to your code-base? Instead of designing all of your classes with their own named properties, why not just a Properties class that holds all of the property names and values for all of your objects? Just like with databases, that would be much more flexible, wouldn't it?

    What, you say that's crazy? You say, that would be slow, result in tons of redundant overhead, be incredibly hard to work with, hard to test and debug, and would effectively be throwing away everything that our development environment product does for us, and we'd end up having to re-invent and re-implement it all by hand anyway?

    Well then, let me ask you a second question: What makes you think that it's any different for an application's database?


    I really want to be in the room at the right time some day so that I can ask that question! :w00t:

    [font="Times New Roman"]-- RBarryYoung[/font], [font="Times New Roman"] (302)375-0451[/font] blog: MovingSQL.com, Twitter: @RBarryYoung[font="Arial Black"]
    Proactive Performance Solutions, Inc.
    [/font]
    [font="Verdana"] "Performance is our middle name."[/font]

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply