Review: Data Model

Definitions of Data Model

  • A data model (or datamodel[1][2][3][4][5]) is an abstract model that organizes elements of data and standardizes how they relate to one another and to properties of the real world entities [6].
  • A database model shows the logical structure of a database, including the relationships and constraints that determine how data can be stored and accessed. Individual database models are designed based on the rules and concepts of whichever broader data model the designers adopt. Most data models can be represented by an accompanying database diagram [7].
  • Data modeling helps in the visual representation of data and enforces business rules, regulatory compliances, and government policies on the data. Data Models ensure consistency in naming conventions, default values, semantics, security while ensuring quality of the data [8].
  • Data model emphasizes on what data is needed and how it should be organized instead of what operations need to be performed on the data. Data Model is like architect’s building plan which helps to build a conceptual model and set the relationship between data items [8].

Categories and types of Data Model

There are mainly three different types of data models [8]:

  • Conceptual: This Data Model defines WHAT the system contains. This model is typically created by Business stakeholders and Data Architects. The purpose is to organize, scope and define business concepts and rules.
  • Logical: Defines HOW the system should be implemented regardless of the DBMS. This model is typically created by Data Architects and Business Analysts. The purpose is to developed technical map of rules and data structures.
  • Physical: This Data Model describes HOW the system will be implemented using a specific DBMS system. This model is typically created by DBA and developers. The purpose is actual implementation of the database.

Common Characteristic of Data Model

  • Characteristics of a conceptual data model
    • Offers Organisation-wide coverage of the business concepts.
    • This type of Data Models are designed and developed for a business audience.
    • The conceptual model is developed independently of hardware specifications like data storage capacity, location or software specifications like DBMS vendor and technology. The focus is to represent data as a user will see it in the “real world.“
  • Characteristics of a Logical data model
    • Describes data needs for a single project but could integrate with other logical data models based on the scope of the project.
    • Designed and developed independently from the DBMS.
    • Data attributes will have datatypes with exact precisions and length.
    • Normalization processes to the model is applied typically till 3NF.
  • Characteristics of a physical data model:
    • The physical data model describes data need for a single project or application though it maybe integrated with other physical data models based on project scope.
    • Data Model contains relationships between tables that which addresses cardinality and nullability of the relationships.
    • Developed for a specific version of a DBMS, location, data storage or technology to be used in the project.
    • Columns should have exact datatypes, lengths assigned and default values.
    • Primary and Foreign keys, views, indexes, access profiles, and authorizations, etc. are defined.

Data Model Consideration

  • To develop Data model one should know physical data stored characteristics.
  • This is a navigational system produces complex application development, management. Thus, it requires a knowledge of the biographical truth.
  • Even smaller change made in structure require modification in the entire application.
  • There is no set data manipulation language in DBMS.

Conclusion

  • Data modeling is the process of developing data model for the data to be stored in a Database with a main goal to make certain that data objects offered by the functional team are represented accurately [8].
  • Data Models ensure consistency in naming conventions, default values, semantics, security while ensuring quality of the data [8].
  • There are three types of conceptual, logical, and physical [8].
    • The main aim of conceptual model is to establish the entities, their attributes, and their relationships.
    • Logical data model defines the structure of the data elements and set the relationships between them.
    • A Physical Data Model describes the database specific implementation of the data model.

 

Reference

[1] Stack Overflow. Stack Exchange Inc. Retrieved 4 February 2017. https://stackoverflow.com/questions/3835169/uml-domain-modeling/3835214#3835214
[2] World Wide Web Consortium (W3C). W3C. Retrieved 4 February 2017 https://www.w3.org/TR/xpath-datamodel-3/
[3] npm. npm, Inc. Retrieved 4 February 2017. https://www.npmjs.com/package/datamodel
[4] Java Documentation. Oracle. Retrieved 4 February 2017. https://docs.oracle.com/javaee/6/api/javax/faces/model/DataModel.html
[5] Medium. A Medium Corporation. Retrieved 4 February 2017. https://medium.com/@stasost/ios-three-ways-to-pass-data-from-model-to-controller-b47cc72a4336
[6] Data Model. Wikipedia, https://en.wikipedia.org/wiki/Data_model
[7] What is a Database Model. https://www.lucidchart.com/pages/database-diagram/database-models
[8] What is Data Modelling? Conceptual, Logical, & Physical Data Models  https://www.guru99.com/data-modelling-conceptual-logical.html#3