Extracting Business Knowledge From Data Models
Recently, I was following a discussion on extracting business knowledge from UML models. UML models, UML models, and more UML models.
Slowly a thought was emerging from my soaky brain:
hey dude, data models are models too.
In fact, a data model doesn’t always have to be represented by an ERD diagram.
It is also very feasible to diagram a data model using UML class diagrams. It even gets better when you stereotype your classes <<table>>. This enables code generation software to automagically recognize the stereotypes and – for example – generate SQL script for you.
Why on earth that could be remotely interesting?
Because your model is independent from its physical representation.
This way, you can “extract” a model from the physical database, introduce some enhancements, and re-apply the enhancements to the original physical database.
It enables you to enforce an uniform use of naming conventions.
No comments yet.
No trackbacks yet.
Generating Database Objects from an UML Model – Part 1
about 1 month ago - No comments
jQuery(document).ready(function($) { window.setTimeout(‘loadDigg_436()’,5000);window.setTimeout(‘loadReddit_436()’,5000);window.setTimeout(‘loadGBuzz_436()’,5000);window.setTimeout(‘loadDzone_436()’,5000);window.setTimeout(‘loadTwitter_436()’,5000);window.setTimeout(‘loadFBShare_436()’,5000);window.setTimeout(‘loadFBShareMe_436()’,5000);window.setTimeout(‘loadFBLike_436()’,5000);window.setTimeout(‘loadDelicious_436()’,5000);$(‘.delicious-normal-img,.delicious-compact-img’).hide();window.setTimeout(‘loadSphinn_436()’,5000); }); function loadDigg_436(){ jQuery(document).ready(function($) { $(‘.dd-digg-436′).remove();$(‘.DD_DIGG_AJAX_436′).attr(‘href’,'http://digg.com/submit?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models’);$.getScript(‘http://widgets.digg.com/buttons.js’); }); } function loadReddit_436(){ jQuery(document).ready(function($) { $(‘.dd-reddit-436′).remove();$(‘.DD_REDDIT_AJAX_436′).attr(‘width’,’51′);$(‘.DD_REDDIT_AJAX_436′).attr(‘height’,’69′);$(‘.DD_REDDIT_AJAX_436′).attr(‘src’,'http://www.reddit.com/static/button/button2.html?width=51&url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&newwindow=1′); }); } function loadGBuzz_436(){ jQuery(document).ready(function($) { $(‘.dd-gbuzz-436′).remove();$.getScript(‘http://www.google.com/buzz/api/button.js’); }); } function loadDzone_436(){ jQuery(document).ready(function($) { $(‘.dd-dzone-436′).remove();$(‘.DD_DZONE_AJAX_436′).attr(‘width’,’52′);$(‘.DD_DZONE_AJAX_436′).attr(‘height’,’68′);$(‘.DD_DZONE_AJAX_436′).attr(‘src’,'http://widgets.dzone.com/links/widgets/zoneit.html?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&t=1′); }); } function loadTwitter_436(){ jQuery(document).ready(function($) { $(‘.dd-twitter-436′).remove();$(‘.DD_TWITTER_AJAX_436′).attr(‘width’,’50′);$(‘.DD_TWITTER_AJAX_436′).attr(‘height’,’61′);$(‘.DD_TWITTER_AJAX_436′).attr(‘src’,'http://api.tweetmeme.com/button.js?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&source=&style=normal’); }); } function loadFBShare_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshare-436′).remove(); $.getScript(‘http://static.ak.fbcdn.net/connect.php/js/FB.Share’); }); } function loadFBShareMe_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshareme-436′).remove();$(‘.DD_FBSHAREME_AJAX_436′).attr(‘width’,’53′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘height’,’69′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘src’,'http://widgets.fbshare.me/files/fbshare.php?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&size=large’); }); } function More >
UML Use Case – Uses or Extends?
about 1 month ago - No comments
jQuery(document).ready(function($) { window.setTimeout(‘loadDigg_436()’,5000);window.setTimeout(‘loadReddit_436()’,5000);window.setTimeout(‘loadGBuzz_436()’,5000);window.setTimeout(‘loadDzone_436()’,5000);window.setTimeout(‘loadTwitter_436()’,5000);window.setTimeout(‘loadFBShare_436()’,5000);window.setTimeout(‘loadFBShareMe_436()’,5000);window.setTimeout(‘loadFBLike_436()’,5000);window.setTimeout(‘loadDelicious_436()’,5000);$(‘.delicious-normal-img,.delicious-compact-img’).hide();window.setTimeout(‘loadSphinn_436()’,5000); }); function loadDigg_436(){ jQuery(document).ready(function($) { $(‘.dd-digg-436′).remove();$(‘.DD_DIGG_AJAX_436′).attr(‘href’,'http://digg.com/submit?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models’);$.getScript(‘http://widgets.digg.com/buttons.js’); }); } function loadReddit_436(){ jQuery(document).ready(function($) { $(‘.dd-reddit-436′).remove();$(‘.DD_REDDIT_AJAX_436′).attr(‘width’,’51′);$(‘.DD_REDDIT_AJAX_436′).attr(‘height’,’69′);$(‘.DD_REDDIT_AJAX_436′).attr(‘src’,'http://www.reddit.com/static/button/button2.html?width=51&url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&newwindow=1′); }); } function loadGBuzz_436(){ jQuery(document).ready(function($) { $(‘.dd-gbuzz-436′).remove();$.getScript(‘http://www.google.com/buzz/api/button.js’); }); } function loadDzone_436(){ jQuery(document).ready(function($) { $(‘.dd-dzone-436′).remove();$(‘.DD_DZONE_AJAX_436′).attr(‘width’,’52′);$(‘.DD_DZONE_AJAX_436′).attr(‘height’,’68′);$(‘.DD_DZONE_AJAX_436′).attr(‘src’,'http://widgets.dzone.com/links/widgets/zoneit.html?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&t=1′); }); } function loadTwitter_436(){ jQuery(document).ready(function($) { $(‘.dd-twitter-436′).remove();$(‘.DD_TWITTER_AJAX_436′).attr(‘width’,’50′);$(‘.DD_TWITTER_AJAX_436′).attr(‘height’,’61′);$(‘.DD_TWITTER_AJAX_436′).attr(‘src’,'http://api.tweetmeme.com/button.js?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&source=&style=normal’); }); } function loadFBShare_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshare-436′).remove(); $.getScript(‘http://static.ak.fbcdn.net/connect.php/js/FB.Share’); }); } function loadFBShareMe_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshareme-436′).remove();$(‘.DD_FBSHAREME_AJAX_436′).attr(‘width’,’53′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘height’,’69′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘src’,'http://widgets.fbshare.me/files/fbshare.php?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&size=large’); }); } function More >
Model-Driven Code Generation Process
about 6 months ago - No comments
jQuery(document).ready(function($) { window.setTimeout(‘loadDigg_436()’,5000);window.setTimeout(‘loadReddit_436()’,5000);window.setTimeout(‘loadGBuzz_436()’,5000);window.setTimeout(‘loadDzone_436()’,5000);window.setTimeout(‘loadTwitter_436()’,5000);window.setTimeout(‘loadFBShare_436()’,5000);window.setTimeout(‘loadFBShareMe_436()’,5000);window.setTimeout(‘loadFBLike_436()’,5000);window.setTimeout(‘loadDelicious_436()’,5000);$(‘.delicious-normal-img,.delicious-compact-img’).hide();window.setTimeout(‘loadSphinn_436()’,5000); }); function loadDigg_436(){ jQuery(document).ready(function($) { $(‘.dd-digg-436′).remove();$(‘.DD_DIGG_AJAX_436′).attr(‘href’,'http://digg.com/submit?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models’);$.getScript(‘http://widgets.digg.com/buttons.js’); }); } function loadReddit_436(){ jQuery(document).ready(function($) { $(‘.dd-reddit-436′).remove();$(‘.DD_REDDIT_AJAX_436′).attr(‘width’,’51′);$(‘.DD_REDDIT_AJAX_436′).attr(‘height’,’69′);$(‘.DD_REDDIT_AJAX_436′).attr(‘src’,'http://www.reddit.com/static/button/button2.html?width=51&url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&newwindow=1′); }); } function loadGBuzz_436(){ jQuery(document).ready(function($) { $(‘.dd-gbuzz-436′).remove();$.getScript(‘http://www.google.com/buzz/api/button.js’); }); } function loadDzone_436(){ jQuery(document).ready(function($) { $(‘.dd-dzone-436′).remove();$(‘.DD_DZONE_AJAX_436′).attr(‘width’,’52′);$(‘.DD_DZONE_AJAX_436′).attr(‘height’,’68′);$(‘.DD_DZONE_AJAX_436′).attr(‘src’,'http://widgets.dzone.com/links/widgets/zoneit.html?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&t=1′); }); } function loadTwitter_436(){ jQuery(document).ready(function($) { $(‘.dd-twitter-436′).remove();$(‘.DD_TWITTER_AJAX_436′).attr(‘width’,’50′);$(‘.DD_TWITTER_AJAX_436′).attr(‘height’,’61′);$(‘.DD_TWITTER_AJAX_436′).attr(‘src’,'http://api.tweetmeme.com/button.js?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&source=&style=normal’); }); } function loadFBShare_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshare-436′).remove(); $.getScript(‘http://static.ak.fbcdn.net/connect.php/js/FB.Share’); }); } function loadFBShareMe_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshareme-436′).remove();$(‘.DD_FBSHAREME_AJAX_436′).attr(‘width’,’53′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘height’,’69′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘src’,'http://widgets.fbshare.me/files/fbshare.php?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&size=large’); }); } function More >
Conceptual and Storage Model
about 7 months ago - No comments
jQuery(document).ready(function($) { window.setTimeout(‘loadDigg_436()’,5000);window.setTimeout(‘loadReddit_436()’,5000);window.setTimeout(‘loadGBuzz_436()’,5000);window.setTimeout(‘loadDzone_436()’,5000);window.setTimeout(‘loadTwitter_436()’,5000);window.setTimeout(‘loadFBShare_436()’,5000);window.setTimeout(‘loadFBShareMe_436()’,5000);window.setTimeout(‘loadFBLike_436()’,5000);window.setTimeout(‘loadDelicious_436()’,5000);$(‘.delicious-normal-img,.delicious-compact-img’).hide();window.setTimeout(‘loadSphinn_436()’,5000); }); function loadDigg_436(){ jQuery(document).ready(function($) { $(‘.dd-digg-436′).remove();$(‘.DD_DIGG_AJAX_436′).attr(‘href’,'http://digg.com/submit?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models’);$.getScript(‘http://widgets.digg.com/buttons.js’); }); } function loadReddit_436(){ jQuery(document).ready(function($) { $(‘.dd-reddit-436′).remove();$(‘.DD_REDDIT_AJAX_436′).attr(‘width’,’51′);$(‘.DD_REDDIT_AJAX_436′).attr(‘height’,’69′);$(‘.DD_REDDIT_AJAX_436′).attr(‘src’,'http://www.reddit.com/static/button/button2.html?width=51&url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&newwindow=1′); }); } function loadGBuzz_436(){ jQuery(document).ready(function($) { $(‘.dd-gbuzz-436′).remove();$.getScript(‘http://www.google.com/buzz/api/button.js’); }); } function loadDzone_436(){ jQuery(document).ready(function($) { $(‘.dd-dzone-436′).remove();$(‘.DD_DZONE_AJAX_436′).attr(‘width’,’52′);$(‘.DD_DZONE_AJAX_436′).attr(‘height’,’68′);$(‘.DD_DZONE_AJAX_436′).attr(‘src’,'http://widgets.dzone.com/links/widgets/zoneit.html?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&t=1′); }); } function loadTwitter_436(){ jQuery(document).ready(function($) { $(‘.dd-twitter-436′).remove();$(‘.DD_TWITTER_AJAX_436′).attr(‘width’,’50′);$(‘.DD_TWITTER_AJAX_436′).attr(‘height’,’61′);$(‘.DD_TWITTER_AJAX_436′).attr(‘src’,'http://api.tweetmeme.com/button.js?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&source=&style=normal’); }); } function loadFBShare_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshare-436′).remove(); $.getScript(‘http://static.ak.fbcdn.net/connect.php/js/FB.Share’); }); } function loadFBShareMe_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshareme-436′).remove();$(‘.DD_FBSHAREME_AJAX_436′).attr(‘width’,’53′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘height’,’69′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘src’,'http://widgets.fbshare.me/files/fbshare.php?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&size=large’); }); } function More >
Sex and Drugs and Software Architecture
about 8 months ago - No comments
jQuery(document).ready(function($) { window.setTimeout(‘loadDigg_436()’,5000);window.setTimeout(‘loadReddit_436()’,5000);window.setTimeout(‘loadGBuzz_436()’,5000);window.setTimeout(‘loadDzone_436()’,5000);window.setTimeout(‘loadTwitter_436()’,5000);window.setTimeout(‘loadFBShare_436()’,5000);window.setTimeout(‘loadFBShareMe_436()’,5000);window.setTimeout(‘loadFBLike_436()’,5000);window.setTimeout(‘loadDelicious_436()’,5000);$(‘.delicious-normal-img,.delicious-compact-img’).hide();window.setTimeout(‘loadSphinn_436()’,5000); }); function loadDigg_436(){ jQuery(document).ready(function($) { $(‘.dd-digg-436′).remove();$(‘.DD_DIGG_AJAX_436′).attr(‘href’,'http://digg.com/submit?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models’);$.getScript(‘http://widgets.digg.com/buttons.js’); }); } function loadReddit_436(){ jQuery(document).ready(function($) { $(‘.dd-reddit-436′).remove();$(‘.DD_REDDIT_AJAX_436′).attr(‘width’,’51′);$(‘.DD_REDDIT_AJAX_436′).attr(‘height’,’69′);$(‘.DD_REDDIT_AJAX_436′).attr(‘src’,'http://www.reddit.com/static/button/button2.html?width=51&url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&newwindow=1′); }); } function loadGBuzz_436(){ jQuery(document).ready(function($) { $(‘.dd-gbuzz-436′).remove();$.getScript(‘http://www.google.com/buzz/api/button.js’); }); } function loadDzone_436(){ jQuery(document).ready(function($) { $(‘.dd-dzone-436′).remove();$(‘.DD_DZONE_AJAX_436′).attr(‘width’,’52′);$(‘.DD_DZONE_AJAX_436′).attr(‘height’,’68′);$(‘.DD_DZONE_AJAX_436′).attr(‘src’,'http://widgets.dzone.com/links/widgets/zoneit.html?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&t=1′); }); } function loadTwitter_436(){ jQuery(document).ready(function($) { $(‘.dd-twitter-436′).remove();$(‘.DD_TWITTER_AJAX_436′).attr(‘width’,’50′);$(‘.DD_TWITTER_AJAX_436′).attr(‘height’,’61′);$(‘.DD_TWITTER_AJAX_436′).attr(‘src’,'http://api.tweetmeme.com/button.js?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&source=&style=normal’); }); } function loadFBShare_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshare-436′).remove(); $.getScript(‘http://static.ak.fbcdn.net/connect.php/js/FB.Share’); }); } function loadFBShareMe_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshareme-436′).remove();$(‘.DD_FBSHAREME_AJAX_436′).attr(‘width’,’53′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘height’,’69′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘src’,'http://widgets.fbshare.me/files/fbshare.php?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&size=large’); }); } function More >
The Art of Creating A Top model
about 1 year ago - No comments
jQuery(document).ready(function($) { window.setTimeout(‘loadDigg_436()’,5000);window.setTimeout(‘loadReddit_436()’,5000);window.setTimeout(‘loadGBuzz_436()’,5000);window.setTimeout(‘loadDzone_436()’,5000);window.setTimeout(‘loadTwitter_436()’,5000);window.setTimeout(‘loadFBShare_436()’,5000);window.setTimeout(‘loadFBShareMe_436()’,5000);window.setTimeout(‘loadFBLike_436()’,5000);window.setTimeout(‘loadDelicious_436()’,5000);$(‘.delicious-normal-img,.delicious-compact-img’).hide();window.setTimeout(‘loadSphinn_436()’,5000); }); function loadDigg_436(){ jQuery(document).ready(function($) { $(‘.dd-digg-436′).remove();$(‘.DD_DIGG_AJAX_436′).attr(‘href’,'http://digg.com/submit?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models’);$.getScript(‘http://widgets.digg.com/buttons.js’); }); } function loadReddit_436(){ jQuery(document).ready(function($) { $(‘.dd-reddit-436′).remove();$(‘.DD_REDDIT_AJAX_436′).attr(‘width’,’51′);$(‘.DD_REDDIT_AJAX_436′).attr(‘height’,’69′);$(‘.DD_REDDIT_AJAX_436′).attr(‘src’,'http://www.reddit.com/static/button/button2.html?width=51&url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&newwindow=1′); }); } function loadGBuzz_436(){ jQuery(document).ready(function($) { $(‘.dd-gbuzz-436′).remove();$.getScript(‘http://www.google.com/buzz/api/button.js’); }); } function loadDzone_436(){ jQuery(document).ready(function($) { $(‘.dd-dzone-436′).remove();$(‘.DD_DZONE_AJAX_436′).attr(‘width’,’52′);$(‘.DD_DZONE_AJAX_436′).attr(‘height’,’68′);$(‘.DD_DZONE_AJAX_436′).attr(‘src’,'http://widgets.dzone.com/links/widgets/zoneit.html?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&title=Extracting+Business+Knowledge+From+Data+Models&t=1′); }); } function loadTwitter_436(){ jQuery(document).ready(function($) { $(‘.dd-twitter-436′).remove();$(‘.DD_TWITTER_AJAX_436′).attr(‘width’,’50′);$(‘.DD_TWITTER_AJAX_436′).attr(‘height’,’61′);$(‘.DD_TWITTER_AJAX_436′).attr(‘src’,'http://api.tweetmeme.com/button.js?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&source=&style=normal’); }); } function loadFBShare_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshare-436′).remove(); $.getScript(‘http://static.ak.fbcdn.net/connect.php/js/FB.Share’); }); } function loadFBShareMe_436(){ jQuery(document).ready(function($) { $(‘.dd-fbshareme-436′).remove();$(‘.DD_FBSHAREME_AJAX_436′).attr(‘width’,’53′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘height’,’69′);$(‘.DD_FBSHAREME_AJAX_436′).attr(‘src’,'http://widgets.fbshare.me/files/fbshare.php?url=http://blog.henkvandijken.nl/2010/03/extracting-business-knowledge-from-data-models/&size=large’); }); } function More >












