Database Roadmap.
The database is a wide field yet very important. Every application and system uses some sort of database. Below are concepts and topics that one should be familiar with.
Data Modelling- This concept refers to how data is curated and handled and the most appropriate data model to use. In a more general way, it means understanding data and all data models such as the Hierarchical model the relational model, the Network model, the Object-oriented model, the Entity-relational model etc.
SQL- This is the language that is used to write statements to read, update, write or delete data from the database. Understanding of the Joins, GROUP BY, filtering, sorting, Having, Subqueries, combining tables, and summarizing data.
Normalization- Understanding the norm forms(1NF, 2NF, 3NF, BCNF, and when to apply them to reduce data redundancy and improve efficiency.
Indexing- Understanding what indexes are and what are their importance in database optimization is quite fundamental.
ACID Properties- Understanding what ACID properties are and their significance in maintaining data integrity.
Transactions- Understanding database Transactions, and their properties for instance commit, rollback etc.
Joins- Understanding the various types of Joins including inner joins, and outer Join. Being able to solve complex problems using Joins is another important practice that needs to be experimented with.
Concurrency Control- Understanding the challenges of concurrent access and techniques like Locking, and timestamping and their role in concurrency is vital.
SQL constraints- Knowing and understanding aspects such as UNIQUE, PRIMARY KEY, FOREIGN KEY, and CHECK constraints.
Query Optimizations- Learning about the execution plans, indexing, and SQL Query performance.
NoSQL Database- Understanding MongoDB, Cassandra, and use cases. And when NoSQL should be considered above other database types is important.
Data warehousing- Knowing and understanding ETL, data cubes, and data warehousing concepts is crucial.
Backup and Recovery- Understanding Database backups, recovery strategies, and disaster plans is monumental.
Database security- Knowing and understanding authentication, authorization, and encryption for security is another crucial aspect of a Database that one should be familiar with.
Below is an Image that shows more database concepts that one needs to be familiar with: