Book a Demo

Author Topic: How useful is Data Dictionaries?  (Read 3693 times)

peter king

  • EA User
  • **
  • Posts: 20
  • Karma: +0/-0
    • View Profile
How useful is Data Dictionaries?
« on: November 19, 2009, 12:09:19 am »
Hi friend,

Before we create a ERD i was told to create  Data Dictionary.. apart from being a documentation for each entity what other advantages are there in a Data Dictionary?

Thanks

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: How useful is Data Dictionaries?
« Reply #1 on: November 19, 2009, 05:19:32 am »
Peter,

If you explain what exactly you mean by data dictionary I think you might get some more useful responses.

Geert

son-of-sargasso

  • EA User
  • **
  • Posts: 122
  • Karma: +0/-0
    • View Profile
Re: How useful is Data Dictionaries?
« Reply #2 on: November 19, 2009, 04:35:16 pm »
I'll take a stab in the dark here.  In UML terms, they are talking about (either) a business object model or a domain model (it really doesn't matter which).

Consider the business term "Order", to the Purchasing department it is a thing they create against a supplier, to the manufacturing department it is a thing they fulfill for a customer.  Two very different things.  If you leap into creating an ERM (not ERD - see below) based on an unclear idea as to which thing you are modeling, errors may arise.  Obviously this is a trivial example, but you can get my drift.  A domain model or BOM can be used to define exactly which business thing we are talking about in a given context,  it doesn't have to be detailed down to the last association role either, just far enough to provide the desired clarity.

By way of example, I was working on a project for a stock broker some years ago where the developers had an understanding of the term "ex dividend" that was completely the opposite of what it means within the broking industry, they thought of it as it is used between a broker and a client.  Unfortunately this had become lost in the (typical) truckloads of documentation associated with the system and I was the only one to spot it (as a tester) very late in the dev cycle as we were reviewing the specs against the test plans.

Now, another thing I keep mentioning and I'm not sure you've got it yet.  The diagram is NOT the model.  You appear to me to talk about specific diagram types and issues with diagrams.  One thing that I have learned over some (cant remember) years of UML usage is that a paragraph is worth a thousand diagrams.  Hence in the above I have mentioned an ERM not an ERD.  Diagrams (IMO) are a way to provide convenient access to model details and provide a means to illustrate a cohesive view of the model detail.  My models may have anywhere between 1 and 20 odd diagrams on a specific aspect of the system.  They are a tool used in developing and communicating the model, not an end in themselves.

For instance, I rarely, if ever have needed to include sequence diagrams in any published model document.  Yet, some architects seem to derive pleasure by demanding their inclusion.  I either ignore these pedants or shoot them, the latter is usually easier.  BUT, to be sure I have used a couple of trainloads of seq diagrams in the development of some models.

hth
bruce


« Last Edit: November 19, 2009, 04:37:01 pm by barrydrive »

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: How useful is Data Dictionaries?
« Reply #3 on: November 19, 2009, 04:40:36 pm »
I'll leave discussing the merits (or otherwise) of data dictionaries to others (here's a page, for example) but I'll just mention that if you remember to fill in the Notes section of your database columns, you can create a data dictionary by performing a custom SQL query. Here's a simple SQL query to get you started:

Code: [Select]
SELECT t_attribute.Name, t_object.Name, t_attribute.Type, t_attribute.Length, t_attribute.Precision, t_attribute.Notes
FROM t_attribute, t_object
WHERE t_attribute.Stereotype='column'
AND t_attribute.Object_ID=t_object.Object_ID
ORDER BY t_attribute.Name ASC
« Last Edit: November 19, 2009, 04:43:46 pm by KP »
The Sparx Team
[email protected]

son-of-sargasso

  • EA User
  • **
  • Posts: 122
  • Karma: +0/-0
    • View Profile
Re: How useful is Data Dictionaries?
« Reply #4 on: November 19, 2009, 04:57:54 pm »
Nice link Neil!  :)

I thought the style reminded me of something. Then I read the wiki intro...
There's hope for us old FORTRAN coders yet!

b

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: How useful is Data Dictionaries?
« Reply #5 on: November 20, 2009, 11:45:57 am »
Quote
Nice link Neil!  :)

I thought the style reminded me of something. Then I read the wiki intro...
There's hope for us old FORTRAN coders yet!

b
Seconded...  (and another ex FORTRAN coder...)

Although these days we might say that a data dictionary is just a part of the Ontological Model.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!