SQL Rules

Vexdata provides ability to write data quality rules for both positive and negative conditions.

SQL Data Quality Rules - Positive and Negative Conditions

With this new feature, users can now define both positive and negative SQL data quality conditions to validate their data more effectively.

Key Features:

  1. Negative Conditions:

    • Users can write SQL queries and select an option from a drop-down indicating that the SQL should not produce any results (default option).

    • This is useful for ensuring that certain data conditions do not occur in the dataset (e.g., no records should have a value below 0 in a specific column).

  2. Positive Conditions:

    • Users can write SQL queries and select an option from a drop-down indicating that the SQL should produce results, with the following options:

      • The result count should be greater than 0.

      • The result count should be equal to a fixed value (e.g., exactly 10 results).

    • This allows users to confirm that certain data conditions are met (e.g., at least one record exists with a specific condition).

Example Use Cases:

  • Negative Condition: Write SQL to ensure no invalid ages in a dataset, such as:

  • Positive Condition: Write SQL to ensure valid ages in a dataset, This should return results:

Write SQL rule or Plain English to generate SQL Rule

Write the test case in English in the AI Prompt section and click on Generate SQL.

Below are examples to guide you in creating effective test cases for both single-table and multi-table test scripts.

Sample Data

  1. Users Table

    user_id
    name
    age
    credit_limit

    1

    Alice

    25

    5000

    2

    Bob

    34

    15000

    3

    Charlie

    29

    7000

  2. Orders Table

    order_id
    user_id
    order_amount
    order_date

    101

    1

    300

    2024-01-15

    102

    2

    2200

    2024-01-18

    103

    1

    450

    2024-02-05

English Inputs and Corresponding SQL

  1. Validate that no users are underage

    • Rule: Ensure that all users are at least 18 years old in users table

    • SQL:

    Result : Pass

  2. Validate that no users are beyond retirement age

    • Rule: Check that no user is older than 30 in Users table.

    • SQL:

  • Result: Fail

  • Failed Record Count = 1

  1. Validate that all users have a positive credit limit

    • Rule: Confirm that every user has a credit limit greater than zero in users table.

    • SQL:

      Result: Pass

  2. Ensure total orders do not exceed credit limits

    • Rule: Validate that the sum of order amounts for each user in Orders table does not exceed their credit limit in Users table.

    • SQL:

      Result: Pass

  3. Check for active users with no orders.

    • Rule: Identify users in users table who have not placed any orders.

    • SQL:

These examples provide a clear demonstration of how English test case inputs can be translated into SQL queries to validate data across different scenarios in a database system.

Last updated