📣 Master databases correctly and save years of programming time.
دراسة هذا الكورس لا تتطلب اي معرفة مسبقة في البرمجة ، لكن معرفة بسيطة فيها ستفيدك
📘 Database – Level 1 (SQL: Concepts & Practice)
Master Databases Correctly — The Skill That Saves You Years of Programming Time
🗝️ About This Course
This is the fifteenth course in your programming journey, after:
1️⃣ Programming Foundations – Level 1
2️⃣ Algorithms & Problem Solving – Level 1
3️⃣ Introduction to Programming with C++ – Level 1
4️⃣ Algorithms & Problem Solving – Level 1 (Clean Code Solutions)
5️⃣ Algorithms & Problem Solving – Level 2
6️⃣ Introduction to Programming Using C++ – Level 2
7️⃣ Algorithms & Problem Solving – Level 3
8️⃣ Algorithms & Problem Solving – Level 4
9️⃣ Foundations – Level 2
🔟 OOP as it Should Be – Concepts
1️⃣1️⃣ OOP as it Should Be – Applications
1️⃣2️⃣ Data Structures – Level 1
1️⃣3️⃣ Algorithms & Problem Solving – Level 5
1️⃣4️⃣ C# – Level 1
At this point in the roadmap, you already:
🔹 Understand how computers work internally
🔹 Understand data representation deeply (binary, hexadecimal, octal, bytes, units, speeds)
🔹 Understand how programmers view and manipulate data
🔹 Understand networks and internet fundamentals
▫️ TCP/IP, packets, ports/sockets
▫️ DNS, domains, HTTP/HTTPS, VPN
▫️ Routing, gateways, and communication basics
🔹 Understand system-level concepts
▫️ What APIs are and how systems communicate
▫️ Basic security concepts
▫️ 3-tier architecture thinking
▫️ Why software systems cost millions
🔹 Think algorithmically and solve problems systematically
🔹 Completed multiple problem-solving levels with increasing difficulty
🔹 Built endurance and discipline through dozens of problems and projects
🔹 Built a clean code mindset using Divide & Conquer
▫️ Breaking problems into sub-problems
▫️ Writing reusable functions
▫️ Reducing redundancy
▫️ Making enhancements and bug fixing easier
🔹 Mastered C++ programming foundations (Level 1 & 2)
▫️ Variables, data types, operators, conditions, loops
▫️ Functions, parameters, scope, recursion
▫️ Arrays, vectors, strings
▫️ Files, exceptions, debugging
▫️ Pointers, references, dynamic memory
▫️ Stack vs heap and memory behavior
🔹 Learned OOP as it should be (concepts + applications)
▫️ Encapsulation, abstraction, inheritance, polymorphism
▫️ Constructors/destructors, static members
▫️ Virtual functions, dynamic binding
▫️ Interfaces and abstract classes
▫️ Organizing large codebases using libraries
▫️ Built real systems (Bank System, Currency Exchange, permissions, logging, extensions)
🔹 Learned Data Structures – Level 1 and performance foundations
▫️ Difference between Data Structures and Databases
▫️ Big O (time & space complexity)
▫️ Arrays, matrices, stacks, queues, vectors
▫️ Singly, doubly, and circular linked lists
▫️ ADT basics and introductory Map concepts
🔹 Started Stage Two with C# – Level 1
▫️ .NET architecture (CLR, GC, JIT, CTS, CLS)
▫️ Managed vs unmanaged code
▫️ C# syntax and core language constructs
▫️ Desktop development as a learning tool
▫️ Building complete applications with Windows Forms
Now comes one of the most critical skills in software development:
👉 Databases.
Databases directly affect:
- Performance
- Scalability
- Stability
- Development time
A developer who masters databases:
👉 Writes simpler code
👉 Builds faster systems
👉 Avoids performance disasters
👉 Saves years of development effort
🔐 What Makes This Course Different?
🔹 Treats databases as a core programming skill, not a side topic
🔹 Teaches concepts before SQL syntax
🔹 Focuses on correct database design, not just queries
🔹 Connects theory directly to real applications
🔹 Builds habits that prevent long-term performance problems
This course fixes a common mistake:
👉 Learning SQL without understanding databases.
📖 What You Will Learn?
By the end of this course, you will be able to:
🔹 Understand what databases are and why they matter
🔹 Distinguish clearly between Data Structures and Databases
🔹 Understand NULL, redundancy, integrity, and constraints
🔹 Design databases correctly using ERD
🔹 Convert ERD into relational schema step by step
🔹 Apply Primary and Foreign Keys correctly
🔹 Write SQL confidently:
▫️ DDL (Create, Alter, Drop)
▫️ DML (Insert, Update, Delete)
▫️ Queries (Select, Where, Group By, Having, Joins)
🔹 Use views and indexes properly
🔹 Apply normalization (1NF → 3NF and beyond)
🔹 Understand how database design affects performance
🧱 How This Course Is Structured?
🔹 Database fundamentals and concepts first
🔹 Conceptual design using ERD
🔹 Logical design using relational schema
🔹 SQL taught gradually with practice
🔹 Real examples and exercises
🔹 Ends with normalization and performance awareness
📌 Every topic is taught at the right depth for this stage.
🧑💻 Who This Course Is For?
✅ Students who completed C# – Level 1 and are moving deeper into backend foundations
✅ Backend developers who want faster, cleaner, and more scalable applications
✅ Developers who want to stop guessing and start designing databases correctly
✅ Learners who want skills that apply to any programming major
✅ Data Analysts who need to understand how data is stored, structured, and queried
✅ Data Scientists who want reliable, well-designed data sources instead of messy data
✅ AI / Machine Learning engineers who need strong database foundations for data pipelines, training datasets, and performance
✅ Anyone who wants to:
🔹 Save development time
🔹 Avoid performance bottlenecks
🔹 Reduce bugs caused by bad data design
🔹 Work confidently with large and real-world datasets
❌ Not for people looking for shortcuts or memorizing SQL without understanding
⚠️ What This Course Is NOT?
❌ Not a DBA certification
❌ Not a syntax-only SQL course
❌ Not optional for serious developers
🎓 Certification & Learning Outcomes
Upon completion, you will earn a
Certificate in Database – Level 1 (SQL: Concepts & Practice) confirming your ability to:
🔹 Design relational databases correctly
🔹 Write efficient SQL queries
🔹 Apply constraints and normalization properly
🔹 Build database-driven applications confidently
🎓 Final Outcome
After this course, you will:
🔹 Understand databases deeply
🔹 Write SQL correctly and confidently
🔹 Reduce development time dramatically
🔹 Be ready for advanced backend and database courses
🧠 Strong developers master databases — weak ones fight them forever.
Course Content
- What is Database? (20:55)
- What is NULL? (8:33)
- Primary Key vs Foreign Key / Referential Integrity (24:36)
- What is Redundancy? and why it's a problem? (19:22)
- What is Data Integrity? and Why it's Important and Critical? (21:38)
- What is Constraint? and Why it's Important? (13:47)
- What is SQL? (17:51)
- DBMs vs RDBMS Summary (8:50)
- What is ERD? and Why? (20:22)
- ERD Symbols (12:33)
- Components of ERD (2:27)
- Entity (Strong) and Weak Entity (9:25)
- Attributes (7:08)
- Relationships (16:39)
- One-to-One Relationship (16:21)
- One-to-Many/Many-to-One Relationship (15:01)
- Many-to-Many Relationship (6:26)
- Cardinality vs Ordinality (11:57)
- Cardinality Symbols and Practices (29:44)
- Total Vs Partial Participation (5:54)
- Process of Creating ERD Step by Step - Small Project (26:57)
- Recommended ERD Software to Use (2:51)
- Aggregation / Associative Entities (5:45)
- Generalization (13:26)
- Specialization (15:38)
- What is Relational Schema? (13:58)
- Convert Self Referential ==> Relational Schema (7:07)
- Convert Composite-Multivalued-Derived Attributes ==> Relational Schema (15:19)
- Convert One-to-One ==> Relational Schema (8:45)
- Convert One-to-Many/Many-to-One ==> Relational Schema (8:16)
- Convert Many-to-Many ==> Relational Schema (16:41)
- Generalization and Specialization to Relational Schema
- Convert Associative Entity to Relational Schema (7:20)
- How to create Relational Schema on ERDPlus.com? (5:08)
- Restore Sample HR Database and Get Ready . (4:29)
- Select Statement (6:37)
- Select Distinct Statement (5:35)
- Where Statement + AND , OR, NOT (10:33)
- "In" Operator (8:55)
- Sorting : Order By (7:01)
- Select Top Statement (13:45)
- Select As (11:27)
- Between Operator (1:40)
- Count, Sum, Avg, Min, Max Functions (6:00)
- Group By (7:46)
- Having (8:14)
- Like (6:13)
- WildCards (7:42)