Bird
Raised Fist0
SQLquery~5 mins

Database design best practices in SQL - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is normalization in database design?
Normalization is the process of organizing data to reduce duplication and improve data integrity by dividing tables and defining relationships.
Click to reveal answer
beginner
Why should you use primary keys in tables?
Primary keys uniquely identify each record in a table, ensuring each row can be referenced and preventing duplicate records.
Click to reveal answer
beginner
What is the purpose of foreign keys?
Foreign keys link records between tables, enforcing referential integrity by ensuring related data exists in the referenced table.
Click to reveal answer
beginner
Why is it important to avoid redundant data in a database?
Avoiding redundant data saves storage space, reduces errors, and makes updates easier because data is stored in one place only.
Click to reveal answer
intermediate
What does indexing do in a database?
Indexing speeds up data retrieval by creating a quick lookup structure, similar to an index in a book.
Click to reveal answer
Which of the following best describes a primary key?
AA unique identifier for each record in a table
BA field that stores large text data
CA key used to encrypt data
DA field that can contain duplicate values
What is the main goal of normalization?
ATo organize data to reduce redundancy
BTo store data in one large table
CTo speed up queries by adding indexes
DTo increase data duplication
Which key enforces a relationship between two tables?
APrimary key
BForeign key
CCandidate key
DComposite key
Why should you avoid storing the same data in multiple places?
AIt makes the database faster
BIt helps with backup
CIt causes data inconsistency and wastes space
DIt improves security
What does an index do in a database?
ADeletes old data automatically
BEncrypts data for security
CStores backup copies
DSpeeds up data retrieval
Explain the importance of primary keys and foreign keys in database design.
Think about how tables connect and keep data consistent.
You got /4 concepts.
    Describe what normalization is and why it is used in databases.
    Consider how to keep data clean and avoid repetition.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which of the following is a key reason to use primary keys in database tables?
      easy
      A. To store large amounts of text data
      B. To create duplicate records easily
      C. To speed up the database server hardware
      D. To uniquely identify each record in the table

      Solution

      1. Step 1: Understand the role of primary keys

        Primary keys uniquely identify each row in a table, preventing duplicates.
      2. Step 2: Compare options with primary key purpose

        Only To uniquely identify each record in the table describes uniqueness, which is the main purpose of primary keys.
      3. Final Answer:

        To uniquely identify each record in the table -> Option D
      4. Quick Check:

        Primary key = unique record ID [OK]
      Hint: Primary keys always ensure unique records [OK]
      Common Mistakes:
      • Thinking primary keys store large text
      • Confusing primary keys with performance hardware
      • Believing primary keys allow duplicates
      2. Which SQL statement correctly creates a table with a primary key on the id column?
      easy
      A. CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50));
      B. CREATE TABLE users (id INT, name VARCHAR(50) PRIMARY KEY);
      C. CREATE TABLE users (id INT, name VARCHAR(50), PRIMARY id);
      D. CREATE TABLE users (id INT UNIQUE, name VARCHAR(50));

      Solution

      1. Step 1: Review correct primary key syntax

        The primary key is declared as id INT PRIMARY KEY inside the column definition.
      2. Step 2: Check each option's syntax

        CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50)); uses correct syntax; A has invalid syntax; B places PRIMARY KEY on wrong column; D uses UNIQUE but not PRIMARY KEY.
      3. Final Answer:

        CREATE TABLE users (id INT PRIMARY KEY, name VARCHAR(50)); -> Option A
      4. Quick Check:

        Primary key syntax = column_name TYPE PRIMARY KEY [OK]
      Hint: Primary key goes right after the column type [OK]
      Common Mistakes:
      • Placing PRIMARY KEY on wrong column
      • Using UNIQUE instead of PRIMARY KEY
      • Incorrect syntax for primary key declaration
      3. Given these two tables:
      CREATE TABLE authors (author_id INT PRIMARY KEY, name VARCHAR(100));
      CREATE TABLE books (book_id INT PRIMARY KEY, title VARCHAR(100), author_id INT, FOREIGN KEY (author_id) REFERENCES authors(author_id));
      What will happen if you try to insert a book with author_id = 5, but no author with author_id = 5 exists?
      medium
      A. The insert will succeed and create a new author automatically
      B. The insert will fail due to foreign key constraint violation
      C. The insert will succeed but author_id will be set to NULL
      D. The insert will succeed but cause duplicate author records

      Solution

      1. Step 1: Understand foreign key constraints

        Foreign keys require the referenced value to exist in the parent table to maintain data integrity.
      2. Step 2: Apply constraint to the insert operation

        Inserting a book with author_id = 5 fails if no author with id 5 exists, causing a constraint violation.
      3. Final Answer:

        The insert will fail due to foreign key constraint violation -> Option B
      4. Quick Check:

        Foreign key enforces existing parent record [OK]
      Hint: Foreign keys block inserts without matching parent [OK]
      Common Mistakes:
      • Assuming foreign keys auto-create missing parents
      • Thinking foreign keys allow NULL by default
      • Ignoring constraint errors on insert
      4. You have a table orders with columns order_id (primary key), customer_id, and order_date. You want to add a foreign key constraint on customer_id referencing customers(customer_id). Which of these statements has an error?
      medium
      A. ALTER TABLE orders ADD FOREIGN KEY (customer_id) REFERENCES customers(customer_id);
      B. ALTER TABLE orders ADD CONSTRAINT fk_customer FOREIGN KEY (customer_id) REFERENCES customers(customer_id);
      C. ALTER TABLE orders ADD FOREIGN KEY customer_id REFERENCES customers(customer_id);
      D. ALTER TABLE orders ADD CONSTRAINT fk_customer FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ON DELETE CASCADE;

      Solution

      1. Step 1: Review correct syntax for adding foreign keys

        The correct syntax requires parentheses around the column name after FOREIGN KEY.
      2. Step 2: Identify the incorrect statement

        ALTER TABLE orders ADD FOREIGN KEY customer_id REFERENCES customers(customer_id); misses parentheses around customer_id, causing syntax error.
      3. Final Answer:

        ALTER TABLE orders ADD FOREIGN KEY customer_id REFERENCES customers(customer_id); -> Option C
      4. Quick Check:

        Foreign key column must be in parentheses [OK]
      Hint: Always use parentheses around foreign key columns [OK]
      Common Mistakes:
      • Omitting parentheses around column names
      • Forgetting to name the constraint (optional but recommended)
      • Misplacing ON DELETE options
      5. You are designing a database for a library. You want to track books, authors, and the categories each book belongs to. Which design best follows database design best practices?
      hard
      A. Separate tables for books, authors, and categories with primary keys and foreign keys linking them
      B. Separate tables for books and categories only, storing author names as text in books
      C. One table for books and authors combined, and a separate table for categories
      D. One table with columns: book_id, book_title, author_name, category_name

      Solution

      1. Step 1: Analyze normalization and relationships

        Best practice is to separate entities into tables and link them with keys to avoid duplication.
      2. Step 2: Evaluate each option's design

        Separate tables for books, authors, and categories with primary keys and foreign keys linking them uses separate tables with keys, which supports clear organization and data consistency.
      3. Final Answer:

        Separate tables for books, authors, and categories with primary keys and foreign keys linking them -> Option A
      4. Quick Check:

        Separate tables + keys = best design [OK]
      Hint: Use separate tables and keys for related data [OK]
      Common Mistakes:
      • Putting all data in one table causing duplicates
      • Mixing unrelated data in same table
      • Storing related entity names as plain text
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard