What's the relationship between Logical Model and Data Model?

119 views Asked by At

I have read this post and still confused.

Both Logical Model and Data Model seem to be used interchangeably to some extent, considering they are both distinct from Conceptual Model/Semantic Model (such as ER, UML). However, I haven't been able to find any concrete evidence confirming their equivalence.

Data Model, in the context of DBMS, has always had a clear definition and example, such as the Relational Model and the Key-Value Model, which are both types of Data Models.

On the other hand, Logical Model lacks an explicit definition. The only mention I've found refers to it as part of the DBMS design process: following conceptual design, logical design translates the results from the previous step into an implemented Data Model of target DBMS, like the Relational Model (Database System Concepts, Ch.6, p.241).

Could someone please shed light on the precise relationship between Logical Model and Data Model? Any insight is greatly appreciated.

1

There are 1 answers

2
Walter Mitty On

I can only give you insight about the way I learned these data models some forty years ago. This may no longer be the way these are understood today. The three tier architecture described in the literature is slightly different from what follows.

Conceptual Data Model. This is a model of the semantics of the information itself. It should be expressed in a form that is implementation agnostic. ER modeling is good for this approach. Relationships are identified, but not implemented in an ER model. Many to many relationships are shown in the model, but do not require something like a junction table to show them. Warning: many ER diagrams are really depicting a relational model of the data, and not an ER model of the data. Is tied to the requirements analysis phase of the project.

Logical Data Model. This is a design model, showing how the data fits together into a schema. It should be specific to the kind of implemetation you anticipate, such as a relational database, but not specific to a specific product such as Oracle. Foreign keys, junction tables, data normalization, among others, are introduced at this stage. Almost all of my designs were relational, back in the day. I used tools for depicting a relational model, not the tools for ER modeling.

Physical Data Model. Extends the Logical Data model, by adding features specific to a particular dataabase product such as Oracle RDBMS. Features like indexes, hashing, record placement, among others, get added to the model at this point. I tended to express this model in the form of an SQL creation script. It was very useful to be able to build a new empty database fairly often during development , at least for me. Having a well maintained creation script was vital to this process.