Skip to content
geeksforgeeks
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Tutorials
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
  • Practice
    • Build your AI Agent
    • GfG 160
    • Problem of the Day
    • Practice Coding Problems
    • GfG SDE Sheet
  • Contests
    • Accenture Hackathon (Ending Soon!)
    • GfG Weekly [Rated Contest]
    • Job-A-Thon Hiring Challenge
    • All Contests and Events
  • Databases
  • SQL
  • MySQL
  • PostgreSQL
  • PL/SQL
  • MongoDB
  • SQL Cheat Sheet
  • SQL Interview Questions
  • MySQL Interview Questions
  • PL/SQL Interview Questions
  • Learn SQL and Database
Open In App
Next Article:
Specialty Databases
Next article icon

Database Schemas

Last Updated : 13 Jan, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

A database schema defines the structure and organization of data within a database. It outlines how data is logically stored, including the relationships between different tables and other database objects. The schema serves as a blueprint for how data is stored, accessed, and manipulated, ensuring consistency and integrity throughout the system. In this article, we will explore the concept of database schema, its types, and how it plays a crucial role in designing efficient and scalable databases

What is Schema?

A schema is the blueprint or structure that defines how data is organized and stored in a database. It outlines the tables, fields, relationships, views, indexes, and other elements within the database. The schema defines the logical view of the entire database and specifies the rules that govern the data, including its types, constraints, and relationships.

schema_3
Schemas


Database Schema

A database schema is the design or structure of a database that defines how data is organized and how different data elements relate to each other. It acts as a blueprint, outlining tables, fields, relationships, and rules that govern the data.

Key points about a database schema:

  • It defines how data is logically organized, including tables, fields, and relationships.
  • It outlines the relationships between entities, such as primary and foreign keys.
  • It helps resolve issues with unstructured data by organizing it in a clear, structured way.
  • Database schemas guide how data is accessed, modified, and maintained.

In simple terms, the schema provides the framework that makes it easier to understand, manage, and use data in a database. It’s created by database designers to ensure the data is consistent and efficiently organized.

schema_2
Types of Database Schemas


Types of Database Schemas

Physical Database Schema

  • A physical schema defines how data is stored in the storage system, including the arrangement of files, indices and other storage structures. It specifies the actual code and syntax needed to create the database structure. Essentially, it determines where and how the data is stored in the physical storage medium.
  • The database administrator decides the storage locations and organization of data within the storage blocks. This schema represents the lowest level of abstraction

Logical Database Schema

  • A logical database schema defines the logical structure of the data, including tables, views, relationships, and integrity constraints. It describes how data is organized in tables and how the attributes of these tables are connected. The logical schema ensures that the data is stored in an organized manner, while maintaining data integrity.
  • Using Entity-Relationship (ER) modeling, the logical schema outlines the relationships between different data components. It also defines integrity constraints to ensure the quality of data during insertion and updates.
  • This schema represents a higher level of abstraction compared to the physical schema, focusing on logical constraints and how the data is structured, without dealing with the physical storage details.

View Database Schema

  • The view schema is the highest level of abstraction in a database, focusing on how users interact with the database. It defines the interface through which users can access and manipulate data, without needing to understand the underlying storage mechanisms.
  • A database can have multiple view schemas, also known as subschemas, each providing a different perspective of the data. These schemas describe only a part of the database.

Creating Database Schema

For creating a schema, the statement "CREATE SCHEMA" is used in every database. But different databases have different meanings for this. Below we'll be looking at some statements for creating a database schema in different database systems:

1. MySQL: In MySQL, we use the "CREATE SCHEMA" statement for creating the database, because, in MySQL CREATE SCHEMA and CREATE DATABASE, both statements are similar.

2. SQL Server: In SQL Server, we use the "CREATE SCHEMA" statement for creating a new schema.

3. Oracle Database: In Oracle Database, we use "CREATE USER" for creating a new schema, because in the Oracle database, a schema is already created with each database user. The statement "CREATE SCHEMA" does not create a schema, instead, it populates the schema with tables & views and also allows one to access those objects without needing multiple SQL statements for multiple transactions. 

Database Schema Designs

There are many ways to structure a database and we should use the best-suited schema design for creating our database because ineffective schema designs are difficult to manage & consume extra memory and resources.

Schema design mostly depends on the application's requirements. Here we have some effective schema designs to create our applications, let’s take a look at the schema designs:

  1. Flat Model
  2. Hierarchical Model
  3. Network Model
  4. Relational Model
  5. Star Schema
  6. Snowflake Schema

Flat Model

A flat model schema is a 2-D array in which every column contains the same type of data/information and the elements with rows are related to each other. It is just like a table or a spreadsheet. This schema is better for small applications that do not contain complex data.

flat_model
Flat Model

Hierarchical Model

Data is arranged using parent-child relationships and a tree-like structure in the Hierarchical Database Model. Because each record consists of several children and one parent, it can be used to illustrate one-to-many relationships in diagrams such as organizational charts. A hierarchical database structure is great for storing nested data.

Hierarchical Model
Designing Hierarchical Model

Network Model

The network model is similar to the hierarchical model in that it represents data using nodes (entities) and edges (relationships). However, unlike the hierarchical model, which enforces a strict parent-child relationship, the network model allows for more flexible many-to-many relationships. This flexibility means that a node can have multiple parent nodes and child nodes, making the structure more dynamic.

The network model can contain cycles which is a situation where a path exists that allows you to start and end at the same node. These cycles enable more complex relationships and allow for greater data interconnectivity.

Network Model
Designing Network Model

Relational Model

The relational model is mainly used for relational databases, where the data is stored as relations of the table. This relational model schema is better for object-oriented programming.

Relational model
Designing Relational Model

Star Schema

Star schema is better for storing and analyzing large amounts of data. It has a fact table at its center & multiple dimension tables connected to it just like a star, where the fact table contains the numerical data that run business processes and the dimension table contains data related to dimensions such as product, time, people, etc. or we can say, this table contains the description of the fact table. The star schema allows us to structure the data of RDBMS.

Star Schema
Designing Star Schema

Snowflake Schema

Just like star schema, the snowflake schema also has a fact table at its center and multiple dimension tables connected to it, but the main difference in both models is that in snowflake schema – dimension tables are further normalized into multiple related tables. The snowflake schema is used for analyzing large amounts of data.

Snowflake Schema
Designing Snowflake Schema

Difference between Logical and Physical Database Schema

Physical Schema

Logical Schema

Physical schema describes the way of storage of data in the disk.

Logical schema provides the conceptual view that defines the relationship between the data entities.

Having Low level of abstraction.Having a high level of abstraction.

The design of database is independent to any database management system.

The design of a database must work with a specific database management system or hardware platform.

Changes in Physical schema effects the logical schemaAny changes made in logical schema have minimal effect in the physical schema
Physical schema does not include attributes.Logical schema includes attributes.
Physical schema contains the attributes and their data types.Logical schema does not contain any attributes or data types.
Examples: Data definition language(DDL), storage structures, indexes.Examples: Entity Relationship diagram, Unified Modeling Language, class diagram.

Advantages of Database Schema

  • Providing Consistency of data: Database schema ensures the data consistency and prevents the duplicates.
  • Maintaining Scalability: Well designed database schema helps in maintaining addition of new tables in database along with that it helps in handling large amounts of data in growing tables.
  • Performance Improvement: Database schema helps in faster data retrieval which is able to reduce operation time on the database tables.
  • Easy Maintenance: Database schema helps in maintaining the entire database without affecting the rest of the database
  • Security of Data: Database schema helps in storing the sensitive data and allows only authorized access to the database.

Database Instance

A database instance is a snapshot of a database at a specific moment in time, containing all the properties described by a database schema as data values. Unlike database schemas, which are considered the "blueprint" of a database, instances can change over time whereas it is very difficult to modify the schema because the schema represents the fundamental structure of the database. Database instance does not hold any information related to the saved data in database.

database_instance
Instance

Database schema versus database instance

Aspect

Database Schema

Database Instance

Definition

Blueprint or design of the database structure

Actual data stored in the database at a given time

Nature

Static (does not change frequently)

Dynamic (changes with every data modification)

Represents

Structure (tables, columns, data types, relationships)

State of the data in the database

Example

Table definitions, data types, constraints

Actual rows of data in the tables

Change Frequency

Changes infrequently (e.g., during schema design changes)

Changes frequently with transactions

Conclusion

In conclusion, database schemas play a crucial role in organizing, structuring, and managing data within a database. They define how data is logically and physically stored, ensuring consistency, integrity, and efficient access. Understanding these schemas helps database designers and administrators create scalable, maintainable, and secure databases. By providing a clear structure, database schemas ensure that data is stored effectively and can be easily retrieved, updated, and manipulated, ultimately supporting the smooth operation of database systems.


Next Article
Specialty Databases

H

himanshubanodha
Improve
Article Tags :
  • DBMS
  • SQL
  • Databases
  • DBMS-Relational Model

Similar Reads

  • What is Database?
    In today’s data-driven world, databases are indispensable for managing, storing, and retrieving information efficiently. From small-scale businesses to global enterprises, databases serve as the backbone of operations, powering applications, websites, and analytics systems. In this comprehensive art
    15 min read
  • SQL - Show Databases
    In the dynamic scene of database management, having a good insight into the available databases for effective administration and development tasks. SHOW DATABASES command is designed to present all databases located on the server. The purpose of exploring the SQL SHOW DATABASES command is to give da
    3 min read
  • Specialty Databases
    A NoSQL originally referring to non SQL or nonrelational is a database that provides a mechanism for storage and retrieval of data. NoSQL databases are used in real-time web applications and big data and their use is increasing over time. NoSQL systems are also sometimes called Not only SQL to empha
    4 min read
  • Logical Database
    A Logical Database is a special type of ABAP (Advance Business Application and Programming) that is used to retrieve data from various tables and the data is interrelated to each other. Also, a logical database provides a read-only view of Data. Structure Of Logical Database:A Logical database uses
    4 min read
  • Instance in Database
    An instance shows the data or information that is stored in the database at a specific point in time. In this article we will come to know about, what is Instances in databases. We will see two examples related to it as well. But first of all, let us know about some terminologies related to it. Prim
    3 min read
  • Types of Databases
    Databases are essential for storing and managing data in today’s digital world. They serve as the backbone of various applications, from simple personal projects to complex enterprise systems. Understanding the different types of databases is crucial for choosing the right one based on specific requ
    11 min read
  • Mobile Database
    In this article, we will discuss the overview of the mobile databases and will emphasize its features of the mobile database, and then will cover involves parties, and it's limitations. Let's discuss it one by one. Overview :A Mobile database is a database that can be connected to a mobile computing
    2 min read
  • Multimedia Database
    A Multimedia database is a collection of interrelated multimedia data that includes text, graphics (sketches, drawings), images, animations, video, audio etc and have vast amounts of multisource multimedia data. The framework that manages different types of multimedia data which can be stored, deliv
    5 min read
  • Database Design in DBMS
    Before designing a database, it's crucial to understand important terms and concepts. A properly structured database guarantees efficiency, data accuracy, and usability. From understanding data storage to the principles that define data relationships, these concepts are essential for anyone involved
    10 min read
  • Types of NoSQL Databases
    A database is a collection of structured data or information that is stored in a computer system and can be accessed easily. A database is usually managed by a Database Management System (DBMS). NoSQL databases are a category of non-relational databases designed to handle large-scale, unstructured,
    5 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences