Bird
Raised Fist0
No-Codeknowledge~30 mins

User feedback collection in No-Code - Mini Project: Build & Apply

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
User Feedback Collection Database
📖 Scenario: You are building a simple database to collect user feedback for a website. This database will store user names, their email addresses, and their feedback messages.
🎯 Goal: Create a database table to store user feedback with fields for user name, email, and feedback message. Then, configure a status field to track if feedback is reviewed. Finally, write a query to select all unreviewed feedback and mark them as reviewed.
📋 What You'll Learn
Create a table called feedback with columns username (text), email (text), and message (text).
Add a column status (text) to track if feedback is 'new' or 'reviewed'.
Write a query to select all feedback where status is 'new'.
Write a query to update the status of selected feedback to 'reviewed'.
💡 Why This Matters
🌍 Real World
Collecting and managing user feedback is essential for improving websites and services. This project simulates a simple feedback database.
💼 Career
Database skills like creating tables and writing queries are fundamental for roles in data management, customer support systems, and web development.
Progress0 / 4 steps
1
Create the feedback table
Create a table called feedback with columns username as text, email as text, and message as text.
No-Code
Hint

Use CREATE TABLE statement with the exact column names and types.

2
Add a status column
Add a column called status of type text to the feedback table to track if feedback is 'new' or 'reviewed'.
No-Code
Hint

Add the status column inside the CREATE TABLE statement.

3
Select unreviewed feedback
Write a SQL query to select all columns from the feedback table where the status is 'new'.
No-Code
Hint

Use SELECT * FROM feedback WHERE status = 'new' to get unreviewed feedback.

4
Mark feedback as reviewed
Write a SQL query to update the status to 'reviewed' for all feedback entries where the status is currently 'new'.
No-Code
Hint

Use UPDATE feedback SET status = 'reviewed' WHERE status = 'new' to mark feedback as reviewed.

Practice

(1/5)
1. What is the main purpose of collecting user feedback in a database?
easy
A. To delete old user data automatically
B. To store opinions that help improve products
C. To increase the size of the database
D. To prevent users from accessing the system

Solution

  1. Step 1: Understand the role of user feedback

    User feedback is collected to learn what users think about a product or service.
  2. Step 2: Connect feedback to product improvement

    Storing opinions helps teams improve features and fix problems.
  3. Final Answer:

    To store opinions that help improve products -> Option B
  4. Quick Check:

    User feedback = product improvement [OK]
Hint: Feedback stores opinions to improve products [OK]
Common Mistakes:
  • Thinking feedback deletes data
  • Confusing feedback with database size
  • Assuming feedback blocks user access
2. Which of the following is the correct way to define a feedback table with fields for user name, rating, comment, and date?
easy
A. MAKE TABLE feedback (user_name CHAR, rate FLOAT, comment VARCHAR, date_time DATETIME);
B. CREATE feedback TABLE (user TEXT, stars TEXT, note TEXT, time TEXT);
C. TABLE feedback CREATE (name STRING, score NUMBER, feedback STRING, day DATE);
D. CREATE TABLE feedback (username TEXT, rating INTEGER, comment TEXT, date DATE);

Solution

  1. Step 1: Identify correct SQL syntax for table creation

    The correct syntax starts with CREATE TABLE, followed by table name and fields with types.
  2. Step 2: Match field names and types to feedback data

    username as TEXT, rating as INTEGER, comment as TEXT, and date as DATE are appropriate.
  3. Final Answer:

    CREATE TABLE feedback (username TEXT, rating INTEGER, comment TEXT, date DATE); -> Option D
  4. Quick Check:

    CREATE TABLE + fields = CREATE TABLE feedback (username TEXT, rating INTEGER, comment TEXT, date DATE); [OK]
Hint: CREATE TABLE with field names and types [OK]
Common Mistakes:
  • Using wrong SQL keywords like MAKE or TABLE CREATE
  • Incorrect data types for fields
  • Wrong order of keywords
3. Given the feedback table below, what will this query return?

SELECT username, rating FROM feedback WHERE rating >= 4;

Table data:
username | rating | comment | date
alice | 5 | Great! | 2024-06-01
bob | 3 | Okay | 2024-06-02
carol | 4 | Good | 2024-06-03
medium
A. [{"username": "alice", "rating": 5}, {"username": "carol", "rating": 4}]
B. [{"username": "bob", "rating": 3}]
C. [{"username": "alice", "rating": 5}, {"username": "bob", "rating": 3}]
D. []

Solution

  1. Step 1: Understand the query condition

    The query selects username and rating where rating is greater than or equal to 4.
  2. Step 2: Check table rows against condition

    alice has rating 5 (>=4), carol has rating 4 (>=4), bob has rating 3 (<4).
  3. Final Answer:

    [{"username": "alice", "rating": 5}, {"username": "carol", "rating": 4}] -> Option A
  4. Quick Check:

    rating >= 4 returns alice and carol [OK]
Hint: Filter ratings >= 4 to get alice and carol [OK]
Common Mistakes:
  • Including users with rating less than 4
  • Selecting wrong columns
  • Misreading >= as >
4. You wrote this query to add feedback but it gives an error:

INSERT INTO feedback (username, rating, comment, date) VALUES ('dave', 'five', 'Nice', '2024-06-04');

What is the likely cause of the error?
medium
A. The rating value 'five' is a string, but rating expects a number
B. The date format is incorrect
C. The comment field cannot contain text
D. The username field is missing

Solution

  1. Step 1: Check data types in the INSERT statement

    Rating is expected as a number, but 'five' is a text string.
  2. Step 2: Identify mismatch causing error

    Using a string where a number is expected causes a type error in the database.
  3. Final Answer:

    The rating value 'five' is a string, but rating expects a number -> Option A
  4. Quick Check:

    Rating type mismatch = The rating value 'five' is a string, but rating expects a number [OK]
Hint: Match data types exactly in INSERT statements [OK]
Common Mistakes:
  • Using text instead of number for rating
  • Assuming date format is wrong without checking
  • Thinking comment cannot have text
5. You want to find all feedback comments from users who gave a rating less than 3 and sort them by date newest first. Which query achieves this?
hard
A. SELECT username, comment FROM feedback WHERE rating < 3 ORDER BY date ASC;
B. SELECT comment FROM feedback WHERE rating >= 3 ORDER BY date ASC;
C. SELECT username, comment FROM feedback WHERE rating < 3 ORDER BY date DESC;
D. SELECT username, comment FROM feedback ORDER BY rating DESC, date ASC;

Solution

  1. Step 1: Filter feedback with rating less than 3

    The WHERE clause should use rating < 3 to get low ratings.
  2. Step 2: Sort results by date descending

    ORDER BY date DESC sorts newest feedback first.
  3. Final Answer:

    SELECT username, comment FROM feedback WHERE rating < 3 ORDER BY date DESC; -> Option C
  4. Quick Check:

    Filter rating < 3 + ORDER BY date DESC = SELECT username, comment FROM feedback WHERE rating < 3 ORDER BY date DESC; [OK]
Hint: Use WHERE rating < 3 and ORDER BY date DESC [OK]
Common Mistakes:
  • Using wrong comparison operator for rating
  • Sorting dates ascending instead of descending
  • Selecting wrong columns