Skip to main content

SQL & Databases Hub 🚀

SQL (Structured Query Language) is the standard declarative language for managing and querying relational databases. It has been an ANSI/ISO standard since 1986 and is supported by every major relational database engine — Oracle, MySQL, PostgreSQL, SQL Server, SQLite, and more. The SQL & Databases hub on VD Docs is the central reference for learning SQL from first principles (SELECT, WHERE, JOIN, GROUP BY) up to advanced topics (CTEs, window functions, stored procedures) and dialect-specific features (Oracle PL/SQL, MySQL connections from Python, PostgreSQL JSON support).

🎯 Learning Path Progress

Database Mastery: 1/5 Complete (20%)
SQL Basics
Intermediate Logic
Data Management
Oracle PL/SQL
Advanced Topics
SQL BasicsJoinsDDL/DMLPL/SQL

Current: SQL Fundamentals | Next: Joins & Subqueries


🎓 Context Switcher

🎓 Academic Mode
💻 Professional Mode

Mentor's Note: Data is the lifeblood of modern applications. Whether you are building a simple mobile app or a complex banking system, the way you store and retrieve data remains the same! 💡


📚 Universal SQL Concepts

Primary Key

🎯 Core Concept

A Primary Key is a column (or set of columns) that uniquely identifies each row in a database table. It ensures data integrity and prevents duplicate records.

✅ Key Characteristics

Uniqueness

  • No two rows can have the same primary key value
  • Each row is uniquely identifiable

Non-Null

  • Primary key columns cannot contain NULL values
  • Every row must have a primary key value

Immutability

  • Primary key values should not change over time
  • Stable identification for related records

Simplicity

  • Prefer single-column keys when possible
  • Use meaningful, stable values (not auto-increment when business keys exist)

🏗️ Implementation Examples

SQL Syntax

-- Single Column Primary Key
CREATE TABLE Students (
student_id INT PRIMARY KEY,
name VARCHAR(100),
email VARCHAR(100)
);

-- Composite Primary Key
CREATE TABLE Enrollment (
student_id INT,
course_id INT,
enrollment_date DATE,
PRIMARY KEY (student_id, course_id)
);

-- Adding Primary Key to existing table
ALTER TABLE Departments
ADD PRIMARY KEY (department_id);

Auto-Increment Primary Keys

-- MySQL
CREATE TABLE Users (
user_id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50)
);

-- PostgreSQL
CREATE TABLE Users (
user_id SERIAL PRIMARY KEY,
username VARCHAR(50)
);

-- Oracle
CREATE TABLE Users (
user_id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
username VARCHAR(50)
);

🎓 Academic Context

Exam Focus Points

  • Definition: Unique identifier for table records
  • Properties: Not Null, Unique, Immutable
  • Types: Simple vs Composite keys
  • Viva Questions:
    • Why can't a primary key be NULL?
    • When would you use a composite key?
    • Difference between primary key and unique key

Mark Distribution

  • Short Answers: 2-3 marks (definition, properties)
  • Long Questions: 5 marks (examples, implementation)
  • Practical: Creating tables with primary keys

💻 Professional Context

Best Practices

  1. Natural vs Surrogate Keys

    • Natural: Business-meaningful (SSN, email)
    • Surrogate: System-generated (auto-increment)
  2. Performance Considerations

    • Integer keys perform better than string keys
    • Keep primary keys as small as possible
    • Index primary keys automatically created
  3. Data Integrity

    • Foreign key references require primary keys
    • Cascading updates/deletes depend on primary keys
    • Replication and sharding require stable keys

Production Scenarios

  • User Management: User IDs for account systems
  • E-commerce: Product IDs for inventory
  • Banking: Account numbers for transactions
  • Healthcare: Patient IDs for medical records
  • Foreign Key: References primary key in another table
  • Unique Constraint: Similar but allows NULL values
  • Composite Key: Multiple columns as primary key
  • Surrogate Key: System-generated identifier
  • Natural Key: Business-meaningful identifier

This atomic content bridges academic database theory with professional database design practices.


🎯 What would you like to learn?

🔰 1. Universal SQL Basics

Learn the foundations that work across all major database systems.

📈 2. Intermediate Logic

Master the advanced techniques used by professional database developers.

🏗️ 3. Data Management (DDL/DML)

Learn how to build and maintain database structures.


🔷 Dialect-Specific Deep Dives

Depending on your course (BCA or Board Exam), you may need specialized features:

  • Oracle Database (PL/SQL): Procedural SQL, Triggers, and Cursors. 💎
  • MySQL (Coming Soon): Optimized for web applications. 🍃
  • PostgreSQL (Coming Soon): The world's most advanced open-source database. 🐘

🎨 Visual Logic: The Database Spectrum


Pro Tip: "Information is the oil of the 21st century, and analytics is the combustion engine." - Peter Sondergaard


BCA (RDBMS Focus)

BCA Semester 2 students: Your complete database resources:

CBSE

Quick Reference


Whether you're preparing for BCA exams or becoming a database professional, this hub has you covered!