1

We are interested in sharing the meta data and data dictionary among the team. I know that we can use the Extended Properties for this purpose, but based on my experience I've seen it gets out of date easily, because team members tend to forget to update them or skip this step.

I'm wondering if there is a more convenient way to create the data dictionary which can be maintained with the least amount of effort and time.

Thank you.

3
  • 2
    Good question, with no "perfect" answer. On one project, we created a Wiki site, but this has the same problem as your Extended Properties. So make it a part of the project to document everything, at the end of a sprint or dev cycle (depending on methodology).
    – user1240
    Oct 25, 2012 at 23:10
  • See this question: Version control for database objects May 12, 2013 at 15:49
  • Use Dataedo, forget abut extended properties.
    – Bad Pitt
    May 5, 2015 at 13:46

1 Answer 1

1

In our data warehouse, we built an application (data warehouse tracker) which maintains versions of data warehouse objects over time. When employees in our data warehouse (project manager, data modeler, DBA, ETL developer, Quality Assurance, data warehouse specialist, report writer, etc...) work on a project to build a new data model, we attach new objects and existing objects to those projects. Every change to a database object requires an explanation of what the object is being used for or what they are fixing in that object (new/change to data model, script being run to fix a data quality issue, ETL source code migration within informatica, defect being logged to a batch--or ETL staging or atomic run for data migration, report bug, etc...). When there is a report request using that column (or table), we require a comment about why they are using that object. If an defect is logged to that object, we attach a comment for the defect. Someone reading about that object can see all changes made to that object, so they can get a good understanding of what it's used for.

We started using Meta Data Manager in Informatica, but nobody ever updated the descriptions within the data dictionary. Because there may be different definitions of that object, we store the definition of all changes over time. Our new approach works well, because anyone can go and correct someone else's mistake, and that keeps everyone honest. Everyone using the object can comment on it's definition. We still track source lineage within Informatica, but we just link to that lineage from our data warehouse tracker.

2
  • 1
    "Every change to a database object requires an explanation of what the object is being used for or what they are fixing in that object " : isn't that normally termed "source code control"? May 12, 2013 at 3:58
  • The post you referred me to(above) was a good starting point.Thanks for that.
    – Sky
    May 12, 2013 at 22:36

Not the answer you're looking for? Browse other questions tagged or ask your own question.