title: What's the difference between Data Modelling and Domain Modelling?
body: <p>By the way - with reference to data modelling I'm referring to logical or conceptual data models - not physical ones.</p>
  
  <p>The question came up during a discussion at work; naturally I leapt to Wikipedia to get some basic definitions in place - hoping that they might clarify the difference - but they didn't...</p>
  
  <blockquote>
    <p>A conceptual schema or <strong>conceptual data model</strong> is a map of concepts and their
    relationships.</p>
  </blockquote>
  
  <p>Logical Data Modles seem very similar (from this definition): </p>
  
  <blockquote>
    <p>A <strong>logical data model</strong> (LDM) in systems
    engineering is a representation of an
    organization's data, organized in
    terms entities and relationships and
    is independent of any particular data
    management technology.</p>
  </blockquote>
  
  <p>Where-as...</p>
  
  <blockquote>
    <p>A <strong>domain model</strong>, or Domain Object Model
    (DOM) in problem solving and software
    engineering can be thought of as a
    conceptual model of a system which
    describes the various entities
    involved in that system and their
    relationships.</p>
  </blockquote>
  
  <p>The differences between domain model vs conceptual data model seems particularly murky.</p>
  
  <p>One of the things which adds to this confusion is that (from what I've seen) a domain model is usually modelled using a UML class diagram - the class entity in a UML class diagram supports methods - our colleague maintains that a domain model must not contain "operations".  I can understand domain modellers using a sub-set of a UML class diagram - but isn't it dangerous to assume people will refrain from including "operations" if the tooling they are using supports it?</p>