ERD Tools

  • My apologies up-front - this is a bit of a rant. But I truly want to hear what others think about this topic.

    As a senior software engineer with 15 years experience, I'm curious as to what others think of the current state of ERD (entity relationship diagram) tools. I, personally, am quite flabbergasted that a) very few of my colleagues find such tools important, and b) any ERD tool worth using is extremely expensive.

    Perhaps my incredulity stems from the fact that I was introduced to a very capable ERD tool at the start of my professional career. My first employer used ER/Studio from Embarcadero and I have been trying to get each of my successive employers to buy a copy every since (with no luck). Its price tag of over $1700 per seat (for the first year, MS SQL Server only, including "maintenance") is always a shock to the person who would sign the purchase order. (I am so irritated by this that I've often considered buying my own personal license that I would take with me from job to job, but apparently I'd rather rant about it than buy it and shut up.) Sybase's PowerDesigner appears to be even more expensive, and I believe ERWin is in the same ballpark.

    Most of my colleagues have apparently accepted the fact that they CAN'T have decent ERD tools and are not nearly as upset about it as I am. I seriously wonder sometimes if I'm taking crazy pills when I demand to have a full-featured ERD tool for my software projects, but no one else seems to care nearly as much as I do. SQL Server Management Studio's diagramming tool is, uh, nice but seriously deficient in many areas: diagrams are stored in a physical instance of the database, they can't be versioned, they can't be exported (except as giant graphic files), there is no foreign-key or index marker for columns, the connecting "lines" aren't very smart and are difficult to manage, etc. And Visio, oh my lord Visio, it is the bane of my existence. I just recently tried Visio 2010's diagramming tools, and was shocked that its reverse-engineering tool is essentially unchanged since the late 1990's, still requires the use of System DSNs (really?), and promptly crashed when I used it on a moderately sized SQL Server 2008 R2 schema.

    So I suppose I shouldn't wonder why any ERD tool worth its salt is still so bloody expensive. Or rather, why modern software suites haven't bothered to include what I consider such an indispensable tool for most software developers today. I've been dreaming of an ERD tool within Visual Studio for nearly a decade now, and there's still nothing. The new "Database Project" features introduced in recent editions is a start, but it has a loooooong way to go, and there is no mention of diagramming yet.

    So, what do you think? Am I taking crazy pills? Am I just a prima donna developer who demands the best tools when they're really not needed? Are capable ERDs tools truly a luxury of the well-funded DBA departments of large corporations? Are there cheaper alternatives that I've missed?

    Thanks,

    Andre

  • I've given up on fighting for licenses for ERD tools. And I've given up trying to convince people like Embarcadero that selling it for $500 would more than make up for the price drop in volume. Lots of deaf ears out there.

    Ultimately I think I've moved to the view that I won't work with them and so I tend to diagram with Visio, implement with T-SQL, then reverse engineer a new diagram back out. That seems to work as most developers only rarely consult the entire diagram. Actually I rarely consult it myself in most places. As you work inside a db often, you get to know it, and I've rarely had to develop from a bunch of them at once. So while I found it a nice time saver and a good tool, I can say that I question the value at $1700 as well.

  • If you're doing lots of design work, yeah, having a good ERD tool like ERStudio is an excellent force multiplier. You can really get a lot more work done a lot faster. I agree with you.

    If, on the other hand, you're not doing a lot of design work, you're just doing maintenance & easy development, it might not pay for itself.

    Next time you have a big design project and someone suggests a major change, especially something like changing the data types across a bunch of columns, or adding a common column to all tables in the system, quickly download a copy of ERStudio, show them how you can use the programming language there to swap that kind of thing around automagically. You might see an immediate purchase.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • I clearly remember the first ERD tool I used, it was a brain-powered pen and a notepad v1.0 then I got an upgrade to the blackboard edition šŸ˜€

    Looking back I consider myself fortunate enough to have had ERWin available for large projects - certainly a nice tool able to script for both Oracle and SQL Server which are my rdbms of choice.

    In regards to the way some people looks at you when you explain about why ERD is important... I've given up a long time ago. Sad.

    _____________________________________
    Pablo (Paul) Berzukov

    Author of Understanding Database Administration available at Amazon and other bookstores.

    Disclaimer: Advice is provided to the best of my knowledge but no implicit or explicit warranties are provided. Since the advisor explicitly encourages testing any and all suggestions on a test non-production environment advisor should not held liable or responsible for any actions taken based on the given advice.
  • Thanks, guys. I appreciate your time in writing a response, and for imparting your insights on the topic. It looks like I'll just keep dreaming of a future that has reasonably priced ERD tools, and in the meantime slog through with what I have now. šŸ™‚

    Thanks,

    Andre

  • I have used ER/Studio a lot over the years and I'm using it heavily right now. I like it for the reasons expressed by other posters. However, if you use the current version for any significant length of time on a model of any significant size you will notice the application is riddled with a variety of display bugs. For example, something I noticed several times today, after clicking on an entity to select it I hit Ctrl-C to copy and the display shifts a little bit. HUH?!? It happens when doing a *copy* and not when doing a paste. The result is rather ugly. The characters get a little messed up, seemingly doubling a certain line of pixels across the screen. The carefully positioned relationship lines are now one pixel lower where they meet the entities. I think other actions also cause the same symptoms. If I change the zoom level, say from 100% to 200% and immediately back to 100%, it usually fixes the characters and sometimes fixes the relationship lines. Sometimes I have to close the model and open it again. When you spend $1700 (or so) on an application I think it's reasonable to expect rock solid stability for basic operations.

    Creator of SQLFacts, a free suite of tools for SQL Server database professionals.

  • I am a data warehouse architect and one company I worked for tried to force me to use Visio . I threw a fit (so to speak) and did my justification homework, and got to purchase Sybase Powerdesigner for 3K. Without it I'd be totally and completely sunk. I just cannot manage several servers' worth of many databases at all different levels (staging, normalized, denormalized) any other way.

    And yes, i would have bought it myself if I had been forced.

    So, I'm with you šŸ™‚

  • Enterprise Architect can do ERD but I haven't used it much yet.

    http://www.sparxsystems.com.au/

  • Take a look at the RISE Editor from RISE to Bloome software. ItĀ“s a free ERD-tool where you can model your information in ERD-style, UML-style as well as Database-style drawings.

    RISE also offers free database and application code generators.

  • Hi Andre.

    I'm sorry I know I shouldn't be doing this but I really do need your help. I have been given specification to draw an ERD for a charity organisation and I'm finding it difficult to identify all necessary entities and relationships and also to make necessary assumptions.

    I will be very much grateful if you can help solve this problem of mine.

    Thanks in advance

    David..

    SPECIFICATION

    GTH is a non-political and non-profit organisation that co-ordinates peopleā€™s donations of various

    types around the world and it is based in the UK (at present). It does not discriminate among

    various ethnic groups neither is it influenced by any geographical factors.

    The collected money and any other donations are distributed among various organisations and

    voluntary bodies on request.

    You are to undertake this assignment individually, although you may discuss ideas with your fellow

    students. However, the final submission must be your own work.

    Where information is not available you should make reasonable assumptions. Make sure that you

    include all business constraints that have been captured during the analysis part.

    Specification

    The Director of GTH requires you to design a database system to assist with the

    administration of the office. The requirements collection and analysis phase of the

    database design process, which is based on the Managerā€™s view, has provided the

    following requirements specification for the GTH database system.

    The donations are collected in two ways from people. Hence, we classified the people

    according to their donations. For the purpose of this coursework, the following

    definitions apply:

    1. A ā€œDonatorā€, refers to a person who donates money or equivalent items (e.g.

    gold, shares, properties, etc).

    2. A ā€œVolunteerā€ refers to unpaid helper who voluntary provide his/her service

    free of charge (e.g. professional people such as Physicians, Engineers,

    Lecturers, etc.) or assist in certain activities.

    3. A ā€œContributorā€ refers to a person who can be a Donator, Volunteer or both.

    Each month a record of the actual total hours spent by a Volunteer is recorded.

    Labour hours are evaluated later in money by multiplying the monthly total hours by a

    suitable rate depending on the Volunteer profession.

    A record of each Contributorā€™s donation preferences must be kept. This is used to

    direct the donation to the favourite charity or institute at the Contributorsā€™ wish.

    These preferences are restricted by the following categories: Religious Assistance,

    Natural Disaster, Health Care, Family Care, Humanitarian Aid and Cultural Care. A

    Contributor can have at most one corresponding address when it is different from

    his/her usual address.

    Money contribution from a Donator must be all paid in one method only at any one

    time. However, a Donator can change his method of payment from one time to

    another. It can be Cash, Cheque, Bank Draft, Standing Order, or others. Non money

    payment by a Donator can be Shares, Property, Food, Clothes, Medicine and Bedding.

    One of the most important activities of a Volunteer is to persuade candidate

    Donators to give their donations. A Volunteer is responsible for communicating with

    many Donators that are allocated to him. No other Volunteer is allowed to

    communicate unless he is doing it on behalf of the main allocated Volunteer. Changing

    the allocated Volunteer is allowed but must be recorded. A Donator can only be

    approached by one Volunteer at one time. A record of the date of the last Donator

    contact and with whom it was made must be stored in the DB.

    Initially there was a plan to keep details of all founders of the GTH, but recently it

    has realised that the list of Governors of GTH would be more useful. The information

    should include each governorā€™s starting and finishing dates.

    The term Administrator is used to anyone works at the GTH (voluntary or paid).

    Some details on each administrator are to be kept. This includes name, address,

    contact numbers, type of contract, salary or hourly rate, as well as the position each

    occupies (e.g. a member, president), etc.

    A person can be a Founder, Governor, Administrator or any combination of the above.

    There is a high chance that any of these people become Donator (donates money or

    others) or Volunteer (labour participant in voluntary activities).

    Contributions (money or otherwise) are to be delivered to Beneficiary Institutes.

    Information is to be kept on each institute such as the name of the institute, contact

    name and address, name of any sponsors or caretakers, last annual spending budget

    (usually of the previous financial year). The DB also should hold information or brief

    descriptions of any future activities that a beneficiary institute is planning to engage

    in and awaiting sponsorship. The category of each activity is also classified in the

    same way as the donatorsā€™ preference categories above.

    A sponsor or a caretaker of a beneficiary institute can be of one type. These include

    Religious Authority, Government Organisation, International Organisation,

    professional Society, Personal or Family. A beneficiary institute can have at most one

    corresponding address when it is different from its usual address. An institute can

    share an address, phone and fax with another institute.

  • You'll get a lot more responses if you put up a post like this as a seperate question rather than posting it on top of a different question. Technically this is known as hijacking a thread.

    Also, rather than post all the requirements online like this, ask if you can find someone who has some spare time to help out. I assume this is a charity? If not, you're literally asking someone to do for free what you're getting paid to do. That might tend to raise peoples hackles a bit.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • You are to undertake this assignment individually, although you may discuss ideas with your fellow

    students.

    For the purpose of this coursework, the following

    definitions apply:

    It looks more like homework or a course secondment to provide industry experience alongside academic study.

  • Excellent catch.

    Seriously? You want us to do your homework for you? Can I walk you home from school if I do?

    If you're stuck on some aspect of this, please ask a question and we'll be glad to pitch in and help out, but trying to get us to deliver your homework for you... are we going to be there to take your tests? Are we going to go on job interviews for you? Will we be doing your work for you too, while you collect the pay check of course... Yeah, I ain't happy.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • You are to undertake this assignment individually, although you may discuss ideas with your fellow

    students. However, the final submission must be your own work.

    Wow, dude didn't even take time to remove that part out of it.

    Copy and Paste. Straight up Copy and Paste on the homework assignment.

    ................

    http://lmgtfy.com/?q=%22Mapping+of+Regular+Entity+Types%22

    Follow that link. It has some text book examples of what you need to do.

    I realize that would mean that you would have to:

    Put down your smart phone.

    Get off of facebook.

    Stop playing video games.

    Try to learn by putting some time into it.

    Good luck dude.

Viewing 15 posts - 1 through 15 (of 18 total)

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