Database Redesign

  • ScottPletcher (8/1/2012)


    GSquared (8/1/2012)


    ScottPletcher (8/1/2012)


    Stefan Krzywicki (8/1/2012)


    ScottPletcher (8/1/2012)


    Stefan Krzywicki (8/1/2012)

    So what does Erwin do that Visio doesn't?

    ...

    >> every database I'm currently doing dev work in <<

    A straw man, since the topic was data modeling, not dev work.

    No. Not straw man at all. Do you do data modeling for databases you can't/won't be modifying/creating objects in? If so, why?

    Modeling a database you have no ability/authority to modify the schema in, or modeling a database you don't have any say in designing the schema of, sounds like a serious waste of time to me. I could be wrong, but I don't see a need to do that. What am I missing?

    Hence, I only do modeling for database I will develop, refactor, optimize, etc. Thus, "I'm currently doing dev work in".

    If you don't understand something, please ask for clarification instead of just getting insulting and arrogant about it. Please.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • Scott, as a post-script:

    Don't assume that your opinion, unbacked by data, is going to convince people of anything. Repeatedly asserting "Erwin>Visio" without any sort of analysis at all being presented is "assuming that doing the same thing over and over again will net different results". Google that phrase if you aren't familiar with it.

    I went ahead, based on your assertion, and did some research of my own on the subject. The general consensus I found was that Erwin is better for modeling complex databases. ROI (return-on-investment) on the cost alone (ignoring the opportunity cost of implementation and learning curve) is based on a savings of approximately 5% of the data architect's time per year. That time savings is a neutral ROI (cost = return). Add in learning curve and implementation costs, and it needs to save your data architect at least 7% of his time per year, based on a $100k/year salary. For a lower salary, it needs to save a proportionately higher time, and converse for higher salary. $87k/year is the US national average, with the top range being $100k/year, so I picked the higher number to make the product more attractive.

    7% of the year, at an average of 21 work/PTO days per month, is approximately 14 days per year in order for the product to pay for itself but have no added value.

    So, if a company's data architect spends an average of 3 weeks per year doing logical modeling, and this tool cuts that down to 0, or cuts 4 weeks down to 1, or adds 7% per year to the value of the data architect in terms of completed projects, there is no reason at all to buy the product. If it saves more than that, there is a reason to buy it. If it saves less than that, then it has negative value.

    Visio, at c. $90/5 years (average lifecycle of the product), needs to save your architect about half an hour of work per year, in order to net zero itself in ROI.

    If you had provided some sort of detailed analysis like that, rather than snarky, arrogant comments, you might have had some value in this discussion. As it is, I don't consider that you contributed anything of any value to it.

    Something like this analysis, would allow people to make a decision based on facts, about the product. I could decide, I don't spend enough time per year modeling databases for this to have a positive ROI for me. Someone else might decide they do spend enough time on that particular duty for it to be worth it to them.

    Most of us are professionals here. We make career/job decisions based on analysis of cost/benefit, not rude (and grammatically incorrect) comments like, "I agree; I'm sure you couldn't any more with ERWin than you do with Visio." That's just ego-gratification for yourself. It doesn't help anyone, and it actually harms you, because that comment from you is now a permanent part of what can come up from Googling your name. If this discussion comes up in a search by a prospective future employer or team-mate, you're toast.

    Learn from it. Move on, but learn from it.

    It's obvious that doing your job the best you can, matters to you. That's a good thing. Now just assume that interacting with others is something you need to also do the best you can.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • GSquared (8/2/2012)


    Scott, as a post-script:

    Don't assume that your opinion, unbacked by data, is going to convince people of anything. Repeatedly asserting "Erwin>Visio" without any sort of analysis at all being presented is "assuming that doing the same thing over and over again will net different results". Google that phrase if you aren't familiar with it.

    I went ahead, based on your assertion, and did some research of my own on the subject. The general consensus I found was that Erwin is better for modeling complex databases. ROI (return-on-investment) on the cost alone (ignoring the opportunity cost of implementation and learning curve) is based on a savings of approximately 5% of the data architect's time per year. That time savings is a neutral ROI (cost = return). Add in learning curve and implementation costs, and it needs to save your data architect at least 7% of his time per year, based on a $100k/year salary. For a lower salary, it needs to save a proportionately higher time, and converse for higher salary. $87k/year is the US national average, with the top range being $100k/year, so I picked the higher number to make the product more attractive.

    7% of the year, at an average of 21 work/PTO days per month, is approximately 14 days per year in order for the product to pay for itself but have no added value.

    So, if a company's data architect spends an average of 3 weeks per year doing logical modeling, and this tool cuts that down to 0, or cuts 4 weeks down to 1, or adds 7% per year to the value of the data architect in terms of completed projects, there is no reason at all to buy the product. If it saves more than that, there is a reason to buy it. If it saves less than that, then it has negative value.

    Visio, at c. $90/5 years (average lifecycle of the product), needs to save your architect about half an hour of work per year, in order to net zero itself in ROI.

    If you had provided some sort of detailed analysis like that, rather than snarky, arrogant comments, you might have had some value in this discussion. As it is, I don't consider that you contributed anything of any value to it.

    Something like this analysis, would allow people to make a decision based on facts, about the product. I could decide, I don't spend enough time per year modeling databases for this to have a positive ROI for me. Someone else might decide they do spend enough time on that particular duty for it to be worth it to them.

    Most of us are professionals here. We make career/job decisions based on analysis of cost/benefit, not rude (and grammatically incorrect) comments like, "I agree; I'm sure you couldn't any more with ERWin than you do with Visio." That's just ego-gratification for yourself. It doesn't help anyone, and it actually harms you, because that comment from you is now a permanent part of what can come up from Googling your name. If this discussion comes up in a search by a prospective future employer or team-mate, you're toast.

    Learn from it. Move on, but learn from it.

    It's obvious that doing your job the best you can, matters to you. That's a good thing. Now just assume that interacting with others is something you need to also do the best you can.

    And both of you were repeatedly asserting that Visio was better than ERWin with no analysis, just your opinions.

    ERWin has been a recognized leading product in data modeling for more than 20 years.

    Visio is a diagramming tool that added on some data modeling pieces.

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.

  • Do you mean the part where I said this:

    It's been a while since I used Erwin, but, last time I used it, it was a serious PITA. Visio works just fine, even for very complex databases. Heck, I prefer pen-and-paper over Erwin.

    I should give a more modern version a try. Might have improved since I last played with it.

    Or the part where Stefan said:

    When I had both tools to use and ended up choosing Visio it was partly because Erwin was difficult to use and there were things I wanted to do there that I couldn't, like controlling where the lines went. Granted, this was likely 15 years ago so things may have changed, but I haven't regretted going for Visio.

    or where he said:

    I've been designing databases and the systems that surround them for over 2 decades and I find Visio does everything I need.

    or this:

    You can do logical modeling in Visio, I don't know why you think you can't. Unless you're expecting the program to then interact with SQL Server in some way with the logical model you come up with, you can create one in Visio. Back in the day before we had all these fancy tools, you could create a logical model or a physical model, just choose what stencil you want, same here.

    or:

    No, it has a database template, columns, column types, relationships, foreign keys, etc... Even has a pretty good "reverse engineer" feature.

    or perhaps where I said:

    I found Erwin over-complex for the job needed. Clunky interface, poorly designed user-interaction, junk documentation, high-price. Took ten times as long to get the job done, at 50X the price:

    Erwin license: $4,794.00

    Visio standard license: $89

    Visio pro: $349

    As compared to statements from you like:

    Whatever. Just don't claim you're doing data modeling, which implies logical data modeling as well.

    (Insulting)

    I was responding to the continued, over and over and over, absurd claim that Visio was just as complete and thorough a modeling tool as ERWin. That's just a ridiculous claim.

    (False. That claim was never made by anyone. You assert it was made, but I challenge you to find any such statement by anyone other than you in this discussion.)

    Great; then it's perfect for you. If you can get around on a bicycle, you don't need a car.

    (Insulting)

    I admit I haven't used Visio that much, but I thought it was just a diagramming tool period, with no inherent data base design handling.

    (You admit you don't even know the limits of the product, but you're willing to dismiss it without investigating it.)

    Wow. You must not be a DBA or a data modeler

    (Insulting)

    Your statements are just as "opinion" as ours, but yours are designed to be insulting, ours aren't. That's the difference.

    Nobody has asserted that Visio is a more complete diagramming tool than Erwin. You say we've claimed that, but I just reviewed the whole discussion, and nobody has actually made that statement.

    What we have said is that, for us, it's a better tool. "Better" is ALWAYS a judgement statement. In this case, it includes judgements on cost, ease-of-use, and some specific features that Stefan finds compelling. I cited each of those statements above.

    Claming that "more features" = "better" is just an opinion on your part. A Swiss Army knife has more features and is more complete, but is it "better" to buy a $500 omni-tool (SA knife in this case), or a $3 screwdriver? Well, that depends on what you want to do with the thing, now doesn't it? That will be, and always is, subjective.

    If either of us had claimed that Visio does everything Erwin does, that would be false. If you had claimed Erwin is as inexpensive and easy to use/learn as Visio, that would be false. Claiming that either is better, for each person's use of the tool, is a personal judgement based on perceived cost/benefit calculations, and isn't objectively false.

    Now, if you were the one who designed the UI in Erwin, or documented it, my statements about "junk documentation" and "clunky interface" could be insulting to you. Are you that person? If so, I appologize (and suggest you take a class on UI design).

    Your original statements were professional and non-offensive. When we disagreed with you, you got nasty very quickly. As cited above.

    To clarify my comments about Erwin being difficult to use and slowing projects down ("ten times as long"), my primary complaint with it, and most modeling tools for any software, is that it seemed to assume a very waterfall method of design. The value for it is designing highly complex databases as a single unit-design. I don't work that way. I model (logical+physical) in a much more modular manner, and treat interactions between various parts of the datbase as API calls (essentially). Even going so far as to use schemas for logical isolation of applications/business-functions, within the database. I don't need to do a complex, up-front model, in order to end up with what I need for the business.

    When I last used it, Erwin made that kind of work much, much harder to do, even than pen-and-paper modeling. Had I used it as intended, the model and design I would have ended up with would certainly have been more complete. But the database would have taken much longer to get into use, would have taken longer to pay for itself, would have ended up with only the functionality and business rules that were in-place when the modeling was started (hence an actually inferior end-product). Thus, had I insisted on using it, I would have generated less value for the business at greater cost, and taken a longer time to do it. Hence Erwin = "worse", by the only metric that actually matters in a business environment.

    That won't be universally true. The kind of work that I do is specialized for SMB environments. Intentionally. In larger businesses, I'm sure Erwin (or something comparable) might be "better". Maybe that's the kind of work you do. I'd have to see actual proof-of-ROI to be sure, but I definitely am not stating that it's impossible or even unlikely, just that it's not applicable to the work I do.

    But even if so, that's no reason to get insulting and arrogant. Nor for you to falsely assert that we've said things we haven't.

    If the scale I work in means "I'm not a real DBA" by some standard you hold to, so be it. Based on your conduct in this discussion, your opinion of me has negative value to me, so I'll disregard it. I'm sure you disagree with that, which is your prerogative.

    - Gus "GSquared", RSVP, OODA, MAP, NMVP, FAQ, SAT, SQL, DNA, RNA, UOI, IOU, AM, PM, AD, BC, BCE, USA, UN, CF, ROFL, LOL, ETC
    Property of The Thread

    "Nobody knows the age of the human race, but everyone agrees it's old enough to know better." - Anon

  • GSquared (8/2/2012)


    Do you mean the part where I said this:

    It's been a while since I used Erwin, but, last time I used it, it was a serious PITA. Visio works just fine, even for very complex databases. Heck, I prefer pen-and-paper over Erwin.

    I should give a more modern version a try. Might have improved since I last played with it.

    Or the part where Stefan said:

    When I had both tools to use and ended up choosing Visio it was partly because Erwin was difficult to use and there were things I wanted to do there that I couldn't, like controlling where the lines went. Granted, this was likely 15 years ago so things may have changed, but I haven't regretted going for Visio.

    or where he said:

    I've been designing databases and the systems that surround them for over 2 decades and I find Visio does everything I need.

    or this:

    You can do logical modeling in Visio, I don't know why you think you can't. Unless you're expecting the program to then interact with SQL Server in some way with the logical model you come up with, you can create one in Visio. Back in the day before we had all these fancy tools, you could create a logical model or a physical model, just choose what stencil you want, same here.

    or:

    No, it has a database template, columns, column types, relationships, foreign keys, etc... Even has a pretty good "reverse engineer" feature.

    or perhaps where I said:

    I found Erwin over-complex for the job needed. Clunky interface, poorly designed user-interaction, junk documentation, high-price. Took ten times as long to get the job done, at 50X the price:

    Erwin license: $4,794.00

    Visio standard license: $89

    Visio pro: $349

    As compared to statements from you like:

    Whatever. Just don't claim you're doing data modeling, which implies logical data modeling as well.

    (Insulting)

    I was responding to the continued, over and over and over, absurd claim that Visio was just as complete and thorough a modeling tool as ERWin. That's just a ridiculous claim.

    (False. That claim was never made by anyone. You assert it was made, but I challenge you to find any such statement by anyone other than you in this discussion.)

    Great; then it's perfect for you. If you can get around on a bicycle, you don't need a car.

    (Insulting)

    I admit I haven't used Visio that much, but I thought it was just a diagramming tool period, with no inherent data base design handling.

    (You admit you don't even know the limits of the product, but you're willing to dismiss it without investigating it.)

    Wow. You must not be a DBA or a data modeler

    (Insulting)

    Your statements are just as "opinion" as ours, but yours are designed to be insulting, ours aren't. That's the difference.

    Nobody has asserted that Visio is a more complete diagramming tool than Erwin. You say we've claimed that, but I just reviewed the whole discussion, and nobody has actually made that statement.

    What we have said is that, for us, it's a better tool. "Better" is ALWAYS a judgement statement. In this case, it includes judgements on cost, ease-of-use, and some specific features that Stefan finds compelling. I cited each of those statements above.

    Claming that "more features" = "better" is just an opinion on your part. A Swiss Army knife has more features and is more complete, but is it "better" to buy a $500 omni-tool (SA knife in this case), or a $3 screwdriver? Well, that depends on what you want to do with the thing, now doesn't it? That will be, and always is, subjective.

    If either of us had claimed that Visio does everything Erwin does, that would be false. If you had claimed Erwin is as inexpensive and easy to use/learn as Visio, that would be false. Claiming that either is better, for each person's use of the tool, is a personal judgement based on perceived cost/benefit calculations, and isn't objectively false.

    Now, if you were the one who designed the UI in Erwin, or documented it, my statements about "junk documentation" and "clunky interface" could be insulting to you. Are you that person? If so, I appologize (and suggest you take a class on UI design).

    Your original statements were professional and non-offensive. When we disagreed with you, you got nasty very quickly. As cited above.

    To clarify my comments about Erwin being difficult to use and slowing projects down ("ten times as long"), my primary complaint with it, and most modeling tools for any software, is that it seemed to assume a very waterfall method of design. The value for it is designing highly complex databases as a single unit-design. I don't work that way. I model (logical+physical) in a much more modular manner, and treat interactions between various parts of the datbase as API calls (essentially). Even going so far as to use schemas for logical isolation of applications/business-functions, within the database. I don't need to do a complex, up-front model, in order to end up with what I need for the business.

    When I last used it, Erwin made that kind of work much, much harder to do, even than pen-and-paper modeling. Had I used it as intended, the model and design I would have ended up with would certainly have been more complete. But the database would have taken much longer to get into use, would have taken longer to pay for itself, would have ended up with only the functionality and business rules that were in-place when the modeling was started (hence an actually inferior end-product). Thus, had I insisted on using it, I would have generated less value for the business at greater cost, and taken a longer time to do it. Hence Erwin = "worse", by the only metric that actually matters in a business environment.

    That won't be universally true. The kind of work that I do is specialized for SMB environments. Intentionally. In larger businesses, I'm sure Erwin (or something comparable) might be "better". Maybe that's the kind of work you do. I'd have to see actual proof-of-ROI to be sure, but I definitely am not stating that it's impossible or even unlikely, just that it's not applicable to the work I do.

    But even if so, that's no reason to get insulting and arrogant. Nor for you to falsely assert that we've said things we haven't.

    If the scale I work in means "I'm not a real DBA" by some standard you hold to, so be it. Based on your conduct in this discussion, your opinion of me has negative value to me, so I'll disregard it. I'm sure you disagree with that, which is your prerogative.

    +1000. Well said!

  • Lucky9 (7/26/2012)


    I have to redesign the database based on the new business requirements

    Could someone please help me with the steps that needs to be followed

    when redesigning a database.

    First off I would like to apologize to Lucky9 (assuming he/she checks back in after all the ranting) for the ridiculous and uncalled-for side track this thread has taken.

    Second, I unfortunately have to bring bad news: if you have to ask a question like that it is my belief based on about 20 years of database application experience that you cannot gain the necessary knowledge, skills and experience you need to be successful at your task from some forum posts. It will be exceptionally difficult for you to do a good job at this refactoring without professional help. The good news is that if you get said help a) you will wind up with a much better application and b) you can get some mentoring on how to do this type of work in the future. Win-Win!

    Best,
    Kevin G. Boles
    SQL Server Consultant
    SQL MVP 2007-2012
    TheSQLGuru on googles mail service

Viewing 6 posts - 31 through 35 (of 35 total)

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