September 20, 2010 at 8:42 am
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
September 20, 2010 at 12:22 pm
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.
September 21, 2010 at 7:55 am
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
September 21, 2010 at 10:48 am
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.September 22, 2010 at 8:31 am
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
September 23, 2010 at 6:02 pm
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.
September 24, 2010 at 5:53 am
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 š
October 4, 2010 at 4:14 pm
Enterprise Architect can do ERD but I haven't used it much yet.
January 18, 2011 at 8:01 am
Here is a good post with several options:
http://stackoverflow.com/questions/272816/what-is-a-good-visio-enterprise-architect-replacement
.........
Microsoft, open up this feature with some "normal" versions !
February 14, 2011 at 12:25 pm
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.
February 23, 2011 at 5:33 pm
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.
February 24, 2011 at 6:20 am
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
February 24, 2011 at 6:35 am
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.
February 24, 2011 at 7:04 am
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
February 24, 2011 at 11:52 am
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