GitHub

DBT Analytics Project

using SQL, DBT & Snowflake warehouse

Detail Image

Used SQL query in both DBT & Snowflake platform.
Used Data Build Tool(DBT) to Transform the Data .
Snowflake Warehouse to store both raw & transformed data.

SQL query executed in Snowflake database 🚀


                    
                        # To create a Warehouse:
                        create or replace warehouse transformation;


                        # To create Databases:
                        create database raw;
                        create database analytics;


                        # Create a schema:
                        create schema raw.hitman_shop;

                        
                        # To Create 'PRODUCTS' Table inside 'raw' Database:
                        create or replace TABLE RAW.HITMAN_SHOP.PRODUCTS (
                            PRODUCT_NAME STRING,
                            PRODUCT_ID INTEGER,
                            PRICE STRING,
                            EXPIRATION_DATE DATE,
                            CATEGORY STRING
                        );


                        # To Create 'CUSTOMERS' Table inside 'raw' Database:
                        create or replace TABLE RAW.HITMAN_SHOP.CUSTOMERS (
                            CUSTOMER_ID INTEGER,
                            FIRST_NAME STRING,
                            LAST_NAME STRING,
                            EMAIL STRING,
                            BIRTHDATE DATE,
                            ADDRESS STRING,
                            CC FLOAT,
                            CC_TYPE STRING
                        );


                        # To Create 'ORDERS' Table inside 'raw' Database:
                        create or replace TABLE RAW.HITMAN_SHOP.ORDERS (
                            ORDER_ID INTEGER,
                            CUSTOMER_ID INTEGER,
                            PRODUCT_ID INTEGER,
                            QUANTITY INTEGER,
                            ORDER_DATE DATE,
                            TOTAL_PRICE FLOAT,
                            SHIPPING_ADDRESS STRING
                        );


                        # Query to retrieve records/rows from tables:
                        select * FROM raw.hitman_shop.products limit 50;
                        select * FROM raw.hitman_shop.customers limit 50;
                        select * FROM raw.hitman_shop.orders limit 50;


                        # Optional: Query to DROP Unnecessry tables:
                        DROP TABLE ANALYTICS.AGENT_SHOP.MY_FIRST_DBT_MODEL;
                        DROP TABLE ANALYTICS.AGENT_SHOP.MY_SECOND_DBT_MODEL;