Beginner
⭣ Learn fundamentals ➊
⭣ Working with table ➋
⭣ Working with data ➌
⭣ Querying the data ➍
⭣ Operators ➎
⭣ Functions ➏
⭣ Database objects ➐
⭣ Programming in SQL ➑
⭣ Users and Roles ➒
⭣ Advanced Concepts ➓
Pro
➊ Fundamentals
Effort: 1 to 2 hours per day
Time: 2 weeks
➀ What is a database and DBMS?
➁ What is a relational database?
➂ What are the different vendors for RDBMS?
➃ What is normalization?
➄ Different normalization forms (NFs).
➅ What is SQL?
➆ Different components of SQL.
➇ What is ERD?
➋ Working with database/table
Effort: 1 to 2 hours per day (Study + Practice)
Time: 2 weeks
❯ Create a database
❯ Create a table
❯ Alter a table
❯ Add a column
❯ Remove a column
❯ Modify a column
❯ Rename a table
❯ Drop a table
❯ Various Datatypes
❯ Constraints
❯ Primary Key
❯ Foreign Key
❯ NOT NULL data
❯ UNIQUE data
➌ Working with data
Effort: 1 to 2 hours per day (Study + Practice)
Time: 2 weeks
❯ Insert records
❯ Modify a record
❯ Merge data
❯ Delete a record
❯ Truncate a table
* Once done, try to insert/modify huge data into multiple tables at one shot.
➍ Querying the data
Effort: 1 to 2 hours per day (Study + Practice)
Time: 4 weeks
Effort: 1 to 2 hours per day (Study + Practice)
Time: 4 weeks
❯ Stored Procedure
❯ User-defined Functions
➒ Users and Roles
Effort: 1 to 2 hours per day (Study + Practice)
Time: 2 weeks
❯ Create user
❯ Create role
❯ Grant access to a user
❯ Grant access to a role
❯ Revoke access from a user
❯ Revoke access from a role
❯ Drop a role
❯ Drop a user
➓ Advanced Concepts
Effort: 1 to 2 hours per day (Study + Practice)
Time: 4 to 6 weeks
❯ Binding variables
❯ Temporary tables
❯ Common Table Expressions (CTE)
❯ Regular Expressions
❯ Pivot data
❯ Import data
❯ External tables
⬩Know your final goal
⬩Set a target for spending daily 1 hour minimum.
⬩Research about Python ecosystem (libraries, frameworks, code editors).
P.S: This is my personal roadmap. I could spend 1 to 2 hours daily for learning and practicing. And it took me ~1 year to finish. It may differ from person to person.
➊ Start with a bang: Simple Data Types
Schedule: Month-1
Effort: 1 to 2 hours daily + Normal practice
❍ C/C++
❍ Java
❍ Python
❍ JavaScript
Or, any language of your choice
Stay in top 5% of programmers.
➊ Arrays
➀ Creating an Array
➁ Iterate through Array
➂ Get an Element
➃ Search an Element
➄ Insert Element(s)
➅ Delete Element(s)
➆ Filter an Array
➇ Fetch a Sub-Array
➈ Merging Arrays
➉ Reverse Array
➀➀ Rotate Array
➋ Linked Lists
➀ Creating a Linked List
➁ Iterate through Linked List
➂ Get an Element
➃ Find an Element
➤ Insert Element(s)
➄ At Start
➅ At End
➆ At Anywhere
➤ Delete Element(s)
➇ From Start
➈ From End
➉ From Anywhere
➀➀ IsEmpty
➀➁ Merging Linked Lists
➀➂ Reverse Linked List
➀➃ Check for Cycles
Implement these algorithms for linked lists, double linked lists, circular linked lists, etc.