🎯 What You'll Learn
- ✓ What is a database?
- ✓ What is a Relational Database Management System (RDBMS)?
- ✓ What are the main types of databases?
- ✓ What is SQL?
- ✓ What are common SQL database dialects?
Sharpen your SQL And Databases skills with targeted coding flashcards.
A database is an organized collection of structured data stored and accessed electronically from a computer system. Databases allow efficient storage, retrieval, and management of data using software called a Database Management System (DBMS). Common examples include relational databases like MySQL and non-relational ones like MongoDB.
An RDBMS is a software system that manages relational databases, organizing data into tables with rows and columns related by keys. It supports SQL for querying and ensures data integrity through constraints. Examples include PostgreSQL, Oracle, and SQL Server.
Databases are broadly classified into relational (SQL-based, like MySQL) and non-relational (NoSQL, like MongoDB for documents or Cassandra for wide-column stores). Other types include hierarchical, network, and graph databases for specific use cases.
SQL stands for Structured Query Language, a standard language for managing and manipulating relational databases. It includes sublanguages like DDL for schema definition, DML for data manipulation, and DCL for access control.
Popular SQL dialects include MySQL, PostgreSQL, SQLite, Oracle SQL, and Microsoft SQL Server, each with slight syntax variations but adhering to ANSI SQL standards. PostgreSQL is closest to the standard, while MySQL has extensions like GROUP BY shortcuts.
A table is a structured data storage unit in a relational database, consisting of rows (records) and columns (attributes). Each column has a defined data type, and tables relate via keys.
A primary key is a unique identifier for each record in a table, ensuring no duplicates and enabling efficient lookups. It can be a single column or composite, like PRIMARY KEY (id).
A foreign key is a column or set of columns in one table that references the primary key of another table, enforcing referential integrity. For example, an orders.customer_id foreign key links to customers.id.
DDL stands for Data Definition Language, used to define and manage database structures like tables, indexes, and views. Common commands: CREATE, ALTER, DROP.
The CREATE TABLE statement defines a new table with specified columns, data types, and constraints. Example: CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50));.
The ALTER TABLE command modifies an existing table's structure, such as adding/dropping columns or constraints. Example: ALTER TABLE users ADD email VARCHAR(100);.
DROP TABLE permanently deletes a table and all its data from the database. Use with caution: DROP TABLE temp_table;.
Flashcards
Flip to reveal
Focus Mode
Spaced repetition
Multiple Choice
Test your knowledge
Type Answer
Active recall
Learn Mode
Multi-round mastery
Match Game
Memory challenge
Programming is one of the most valuable and versatile skills in the modern economy. Whether you're a bootcamp graduate solidifying fundamentals, a CS student preparing for exams, or a developer prepping for FAANG interviews, these flashcards help you master the concepts that separate junior developers from senior engineers — algorithms, system design, and software architecture.
After reviewing an algorithm or data structure card, implement it from scratch in your preferred language to build muscle memory.
For every algorithm, know its Big O time and space complexity — this is the most commonly tested concept in technical interviews.
Focus on recognizing problem patterns (sliding window, two pointers, dynamic programming) rather than memorizing individual solutions.
Yes, our programming decks cover algorithms, data structures, and system design concepts frequently tested in technical interviews at top companies.
Our flashcards focus on language-agnostic concepts, but examples reference popular languages like Python, JavaScript, Java, and C++.
We offer decks from introductory programming concepts to advanced topics like distributed systems and compiler design.
Our flashcards cover concepts in Python, JavaScript, Java, C++, Go, and more, with language-agnostic cards on algorithms and design patterns.
Yes, we have extensive coverage of arrays, linked lists, trees, graphs, sorting algorithms, dynamic programming, and complexity analysis.
Absolutely — our decks focus on the algorithmic patterns, system design concepts, and problem-solving frameworks tested at top tech companies.