Click here to learn more about author Michael Blaha. A diffuse relationship is one of a group of similar relationships, which broadly apply to entities in a model. We can show them explicitly, but such an approach can become verbose and obscure the deeper content of a model. We coined the term “diffuse relationship” as […]
Beware of Symmetric Relationships
Click to learn more about author Michael Blaha. A symmetric relationship is a self-relationship with the same multiplicity and role name on each end. Symmetric relationships are acceptable for conceptual models. But they are problematic for logical and physical models – you should rework the model to eliminate them. An Example For an example, consider […]
A Database Reverse Engineering Case Study
Click here to learn more about author Michael Blaha. In a blog last year we discussed database archaeology, which is another name for database reverse engineering. Database reverse engineering is the inverse to normal development. We start with an application and work backwards to understand the software and infer its content. This month we’ll take a […]
Grading Database Quality, Part 2: Database Models
Click here to learn more about author Michael Blaha. This article is the second in a series of two blogs that present our grading scale for database quality. Read Part 1 here: Grading Database Quality, Part 1: Database Designs. We assign separate grades for the quality of a database design (previous blog) and the underlying model (this […]
Grading Database Quality, Part 1: Database Designs
While working on database projects, we often find ourselves doing reverse engineering. Reverse engineering is the inverse to normal development. Developers start with an application and work backwards to understand the software and infer its intent. Reverse engineering can apply to a variety of artifacts, such as hardware, programming code, and databases. Our focus here […]
Data Warehouses Should Stage Source Data
Click here to learn more about author Michael Blaha. A data warehouse is a database that is dedicated to data analysis and reporting. It combines data from multiple operational applications and provides one location for decision-support data. A warehouse should have one staging table for each source table or file. Warehouse Data Flow As the […]
Documenting Data Models
Click here to learn more about author Michael Blaha. Once you’ve created a data model, how do you document it? You need to deliver the model’s content to others – to business sponsors, other developers, and posterity for purposes that you may not envision. This article looks at options for documenting data models and their […]
Ten Reasons Why Developers Ignore Data Models — Revisited
Click here to learn more about author Michael Blaha. Here is a follow- up on my blog from several months ago on “Ten Reasons Why Developers Ignore Data Models.” Paraphrasing, reader Lawrence Hecht asked via Twitter if there is any way to tell from a schema if the developers had used a data model. A […]
Data Warehouse Model Quality
Click here to learn more about author Michael Blaha. This is the second of a two-part series about data model quality. This blog discusses quality for data warehouses. The prior month’s blog discussed quality for operational applications. Data warehouses have a much different architecture and different business motivations than operational applications. For example, operational applications […]
Operational Data Model Quality
Click to learn more about author Michael Blaha. Quality is an underappreciated aspect of data models. The purpose of a model is not just to capture the business requirements, but also to represent them well. A high quality model lessens the complexity of development, reduces the likelihood of bugs, and enhances the ability of a […]