views:

85

answers:

4

I am not a database guy. My understanding of data modelling is not extensive. From that limited understanding the logical data model is an abstraction of the physical data model, not containing anything specific to the specific storage product/medium. The logical data modelling does appear to involve business subject matter experts in their process and so it appears to me hedging into the world of a domain model.

I thought the logical data model was more concerned about the data, whereas the domain model more concerned about the problem domain. The logical model considering normalisation, the domain model less so. I am simply getting myself confused here so would appreciate it if someone could clear up the differences between the two succinctly with examples.

Many thanks!

A: 

It sounds like you have a pretty good handle on it. There is always some overlap of the domains and there are always differences of opinion of what belongs where. I would say don't get hung up on the specifics as along as you understand the focus of each domain you're cool.

Roadie57
+1  A: 

See this thread which covers the same question.

There are significant overlaps between a Domain Model and a Logical Data Model for the same problem space. People often use "Domain Model" as shorthand for "Object-oriented Domain Model". In which case, the biggest difference is behaviour. An OO Domain model describes data, relationships and behaviour; a logical data model doesn't cover behaviour.

Whilst there are differences in approach they share a common purpose: to describe the concepts in a problem domain and their inter-relationships.

sfinnie
A: 

Logical model and physical model are terms used by database guys, the logical model is the ideal of how the different entities are related, the physical model takes into account real-world compromises like denormalization. Domain model is a term used by application developers when they talk about creating an object model that contains the data manipulated by the application, along with methods containing business logic.

Nathan Hughes
+1  A: 

As other shave pointed out, a logical data model focuses only on data, specifically how the data is related. Whiteboards are just as effective as tools, the only thing really lacking in the first example (below) is labels on the connections between the tables.

alt text (Logical Data Model - Whiteboard)

alt text (Logical Data Model via a tool)

In addition to data, Domain Models include processes and events (as sfinnie said). The target audience and focus is more at the developr / code level (as Nathan Hughes pointed out).

If you were to draw a Domain Models in UML you'd use a Class Diagram:

alt text (Domain Model)

Adrian K