Difference between Data Model and Database Schema in DBMS?
My Idea... A schema decides or describes the fields you will have in a document... while the model is the compilation of schema and ensures that any data moving in or out must conform to that schema
As I understand it, a database schema is a physical entity, it describes the structure of exactly how the data is stored and is itself stored by DBMS for reference. Data model, on the other hand, is an abstract representation of database.
A schema is a blueprint of the database which specifies what fields will be present and what would be their types. For example an employee
table will have an employee_ID
column represented by a string of 10 digits and an employee_Name
column with a string of 45 characters.
Data model is a high level design which decides what can be present in the schema. It provides a database user with a conceptual framework in which we specify the database requirements of the database user and the structure of the database to fulfill these requirements.
A data model can, for example, be a relational model where the data will be organised in tables whereas the schema for this model would be the set of attributes and their corresponding domains.
References: Understanding the schema and Database System Concepts (H Korth and A Silberschatz)
The database schema is one that contains list of attributes and instructions to tell the database engine how data is organised whereas Data model is a collection of conceptional tools for describing data, data-relationship and consistency constraints.