Browsing articles from "July, 2011"

What the Heck is an Entity Instance Diagram?

Jul 27, 2011   //   by Karen Lopez   //   Blog, Data, Data Modeling, Social Networking  //  4 Comments

I was recently contacted by a friend who is taking a database design course for some help in understanding an assignment.  His first task was to create a conceptual data model and then prepare entity instance diagrams for that data model.  He was wondering what an entity instance diagram was.  So was I, as I had not heard that term before.  So I fired off a search and came up with only one hit:

Google Search for Entity Instance Diagram: 1 hit.


I’m pretty sure that’s the first time I’ve every unintentionally found only one returned result for a search term before.  Unfortunately that one webpage has broken images, so I couldn’t see what one looked like.  So I told my friend:

Facebook: Karen Lopez quote


I was thinking of examples such as the ones in Simsion & Witt’s  Data Modeling Essentials [aff link]:


Sample data table from Data Modeling Essentials.


I did some more looking around and using Bing, found one more result which pointed to a PowerPoint slide deck by Ellis Cohen from his course on Theory, Practice & Methodology of Relational Database Design and Programming. In this deck I found an example of what he calls an entity instance diagram, which pretty much is what I thought it was.  I’ve been creating an using these sorts of things to explain how a data model should be used but I never had a name for them.  I called them sample data, data prototypes, data validation , worked examples, or just examples.  Now we have a name and a TLA!

In Cohen’s slide, he’s using an Entity Instance Diagram (EID) to to demonstrate weak entities:


Weak Entity Instance Diagram

I usually use Excel to prepare these, as I can reuse the data for each one.  I even have an ER/Studio macro to generate the tabs in a spreadsheet (one for each entity/table selected in a submodel). This makes preparing the sample data go much faster. 

So it looks like we have an answer now for what the heck is an entity instance diagram….and I have a name for a technique that I use all the time.  If you have other examples of this term, I’d love to see them.


Are You Turbo Encabulating Your Presentations?

Jul 26, 2011   //   by Karen Lopez   //   Blog, Data Modeling, Professional Development, Speaking  //  1 Comment

I presented half of a training course a while ago and the other presenter was really big on keeping to the agenda and the times allotted to each topic.  I’m a stickler for ending on time, so I respect that.  However, the presenter was so committed to the plan that he at several points refused to answer questions from the audience, even when the questions were about the meaning of an acronym or one of the many buzzwords sprinkled throughout his slides and narrative.  At one point a woman in the audience insisted that he define the terms on one slide.  He cut her off and suggested that she get some outside training on the topic.  I was shocked.  These attendees were new to the topics.  There were no prerequisites to the one day course.  If this had been a one hour session at a conference, I could see wanted to defer some questions in the name of time. However, this was an on-site training course for a single corporation.  There were big bucks being charged and outcomes were expected in return.  This presenter, by insisting that he get through the material whether or not the attendees were understanding what he was saying, was not doing his job.

I thought of him as I was in the process of migrating posts from our previous blog and came across this video on the Turbo Encabulator.


The Turbo Encabulator – Is this what you sound like?


Thank goodness he was responsible for only 4 hours of presenting just like our man in the video.  By the time I got up to do my part, the audience was in a fairly unfriendly mood.  I had to work hard at establishing some trust with the group to ensure them that my role for the final 4 hours was to ensure that they understood what they were supposed to understand.  I encouraged questions, altered timelines when more explanations were needed and responded with ad hoc examples when the slides weren’t good enough to get the point across.  And you know what?  I ended on time and managed to cover all the material in my part of the agenda.  That’s because I had allocated time in my plan to take questions, go back over material and to test audience members to ensure that we were ready to move on to the next topic.

I work really hard when I present to business users to avoid the normal IT bafflegab / dujamakicey lingo, but I know that we all struggle with this.

When I present at groups like DAMA (, I sometimes get feedback that I’ve used a term, such as ERD or LDM that might not be clearly understood by everyone in the crowd.  This is a tough call, as I want to make some assumptions about the audience at DAMA meetings so as to balance time allotted against the desire to deliver content that is useful for data architects.  It’s very painful to have a presenter speak at a DAMA or IRMAC meeting and have him spend half the time explaining what a database is and what a data model is.

So while I do encourage attendees to ask if I use a term or concept that is unfamiliar to them, most won’t ask.  Remember to watch your turbo encabulators when collaborating with others.  We are all guilty of this.   I actively encourage audience members to ask questions during my presentations just so I know whether or not I’m being clear.  If you are a presenter who does not allow any questions, you need to assume that everyone in the room has an equal understanding of the terms and implications of what you are covering or you need to allocate time to explain more, talk less.  In a training course I believe there is no excuse for not taking questions at all during the course.

Some tips on ensuring you aren’t Mr. Turbo Encabulator:

  1. Review your slides for TLAs and buzzwords.  Prepare a glossary for them if you don’t want to define them.
  2. Find a way to assess the make up of your audience.  Either poll the attendees before you speak or ask the organizers who will be attending. It’s always better to poll the audience, though.
  3. Tailor your presentation (not necessarily your slides) to the audience.
  4. Don’t try to give the same exact presentation every time to every audience.  They are different.
  5. Don’t be condescending when you explain something that you think everyone should know.  Even if everyone should know it.
  6. Allocate time for questions. Not just at the end, either.
  7. When in doubt, offer a definition of a term.
  8. Learn how to be happy-perky when you ask that one guy who is bogging down the presentation with questions/comments to save them for after the session.
  9. Keep track of frequently asked questions. Consider adding explanations to your slides.
  10. Thank the audience for asking questions.  Nothing says the audience is not that in to you if they don’t ask questions.

Thanks to @ldbjorh for the link to this video.

This post contains some content from an earlier post dated 4 Nov 2009.

Professional Development: What Would You Tell Your 16-Year-Old Self?

Jul 19, 2011   //   by Karen Lopez   //   Blog, Careers, Professional Development, Reviews  //  9 Comments

Karen at 17yo

I recently read a column in the Toronto Star by Lorraine Sommerfeld (Twitter | Blog).  Lorraine writes about finding a picture of herself when when she was 16 years old.  From High School Picture is Worth A 1,000 Words to Me, she muses:

I can’t help but think how many things she doesn’t know. Would I tell her that her first love will be killed by a drunk driver in just a few short months? No, I wouldn’t tell her that. Pain is rarely better, even with a preamble.

Would I tell her she isn’t going to be a lawyer? Another no, I suspect. Life has a way of unfurling as it should, and good things are often replaced by better ones for reasons that are larger than our present vision. Life with no surprises isn’t much of a life.

This got me thinking (and Tweeting) about what advice I’d give my 16-year-old self.    In this post  I’m going to focus on the professional advice I’d give beta Karen.

  1. When mentors you trust practically push you into your bosses office to ask for a raise, GO ASK FOR THE RAISE.  One of the most costly lessons I learned early in my career was that managers rarely hand out sufficient pay increases to people who never ask for them.  They take that non-demanded money and give it to he (usually) guys who ask the boss for a raise almost every month.  It’s easier that way.  Women almost never ask for raises.  It’s not how we think about our role in business, unfortunately.  Very unfortunately.  We women (and men) who fail to ask for raise could be leaving $1-2 million dollars on the table during the span of our career.  Remember how compounding works in loans?  Well, it also works with income.  In that one mistaken thought of "I’m already making tons of money" I left about $30,000 on the table I later found out. In today’s dollars that is $60,000.  That’s just what they were going to bump up my salary by if I had asked.  If I had pushed for more I would have gotten even more.  Forget the cannoli; ask for the raise. 
  2. When someone tries to engage you in a negative way, the only way to win is to not be negative in return.  I’m still learning this message, but the more I practice it, the more it becomes more natural…and the better it feels.  I tend to get all riled up when someone accuses me of cheating, of being unfair, or being overly sales-oriented.  In fact, I’m so anti-cheating/unfair/salesy that I often miss good opportunities just so that I can stay far on the safe side of those issues.  When people throw aspersions at me I want to go full steam ahead, seek revenge and aim to spread damage far and wide.  But the few times I’ve done that, I’ve always lost out. Always.  I had a great mentor (see point one) who I swear would help someone sort the items in his wallet if he were mugged.  He was very patient.  People thought he was weak, but he was probably the most powerful person in the office. He held that power because he was fair when things got difficult.  He never raised his voice.  He never sought revenge.  It isn’t about always turning the other cheek; it’s about recognizing that we can’t advance a project together when people are at war with each other.  By responding with a BFG 9000, even when it is entirely justified, you’re going to lose.
  3. "Nobody will ever remember what [you] wore, but they will forever remember how [you] made them feel". That quote comes from Lorraine’s article as well. It is related to point two above, but it also applies in neutral or even good situations.  I’ve seen people doing a great job be harmed by people who want to be rude or insulting just for the fun of it.  In fact, this happened in a discussion post just this week on LinkedIn.  Somehow the Internet brings out the trolls and spoilers due to the physical distance between parties.  Feeding the trolls just gives them more power and makes them bigger. It’s what they feed on. Don’t feed the trolls.

    I remember a project manager on one of my early projects.  She was not a nice person and we often disagreed on how our work should be completed.  We didn’t argue, but her assignments were not in my normal toolset: "cut 50 tables out of the database ", "don’t use diagrams where a 1,000 words will work" and "we need more defects in the system so we can get follow-on work". She also had a problem with anyone smiling at work.  If you’ve read my works, you probably know that I don’t exactly have a reputation for being sunny and cheerful.  Snark is my normal mode.  But this project manager consistently wrote to my bosses about my violation of her rules of no smiling at work.  Our clients smiled and it was painful not to return the smile.  My bosses offered the best advice they could: "try not to smile in front of her".  She was a terror to work with.  She insulted workers on a regular basis.  I could not name one single thing she wore. Not one.  But I remember how she treated people.

  4. Some of your best teachers will be people who work against you.  That contractor who hired you to be a team leader for corn detasseling but turned demoted you (and cut your pay) when all the other girls quit ("I can’t have a girl supervising boys; it’s not right")? He taught you that you are going to run into environments where people think that women are less than men.  When you quit rather than take the insult, you set yourself up for understanding that you don’t have to take the type of fertilizer that some people think is perfectly fine to dish out.  You will survive, even if you quit a job.  Even if you have to do that more than once.  Life is too short to spend time in an environment that you don’t enjoy at least most of the time.  
  5. Ditch the hot rollers.  Your hair is frizzy.  Work with it.  Wear more hats. Life is too short to spend it in curlers.

What are the things that you’d tell your childhood self?  I saw some great funny ones on Twitter, but I’d really like to hear what you seriously would have liked to have known back then.  We’re using #2My16yoSelf on Twitter and in other blog posts.

#DataQuality In the Wild, Some Where…

Jul 7, 2011   //   by Karen Lopez   //   Data, Data Modeling, Database  //  6 Comments



This is why you should never believe users when they say they NEVER have international data in their databases.

I understand that this letter was probably mailed using some sort of application that has no room for a Country data field on the address.  I get mail from the US all the time with hand written, taped or otherwise appended Canada on the envelope. 

I have business users all the time tell me that they are 100% sure that they have no international data in their systems.  When we dive in to see what they actually have, they will find all kinds of "workarounds" that end users have done to wedge that data into their applications and database.  In fact, I’ve been guilty of that myself.

The C/O trick, pictured in this post, is a common one.  Other tricks I’ve seen:

  • Hand writing the country on that see-through window pane on the envelope.  This often rubs off between the sender and my mail box.
  • Using another field, such as Mailstop or Box #
  • Using "sounds like" choices, such as OH for ON
  • Using "fake" ZIPCodes like 90210, 99999 or 12345 when a postal code isn’t accepted by the application.
  • Adding the country to the end of my name.  I kind of like the sound of Karen Canada, but I’m not sure my postie is going to get that mail to me.
  • Just leaving the country off the address and hope that the mail gets directed correctly.

I will concede that employees are bending or breaking the rules when they accept international data if the policy is that they should not.  By having applications strictly enforce these rules, organizations still end up with that data and it is much harder to find and it is most likely poor quality data at that.

Something Wonderful: MVP

Jul 5, 2011   //   by Karen Lopez   //   Blog, Database, Professional Development  //  3 Comments


I received some news that made my week:  I’ve been recognized as a Microsoft Most Valuable Professional (MVP), SQL Server.  In case you aren’t familiar the the program, this overview from the Microsoft MVP website might help:

About the MVP Award Program

Since the early 1990s, Microsoft has recognized the inspiring activities of MVPs around the world with the MVP Award. MVPs freely share their deep knowledge, real-world experience, and impartial, objective feedback to help people enhance the way they use technology. Of more than 100 million users who participate in technology communities, around 4,000 are recognized as Microsoft MVPs.

MVPs make exceptional contributions to technical communities, sharing their passion, knowledge, and know-how. Meanwhile, because MVPs hear the opinions and needs of many others in the technical community, they are well-placed to share highly focused feedback with Microsoft.

MVPs are independent experts who are offered a close connection with people at Microsoft. To acknowledge MVPs’ leadership and provide a platform to help support their efforts, Microsoft often gives MVPs early access to Microsoft products, as well as the opportunity to pass on their highly targeted feedback and recommendations about product design, development, and support.

This program doesn’t just recognize technical knowledge, but also how much MVPs give back to their communities via support online to other users, speaking engagements, volunteering, user group leadership and other direct support to those using technology.  The award is for only one year, so to maintain this level, MVPs must continue to support the community.

I’m very honoured to receive this recognition.  I consider the group of MVPs I’ve worked with over the last year or so to be true leaders in the IT profession.  Being considered part of this group of giving professionals is wonderful news. 

In the spirit of giving to the community, we’re going to be doing something special in a week or so.  Watch this blog for more details later.

Subscribe via E-mail

Use the link below to receive posts via e-mail. Unsubscribe at any time. Subscribe to by Email