The Data Warrior

Changing the world, one data model at a time. How can I help you?

Archive for the tag “checklist”

Better Data Modeling: An Easter Present

In celebration of Easter this year, I have a present for everyone.

A book sale!

I am putting my first Kindle ebook, A Check List for Doing Data Model Design Reviews, on Sale starting on Easter Sunday, April 5, 2015,  for five days!

The sooner you act, the better deal you will get:

Easter Sunday April 5, 2015 at 8:00 AM (PST) the price will be just 99 cents!

The next day April 6, 2015 at 11:00 AM (PST) the price will go up to $1.99

On  April 7, 2015 at 2:00 PM (PST) the price will go up to $2.99

On  April 8, 2015 at 5:00 PM (PST) the price will go up to $3.99

On  April 9, 2015 at 8:00 PM (PST) the price will go up to $4.99

On  April 10, 2015 at 11:00 PM (PST) the price will go up back to the regular price of $5.99

So if you don’t have a copy yet, buy yourself one for Easter.

If you have a copy, buy a copy for a friend as an Easter present.

Either way go here to buy one!

Happy Easter!


The Data Warrior (and Easter Bunny)

P.S. This promotion is also available on (where it start at 8:00 AM GMT).

My Data Model Checklist book is now available in Spanish – Just in time for #OOW14!

Exciting news!

I just got this email from Amazon:

Congratulations, your book “UNA LISTA DE VERIFICACIÓN PARA REALIZAR REVISIONES A LOS DISEÑOS DE MODELOS DE DATOS” is live in the Kindle Store and is currently enrolled in KDP Select. It is available for readers to purchase here.

If you are in Mexico, you can get the book here.

If you are in Spain, you can get it here.

Now, truth is I do NOT speak, read or write Spanish. But my good friend, and Oracle expert, Galo Balda does!

I am very grateful to Galo for putting in the effort to translate my little book so other data professionals around the world could read it in their native language.

You can (and should) follow Galo on Twitter, and on his personal blog in either English or Spanish.

BTW – Galo is speaking at OOW14 too, so if you are going, please drop into one of his excellent sessions on Pattern Matching (Session UGF4482) and Regular Expressions (Session CON4493).

Muchas Gracias Galo!

See you all at OOW!


The Oracle Data Warrior

P.S. Don’t forget you can still get this book in English on Amazon. Get it here.

Better Data Modeling: The best FREE data modeling tool just got better!

Yes, it true Virginia, the is a Santa Claus!

And this year Santa brought you a new, improved version of the best FREE data modeling tool in the known universe: Oracle SQL Developer Data Modeler 4.0.

The team at Oracle went all out this year and produced three (yes three) pre-release versions to make sure all the fixes and new features were rock solid before they called it production.

That is a lot of testing and work.

But worth the effort – they fixed piles of bugs and added dozens of new features.

Oracle product manager Jeff Smith (@thatjeffsmith) has already published several articles highlighting his favorite new features. Check out what he has to say here then go download the new version and give it try.

Let me know what you your favorite new feature is.

Merry Christmas!

The Oracle Christmas Elf


P.S. Without proven methods and standards, even the best tool will not insure you build the best model, so why not increase your chances by giving yourself the gift of knowledge by picking up a copy of my data model checklist book (on sale for a few more hours).


Better Data Modeling: Are you making these 3 beginner mistakes in your data models?

There are lots of people in the database industry that end up building data models.

Some of them are very educated and well trained and are professional data modelers and data architects. (If that is you, you can probably skip this article)

Others have learned on-the-job with little or no training or education on modeling concepts or techniques. They may be database administrators or even programmers that got asked to produce a model diagram by their boss or project manager, after the project was delivered (but there was no data modeler on the project ever).

This article is for this last group of folks who may want to improve their knowledge or skill in data modeling.

So here are three of the most common mistakes I have seen over the years:

1. Only defining surrogate keys

Do all your tables have a primary key defined and that primary key is a single column integer generated by the system? That is a surrogate key.

Instead of that, you should be defining a natural, or business, key for every table in your system. A natural key is a an attribute or set of attributes (that occur naturally in the data set) required to uniquely identify a row in that table. In addition you should define a Unique Key Constraint on those attributes in the database. Then you can be sure you will not get any duplicate data into the tables.

CLARIFICATION: This point has caused a lot of questions and comments. To be clear, the mistake here is to have ONLY defined a surrogate key. i believe that even if using surrogate keys is the best solution for your design, you should ALSO define an alternate unique natural key.

2. Using Visio or PowerPoint to draw your data model diagrams

This is all too common when no data modeler has been hired for a project or there is a really tight (as in NO) budget. The result is a pretty picture that gets out of date very quickly and can’t help you generate DDL code to build (or rebuild) the database.

Instead of that, you should either invest in a real data modeling tool (like ERWin), or better still, get Oracle’s totally free SQL Developer Data Modeler (my favorite!). The point being with a real data modeling  tool, you can forward and reverse engineer your database tables, make changes, review them, generate DDL, etc.

3. Not reviewing the model with real business people

Build it and they will come does not work!  How do you even know you are using the right terminology or have defined the relationships correctly if you have not talked to a business person about their data and data needs?

Instead of that, you need to involve business users from the very beginning of the project. You need to either set up 1:1 interviews with key stake holders or better yet have group JAD sessions to discuss the project and have them help you define the data model. That is the best way to get buy in to the end result.

Just avoiding these three rookie mistakes can greatly improve your chance of success.

Bonus Tip:  The best way to avoid these and other common rookie mistakes is to use a pre-defined data model review checklist.

You can get a jump-start on your own check list by downloading  my Kindle book A Checklist for Doing Data Model Design Reviews on

Get it here:, or just search Amazon for author Kent Graziano.

Here’s to building better data models! Are you with me?

Kent Graziano

The Data Warrior

Five ways to make Data Modeling Fun

While on my recent family vacation, I happened to mention I needed ideas for a blog post.

My son, all of nine years old, suggested the above title.

Hmmm…I said…not bad. That might work.

After all most people think data modeling booooorrring, right?

But for a few of us, it is kind of fun.

So then I asked him if he had any ideas how we could make it fun.

My son does not actually know how to do any data modeling (yet), but he has looked over my shoulder a few times and knows I draw pictures with boxes and connecting lines and words in the boxes.

With that bit of knowledge, he did come up with a few good ideas that really could make data model review sessions, a bit more fun, and maybe more effective.

Here they are:

Word Search

Put up a large version of a data model on the wall. Give the reviewers a list of words to find on the model diagram (you produce the list from your data dictionary).  Have them go to the diagram to highlight or circle the words one their list.

This will help get everyone familiar with the model and the layout of the diagram.

For more fun – form teams and keep score! Maybe even add a time limit per word.

Silly Sentences

If you don’t know how this works, you start with sentences with blanks in strategic areas. So the sentences may be missing nouns, verbs, adverbs, etc. You have someone fill in the blanks out of context – you ask for a noun but they have no idea what the sentence looks like until after you fill in all the blanks. (This game is in my son’s Nat Geo magazine) It can be quite funny.

One of the hardest parts of a logical model is naming the relationships.  Use this game to figure out the right sentences.

Start by writing the relationships with completely silly or even wrong verbs:

Each Customer must be found squatting at one or more Addresses.

Use your creativity to come up with goofy verbs for the relationships. Then get the users to “validate” the sentences.

I am sure they will be more than willing to correct your errors. 😉


You all know how this game works – you get the answer and have to come up with the questions.

This is an interesting way to validate your entity and attribute definitions. Use entity definitions as the answers. Users have to guess the entity name.

For example: What is a customer?

Of course it will be really interesting to see if they can link definitions you got from them with the entity names in the model. You might get some clarifications in the process.

Data Model Haiku

You can do this with definitions or maybe relationship sentences. Trying to put the words in a specific form will make you really think about your understanding of the concepts (and force you to be succinct).

Each customer may

Be contacted by one or

More customer reps

Note for my  friends in the UK: Feel free to do Sonnets in Iambic pentameter.

Data Model Telephone

This is pretty much what happens anyway – you attend a meeting with the customer, they give you requirements, you take notes then try to build a model from those notes. You write out definitions and get them to review those. Chances are good you did not get it quite right.

So for fun, and to make a point about recording details carefully, get your team in a room and start at one end whispering a definition to the first person and have them pass it on. Write down the end result to compare to the definition in the model.

If the result is really funny, tell the customer at the next review meeting.

So what do you think? Can we make data modeling more fun?

Let me know your thoughts in the comments below.

If you have any fun ideas, please share those too!

Game on!


P.S. If you would like some other ideas on how to get better data models, check out my recent Kindle book on best practices for data model design reviews.

Post Navigation

%d bloggers like this: