Bird
Raised Fist0
Supabasecloud~5 mins

Data types and constraints in Supabase - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a data type in Supabase?
A data type defines the kind of data a column can hold, like numbers, text, or dates. It helps keep data organized and valid.
Click to reveal answer
beginner
Name three common data types used in Supabase tables.
Common data types include integer (whole numbers), text (words or sentences), and timestamp (date and time).
Click to reveal answer
beginner
What is a constraint in Supabase?
A constraint is a rule that limits the kind of data that can be stored in a table to keep data accurate and consistent.
Click to reveal answer
beginner
Explain the purpose of the NOT NULL constraint.
NOT NULL means a column must always have a value; it cannot be left empty. This ensures important data is always present.
Click to reveal answer
beginner
What does a UNIQUE constraint do in a Supabase table?
A UNIQUE constraint makes sure all values in a column are different, so no two rows have the same value in that column.
Click to reveal answer
Which data type would you use to store a user's age in Supabase?
Aboolean
Btext
Cinteger
Dtimestamp
What does the NOT NULL constraint enforce?
AColumn values must be unique
BColumn cannot have empty values
CColumn values must be numbers
DColumn values must be text
Which constraint ensures no duplicate emails in a user table?
AUNIQUE
BCHECK
CNOT NULL
DFOREIGN KEY
Which data type is best for storing a user's full name?
Atimestamp
Binteger
Cboolean
Dtext
What is the main purpose of constraints in a database?
ATo enforce rules on data for accuracy
BTo speed up queries
CTo limit data types
DTo store large files
Describe what data types and constraints are in Supabase and why they matter.
Think about how data is organized and kept correct in tables.
You got /5 concepts.
    Explain how you would use constraints to ensure a user's email is always provided and unique in a Supabase table.
    Consider rules that prevent missing or repeated emails.
    You got /3 concepts.

      Practice

      (1/5)
      1. What is the main purpose of data types in a Supabase database table?
      easy
      A. To specify what kind of data each column can store
      B. To control user access to the database
      C. To create visual reports from data
      D. To backup the database automatically

      Solution

      1. Step 1: Understand data types role

        Data types define the kind of data a column can hold, like numbers or text.
      2. Step 2: Differentiate from other features

        Access control, reports, and backups are unrelated to data types.
      3. Final Answer:

        To specify what kind of data each column can store -> Option A
      4. Quick Check:

        Data types = specify data kind [OK]
      Hint: Data types tell what data fits in each column [OK]
      Common Mistakes:
      • Confusing data types with user permissions
      • Thinking data types create reports
      • Assuming data types handle backups
      2. Which of the following is the correct way to define a column with a NOT NULL constraint in Supabase SQL?
      easy
      A. username TEXT NOT NULL
      B. username NOT NULL TEXT
      C. NOT NULL username TEXT
      D. TEXT username NOT NULL

      Solution

      1. Step 1: Recall SQL column definition order

        The correct order is: column name, data type, then constraints.
      2. Step 2: Match the syntax

        username TEXT NOT NULL follows this order: username TEXT NOT NULL.
      3. Final Answer:

        username TEXT NOT NULL -> Option A
      4. Quick Check:

        Column name + type + constraint = correct syntax [OK]
      Hint: Column name first, then type, then constraints [OK]
      Common Mistakes:
      • Placing NOT NULL before the column name
      • Swapping data type and constraint order
      • Using incorrect keyword order
      3. Given the table definition:
      CREATE TABLE users (id SERIAL PRIMARY KEY, email TEXT UNIQUE NOT NULL, age INT);

      What happens if you try to insert two rows with the same email?
      medium
      A. The second insert overwrites the first row
      B. Both rows are inserted successfully
      C. The second insert fails due to UNIQUE constraint violation
      D. The database ignores the UNIQUE constraint

      Solution

      1. Step 1: Understand UNIQUE constraint effect

        The UNIQUE constraint prevents duplicate values in the email column.
      2. Step 2: Predict insert behavior

        Inserting a duplicate email causes the second insert to fail with an error.
      3. Final Answer:

        The second insert fails due to UNIQUE constraint violation -> Option C
      4. Quick Check:

        UNIQUE prevents duplicates = second insert fails [OK]
      Hint: UNIQUE means no duplicate values allowed [OK]
      Common Mistakes:
      • Assuming duplicates are allowed
      • Thinking second insert overwrites first
      • Ignoring constraint errors
      4. You wrote this table definition:
      CREATE TABLE products (id INT PRIMARY KEY, name TEXT NOT NULL, price TEXT);

      What is the main issue with this definition?
      medium
      A. The id column cannot be INT
      B. The price column should not be TEXT for numeric values
      C. The name column cannot have NOT NULL constraint
      D. PRIMARY KEY cannot be on id column

      Solution

      1. Step 1: Check data type appropriateness

        Price should be a numeric type (like INT or NUMERIC), not TEXT, to store numbers properly.
      2. Step 2: Validate other columns

        id as INT with PRIMARY KEY and name as TEXT NOT NULL are valid.
      3. Final Answer:

        The price column should not be TEXT for numeric values -> Option B
      4. Quick Check:

        Price needs numeric type, not text [OK]
      Hint: Use numeric types for numbers, not TEXT [OK]
      Common Mistakes:
      • Using TEXT for numeric columns
      • Thinking PRIMARY KEY can't be INT
      • Believing NOT NULL is invalid on text
      5. You want to create a table to store user profiles with these rules:
      - Each user has a unique ID
      - Email must be unique and not empty
      - Age must be a positive integer or NULL if unknown

      Which table definition correctly applies data types and constraints?
      hard
      A.
      CREATE TABLE profiles (user_id UUID PRIMARY KEY, email TEXT UNIQUE NOT NULL, age INT CHECK (age > 0) OR age IS NULL);
      B.
      CREATE TABLE profiles (user_id INT, email TEXT NOT NULL, age INT NOT NULL CHECK (age >= 0));
      C.
      CREATE TABLE profiles (user_id UUID PRIMARY KEY, email TEXT UNIQUE NOT NULL, age INT CHECK (age > 0) NOT NULL);
      D.
      CREATE TABLE profiles (user_id UUID PRIMARY KEY, email TEXT UNIQUE NOT NULL, age INT CHECK (age > 0));

      Solution

      1. Step 1: Check unique ID and email constraints

        CREATE TABLE profiles (user_id UUID PRIMARY KEY, email TEXT UNIQUE NOT NULL, age INT CHECK (age > 0));
        uses UUID PRIMARY KEY for unique ID and email TEXT UNIQUE NOT NULL, which is correct.
      2. Step 2: Validate age constraint

        CREATE TABLE profiles (user_id UUID PRIMARY KEY, email TEXT UNIQUE NOT NULL, age INT CHECK (age > 0));
        uses CHECK (age > 0) allowing NULL by default, which fits the requirement.
      3. Step 3: Review other options

        CREATE TABLE profiles (user_id INT, email TEXT NOT NULL, age INT NOT NULL CHECK (age >= 0));
        lacks PRIMARY KEY and UNIQUE on email, makes age NOT NULL; C adds NOT NULL to age preventing NULL values; D has syntax error in CHECK constraint.
      4. Final Answer:

        CREATE TABLE profiles (user_id UUID PRIMARY KEY, email TEXT UNIQUE NOT NULL, age INT CHECK (age > 0)); -> Option D
      5. Quick Check:

        UUID PK, UNIQUE email, age > 0 or NULL = correct [OK]
      Hint: Use CHECK for age and UNIQUE + NOT NULL for email [OK]
      Common Mistakes:
      • Forgetting PRIMARY KEY on user_id
      • Making age NOT NULL when it can be NULL
      • Writing invalid CHECK constraints
      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