Introduction to SQL: The Relational Foundation
SQL (Structured Query Language) is the standard language for dealing with Relational Databases. In the industry, it's not just about selecting data; it's about understanding how data is stored, indexed, and retrieved efficiently.
What is a Relational Database (RDBMS)?
An RDBMS stores data in tables (relations) with predefined schemas. The key concepts are:
- Tables: Sets of rows and columns.
- Primary Key: A unique identifier for each record.
- Foreign Key: A link between two tables.
- Normalization: The process of organizing data to reduce redundancy (1NF, 2NF, 3NF).
The SQL Standard and Flavors
While there is an ANSI SQL standard, every major database (PostgreSQL, MySQL, SQL Server, Oracle) has its own "flavor" or dialect.
- PostgreSQL: Famous for its extensibility and adherence to standards.
- MySQL: The world's most popular open-source database, used by Facebook and Twitter.
- SQL Server: Microsoft's enterprise-grade relational database.
Essential Environment Setup
For professional development, you usually interact with databases through:
- CLI:
psql(Postgres) ormysql(MySQL). - GUI Tools: DBeaver, TablePlus, or pgAdmin.
- ORMs: Prisma, TypeORM, or Sequelize (used in app code).
The "Cost" of a Query
Every time you run a query, the Query Planner calculates the most efficient way to get the data (Sequential Scan vs Index Scan). A senior developer always checks the "Explain Plan".
sql codeEXPLAIN ANALYZE SELECT * FROM users WHERE email = 'test@example.com';