Skip to content

sujeet-agrahari/awesome-database-design

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

54 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Awesome Database Design Awesome

A curated collection of resources, tutorials, tools, and best practices for designing efficient and scalable databases.

Contents

Introduction

Being a self-taught programmer can be both challenging and rewarding. But when it comes to database design, finding the right resources and information can be difficult and time-consuming. This curated list aims to help developers at all levels master database design principles, from basic concepts to advanced patterns.

Over time, this collection has grown to include bookmarks, posts, courses, and links related to database design and entity modeling. Whether you're designing your first database or architecting a complex distributed system, you'll find valuable resources here.

Getting Started

Fundamentals

Database Design Process

Core Concepts

Naming Conventions

Normalization

Entity-Relationship Modeling

Keys and Relationships

Design Patterns

Inheritance in Databases

Subtype/Supertype Pattern

Hierarchical Data Modeling

Multi-language Database Design

Performance & Optimization

Database Indexes

Views and Materialized Views

Query Optimization

Scalability

Database Sharding

Database Partitioning

Replication Strategies

SQL & Query Languages

SQL Tutorials

Advanced SQL Concepts

SQL Best Practices

Database-Specific Resources

PostgreSQL

MySQL

MongoDB

Other Databases

Learning Resources

Courses & Video Tutorials

Books

Interactive Learning

Blogs & Articles

Tools & Software

Database Design Tools

Migration Tools

Monitoring & Profiling

Best Practices

Common Pitfalls

Security Considerations

Data Integrity

Reference Materials

Cheatsheets

Sample Schemas

Community

Contributing

Are you passionate about database design? πŸ€” Do you have some great resources or topics to share? We'd love to hear from you! πŸ’‘ Please feel free to contribute to the repository and don't forget to raise a PR or suggest any improvements. πŸ™Œ Thank you for your support!

How to Contribute

  1. Fork the repository to your GitHub account
  2. Clone your fork to your local machine:
    git clone https://github.com/your-username/awesome-database-design.git
  3. Create a branch for your changes:
    git checkout -b add-new-resources
  4. Make your changes to the README.md file:
    • Add new links with clear descriptions
    • Ensure links are working and relevant
    • Place resources in the appropriate category
    • Follow the existing formatting style
  5. Commit your changes with a clear message:
    git commit -m "Add resources for query optimization"
  6. Push to your fork:
    git push origin add-new-resources
  7. Create a Pull Request from your fork to the main repository
  8. Wait for review and respond to any feedback

Contribution Guidelines

  • Ensure links are high-quality and relevant to database design
  • Provide clear, concise descriptions for each resource
  • Check that links are not already in the list
  • Verify that all links are working before submitting
  • Use proper markdown formatting
  • Keep descriptions objective and informative
  • For paid resources, clearly indicate if they require payment

Star History

Star History Chart


⬆ Back to Top

License

CC0

To the extent possible under law, the contributors have waived all copyright and related rights to this work.

Releases

No releases published

Packages

No packages published

Contributors 5