Database schema is the skeleton structure that corresponds to the logical view of the whole database. It describes how the data is organized and how the relations among them are associated. It devises all the constraints that are to be applied on the data.
Database schema identifies its entities and the relationship among them. It contains an explanatory detail of the database, which can be illustrated by means of schema diagrams. It is the database designers who design the schema to aid programmers understand the database and make it useful and valuable.
Database schema can be generally separated into two classes:
1. Physical Database Schema: This schema concerns to the actual storage of data and its type of storage like files, indices, and so on. It defines how the data will be stored and saved in a secondary storage.
2. Logical Database Schema: This schema describes all the logical constraints that need to be employed on the data stored. It identifies tables, views, and integrity constraints.