

It is mainly associated with the gathering of business needs rather than the database design.

Logical database modeling is required for compiling business requirements and representing the requirements as a model. When you come across any of these terms you really need to seek clarification on what is being described unless the context makes it obvious.įor a discussion of these differences, check out Data Modelling Essentials by Simsion and Witt for example. That may include both "physical" and "logical" level constructs (both tables and indexes for example). To confuse things further, in the workplace the term Physical model is often used to mean the design as implemented or planned for implementation in an actual database. In academic usage and when describing DBMS architectures however, the Logical level means the database objects (tables, views, tables, keys, constraints, etc), as distinct from the Physical level (files, indexes, storage). This is probably the usage you are most likely to come across in the workplace. In the data management professions and especially among data modellers / architects, the term Conceptual Model is frequently used to mean a semantic model whereas the term Logical Model is used to mean a preliminary or virtual database design. According to the ANSI-SPARC "three schema" model for instance, the Conceptual Schema or Conceptual Model consists of the set of objects in a database (tables, views, etc) in contrast to the External Schema which are the objects that users see.

These terms are unfortunately overloaded with several possible definitions. | Feature | Conceptual | Logical | Physical | Here is a good table and picture that describes each of the three levels. There is also physical model which elaborates on the logical model and assigns each column with it's type/length etc. While writing the logical model, you might also take into consideration the actual database system you're designing for, but only if it affects the design (i.e., if there are no triggers you might want to remove some redundancy column etc.) The logical model comes after the conceptual modeling when you explicitly define what the columns in each table are. In this phase you recognize entities in your model and the relationships between them. In the conceptual data model you worry only about the high level design - what tables should exist and the connections between them.
