Category Archives: ER/Studio

ER/Studio Public Training – September 13-17 – San Francisco

e-Modelers and Embarcadero Team Up to Provide ER/Studio Public Training Course
September 13-17, 2010 in San Francisco, CA

e-Modelers is pleased to announce that it will deliver public training on Embarcadero’s ER/Studio Enterprise, a powerful set of data modeling, business process modeling and UML modeling solutions. Registration is now open and the training will take place the week of September 13, 2010 at the Embarcadero headquarters in San Francisco, CA. It will highlight ER/Studio’s extensive modeling capabilities within an enterprise context, while providing best practices, an integrated case study and hands-on practice.

The classes will be led by Senior Enterprise Architect and Instructor, Dr. Nicholas Khabbaz and Senior Data Modeler and Instructor, Dan Weller at the Embarcadero headquarters in San Francisco. Dr. Khabbaz and Dan Weller of e-Modelers will cover the following areas:

  • Organize ER/Studio key features according to a solid modeling process context
  • Show how to align process, data and software systems through ER/Studio
  • Highlight key ER/Studio modeling capabilities that result in high quality models
  • Demonstrate the collaboration and reporting aspects of ER/Studio
  • Incorporate modeling and ER/Studio best practices
  • Apply all the training to an integrated case study
  • Use hands-on practice to implement all the key features covered in the training

For pricing information and additional information on attending this informative training please visit the
e-Modelers website or download the data sheet. For registration, please contact Becky Baird at
(209) 609-7195 begin_of_the_skype_highlighting  or via email at bbaird@emodelers.com

To stay connected with the ER/Studio product team with information on new products, training, resources and other information, join us online at:

Seven Deadly Sins of Database Design

How to avoid the worst problems in database design.

by Jason Tiret

Several factors can lead to a poor database design — lack of experience, a shortage of the necessary skills, tight timelines and insufficient resources can all contribute. In turn, poor database design leads to many problems down the line, such as sub-par performance, the inability to make changes to accommodate new features, and low-quality data that can cost both time and money as the application evolves.

I constantly hear from data professionals that if you don’t get the data right, nothing else matters. However, many times it is the tail (i.e., the application) that’s wagging the dog rather than the dog wagging the tail. The database just comes along for the ride as the application grows in scope and functionality.

Addressing some simple data modeling and design fundamentals can greatly alleviate most, if not all, of these concerns. In this article we’ll focus on seven common database design “sins” that can be easily avoided and suggest ways to correct them in future projects:

  1. Poor or missing documentation for database(s) in production
  2. Little or no normalization
  3. Not treating the data model like a living, breathing organism
  4. Improper storage of reference data
  5. Not using foreign keys or check constraints
  6. Not using domains and naming standards
  7. Not choosing primary keys properly

Sin #1: Poor or missing documentation for database(s) in production

Documentation for databases usually falls into three categories: incomplete, inaccurate, or none at all. To make matters worse, it is almost never centralized in one place. Without proper, centralized documentation, understanding the impact of a change is difficult at best, impossible at worst. This causes developers, DBAs, architects, and business analysts to scramble to get on the same page. They are left up to their own imagination to interpret the meaning and usage of the data.

Additionally, developers may think that the table and column names are descriptive or self explanatory enough to understand the usage of the data (more on this with Sin #6). However, as the workforce turns over, if there is no documentation in place, knowledge of the systems can literally walk out the door leaving a huge void that is impossible to fill. Even starting bottom-up with just the physical information can alleviate the issue of lack of documentation tremendously.

The best approach is to place the models into a central repository and spawn automated reports because despite minimal effort everyone benefits. Producing a central store of models is only half the battle, though. Once that is done, executing validation and quality metrics will enhance the quality of the models over time. As your level of governance increases, you can extend what metadata is captured in the models.

Sin #2: Little or no normalization

There are times to denormalize a database structure to achieve optimized performance, but sacrificing flexibility will paint you in a corner. Despite the long-held belief by developers, one table to store everything is not always optimal. The “one table” approach may make data access easier, but invariably there will be many NULLs for columns that do not apply to a record, and special application code will be needed to handle it. Another common mistake is repeating values stored in a table. This can greatly decrease flexibility and increase difficulty when updating the data.

Understanding even the basics of normalization adds flexibility to a design while reducing redundant data. The first three levels of normalization are usually sufficient for most cases:

  • First Normal Form: Eliminate duplicate columns and repeating values in columns
  • Second Normal Form: Remove redundant data that apply to multiple columns
  • Third Normal Form: Each column of a table should be dependent on the primary identifier

Denormalized structure
Figure 1: Denormalized structure

Normalized equivalent
Figure 2: Normalized equivalent

The first normal form tells us to break off Address and Phone information into their own tables with identifiers. Following the second normal form, we break off Zip Code information into its own table so that it is not duplicated for each address. Consideration should be made for City and State information as well, but that might be a case where performance over duplication wins. Third normal form would have us look at Organization Name and Industry in the Customer table and put those into their own tables since they are not functionally dependent on the Customer ID. The same would apply to City and State Code in the ZIP Code table.

Sin #3: Not treating the data model like a living, breathing organism

I have seen numerous examples of customers performing the modeling up front, but once the design is in production, all modeling ceases. It is always preferable to design first then build. It is proven that errors corrected in the design phase are significantly less costly than those fixed after production.

The sin arises when changes creep into the database due to critical production issues. Inevitably, the model is then left languishing on the side if there is not a process to update the model along with the database. As more changes occur in the database, the model becomes useless.

Undocumented data can also lead to security and compliance risks, poor understanding of future changes and the inability to adapt to future needs of the business. Although the design-then-build practice may be a utopia that is never reached, the changes need to find their way back to the model.

Sin #4: Improper storage of reference data

I see two main problems with reference data. It is either stored in many places or, even worse, embedded in the application code. It is almost never captured in the data model with the rest of the documentation. This causes huge problems when a reference value needs to change. Reference values provide valuable documentation which should be communicated. Your best chance is often via the model. It may not be practical to store reference values in the data model if you have large volumes, but there is no excuse not to point to them from the model. The key is to have it defined in one place and used in other places.

Sin #5: Not using foreign keys or check constraints

I hear customers complain all the time about the lack of referential integrity (RI) or validation checks defined in the database when reverse engineering databases. For older database systems, it was thought that foreign keys and check constraints slowed performance, thus, the RI and checks should be done via the application. This might have been the case in the past, but DBMSs have come a long way.

The ramifications on data quality if the data is not validated properly by the application or by the database can be substantial. If it is possible to validate the data in the database, you are better off doing it there. Error handling will be drastically simplified and data quality will increase as a result.

Sin #6: Not using domains and naming standards

Domains and naming standards are probably two of the most important things you can incorporate into your modeling practices. Domains allow you to create reusable attributes so that the same attributes are not created in different places with different properties. It is extremely important to have a common set that everyone can use across all models. Naming standards allow you to clearly identify those attributes consistently.

Having a set of standards also ensures consistency across systems and promotes readability of models and code. You don’t want short, cryptic names that users need to interpret. Given the advanced nature of the latest vendor releases, the days of limited column length name are over when building new databases. Always have a common set of classwords to identify key types of data and use modifiers as needed.

Sin #7: Not choosing primary keys properly

I was once told by a senior data architect that “When choosing a primary key, you’d better get it right because changing it down the line will be a royal pain.” Sure enough, later I worked with a different customer who had the un-enviable chore of managing a migration project because a system used Social Security number as a primary key for individuals. They found out the hard way that SSNs are not always unique and not everyone has one.

The simplest principle to remember when picking a primary key is SUM: Static, Unique, Minimal. It is not necessary to delve into the whole natural vs. surrogate key debate; however, it is important to know that although surrogate keys may uniquely indentify the record, they do not always unique identify the data. There is a time and a place for both, and you can always create an alternate key for natural keys if a surrogate is used as the primary key.

Jason Tiret is the director of product management for modeling and design solutions for Embarcadero (www.embarcadero.com), a provider of multi-platform database tools and developer software.

Copyright 2009 – ESJ.com

ER/Studio Public Training Course April 19-24, 2010 in San Francisco, CA

e-Modelers is pleased to announce that it will deliver public training on Embarcadero’s ER/Studio Enterprise, a powerful set of data modeling, process modeling and UML modeling solutions.  Registration is now open and the training will take place the week of April 19, 2010 at the Embarcadero headquarters in San Francisco.  It will highlight ER/Studio’s extensive modeling capabilities within an enterprise context, while providing best practices, an integrated case study and hands-on practice.

The classes will be led by Senior Enterprise Architect and Instructor, Dr. Nicholas Khabbaz and Senior Data Modeler and Instructor, Dan Weller at the Embarcadero headquarters in San Francisco April 19-24. Dr. Khabbaz and Dan Weller of e-Modelers will cover the following areas:

  • Organize ER/Studio key features according to a solid modeling process context
  • Show how to align process, data and software systems through ER/Studio
  • Highlight key ER/Studio modeling capabilities that result in high quality models
  • Demonstrate the collaboration and reporting aspects of ER/Studio
  • Incorporate modeling and ER/Studio best practices
  • Apply all the training to an integrated case study
  • Use hands-on practice to implement all the key features covered in the training

If you would like additional information on attending this informative training please visit the
e-Modelers website or download the data sheet. For registration, please contact Becky Baird at (209) 609-7195 or bbaird@emodelers.com

Fast-Tracking Data Warehousing & BI Projects via Intelligent Data Modeling

Webinar: Fast-Tracking Data Warehousing & BI Projects via Intelligent Data Modeling

 

More and more organizations are recognizing the benefits of data warehouses and their ability to support critical business intelligence initiatives. Yet many DW/BI projects fail due to poor collaboration on business requirements, faulty designs, and lack of solid metadata. Many of these challenges can be overcome through effective data modeling practices and data modeling tools.

Data models are key to successful data warehouse implementations and can be used to resolve critical metadata management issues such as visualization/communication of dimensional models, traceability of common data elements, documentation of source-to-target mappings, and standardized data definitions.

Free Webinar – Register Now 

 

Fast-Tracking Data Warehousing & BI Projects via Intelligent Data Modeling

Join BI and enterprise modeling expert, Claudia Imhoff, for an insightful webinar on intelligent data modeling practices to design and deliver superior BI faster.

Date: Wednesday January 20, 2010
Time: 11:00 AM PST/ 2:00 PM EST

In this one hour webinar, you’ll learn:

  • The characteristics and benefits of intelligent data modeling
  • How to promote the use of data models to fast-track data warehouse and BI projects
  • Three key ways to use data models to streamline collaboration, design, and implementation of superior BI solutions
  • How to avoid the four biggest traps that hinder BI projects

Registered webinar attendees will also receive a complementary copy of Claudia Imhoff’s white paper, “Fast-Tracking Data Warehousing & BI Projects via Intelligent Data Modeling”.

Register today!

About the Presenter

 

Claudia Imhoff
President
Intelligent Solutions Inc.

A thought leader, visionary, and practitioner in the rapidly growing fields of business intelligence and customer focused-strategy – Claudia Imhoff, Ph.D., is a popular and dynamic speaker and internationally recognized expert on analytical CRM, business intelligence, and the infrastructure to support these initiatives – the Corporate Information Factory (CIF). Dr. Imhoff has co-authored five highly-regarded and popular books on these subjects and writes monthly columns and articles (totaling more than 100) for technical and business magazines. She has served on the Board of Advisors for DAMA International and was chosen by the DAMA organizations to receive the 1999 and 2005 Individual Achievement Awards. She is an advisor and a faculty member for The Data Warehousing Institute and serves as an advisor for several technology and commercial companies. Dr. Imhoff delivers keynote addresses at conferences sponsored by software companies and their user groups, The Data Warehousing Institute, The Economist, COMDEX, and many international organizations. She has appeared repeatedly on World Business Review, Microsoft’s Getting Results programs, and web casts sponsored by DM Review, Better Management, and several technology vendors. She is a member of the Advisory Board of the Daniels School of Business at the University of Denver and is on several technology companies’ advisory councils.

Dr. Imhoff founded Intelligent Solutions, Inc. (www.IntelSols.com), a well respected Business Intelligence and CRM consulting and education firm in 1992. Her company has successfully implemented over 150 Corporate Information Factory architectures in all industry areas.

New Sneak Peek Videos Available for Upcoming ER/Studio 8.5 Release

In case you missed it, Embarcadero announced a new Preview Center to watch the latest sneak peek videos of the upcoming release of its popular data modeling tool, ER/Studio Enterprise 8.5.

This latest release  is chock full of new features that will make database architects, modelers, and developers more productive than ever. This is the most powerful version yet, combining process, data, application modeling and reporting in a multi-level design environment to facilitate collaboration between multiple roles and functions.

Check out the previews here or at the preview center for additional release information or to be notified when the 8.5 release is available.

See how ER/Studio Enterprise brings together tools for process, data, and application modeling as well as a robust repository and tools for reporting in a multi-level design environment.

See how the Google®-like search capabilities of the Portal make it easier than ever to search, browse and report on metadata using a real-world business intelligence engine.

See how you can improve communication and collaboration using Web 2.0 technologies like Object Commenting

20% off ER/Studio and Universal Data Models for DAMA Day Attendees

DAMA-DAY 2009 – September 17, 2009

How to leverage Human Dynamics to drive Data Architecture Initiatives.

http://69.16.236.207/Image/Picture1.jpg
Lynn Reed              Len Silverston         John Ladley         Anne Marie Smith
Thursday Sept 17, 2009

Venue Sponsored by Computer Associates
520 Madison Ave (53 rd ), 22th Floor
New York, New York

Please join Embarcadero on September 17th at DAMA Day New York for an informative one day session and learn from industry experts like Len Silverston on How to Leverage Human Dynamics to Drive Data Architecture Initiatives.

Visit the Embarcadero booth for a chance to win Len Silverston’s bestselling book, The Data Model Resource Book, Volume 3, Universal Patterns for Data Modeling. And for a limited time, Embarcadero will be offering a 20% discount on its popular data modeling tool, ER/Studio,  and the ER/Studio industry data models and patterns, Universal Data Models  for all DAMA Day attendees.

Five Classic Data Modeling Mistakes & How to Avoid Them

Data modeling mistakes are all too common and easily made. We’ve all been there: a shortcut here, a compromise there, an over-modeling over there. In this presentation, Karen Lopez demonstrates five classic and all-too-common data modeling mistakes that are easy to make and yet just as easy to avoid.

Watch the full length presentation on the Embarcadero Developer Network

lopezscreenshot

Want to be more productive with data modeling? Then try ER/Studio for free for 14 days.