Snowflake में डेटा मॉडलिंग परिचय
Nuno Rocha
Director of Engineering






SELECT DISTINCT category
FROM allproducts;

SELECT TRIM(category)
FROM allproducts;

SELECT TRIM(f.value)
FROM allproducts,
LATERAL FLATTEN(INPUT => SPLIT(allproducts.category, ',')) f;

CREATE OR REPLACE TABLE categories (
category_id NUMBER(10,0) PRIMARY KEY,
category VARCHAR(255)
);
INSERT INTO: टेबल में नई रो जोड़ने का SQL कमांड.INSERT INTO categories (category_id, category)
___;
INSERT INTO categories (category_id, category)
SELECT
___,
___
FROM allproducts;
INSERT INTO categories (category_id, category)
SELECT
___,
TRIM(f.value)
FROM allproducts,
LATERAL FLATTEN(INPUT => SPLIT(allproducts.category, ',')) f;
INSERT INTO categories (category_id, category)
SELECT
ROW_NUMBER() OVER (ORDER BY TRIM(f.value)),
TRIM(f.value)
FROM allproducts,
LATERAL FLATTEN(INPUT => SPLIT(allproducts.category, ',')) f;
INSERT INTO categories (category_id, category)
SELECT
ROW_NUMBER() OVER (ORDER BY TRIM(f.value)),
TRIM(f.value)
FROM allproducts,
LATERAL FLATTEN(INPUT => SPLIT(allproducts.category, ',')) f
GROUP BY TRIM(f.value);

INSERT INTO: टेबल में नई रो जोड़ने का SQL कमांडTRIM: वैल्यू की शुरुआत और अंत से स्पेस हटाने वाला SQL फंक्शनLATERAL FLATTEN(INPUT => SPLIT()): वैल्यू को रो में बाँटने का Snowflake फंक्शनROW_NUMBER() OVER (ORDER BY): क्रमिक नंबर जनरेट करने वाला SQL फंक्शनGROUP BY: समान वैल्यू वाले डेटा को एग्रीगेट करने वाला SQL क्लॉज़-- किसी एंटिटी को क्वेरी परिणाम के डेटा से भरें
INSERT INTO table_name (column_name, other_columns)
SELECT
-- रो नंबर से यूनिक वैल्यू जनरेट करें
ROW_NUMBER() OVER (ORDER BY TRIM(alias.value)),
TRIM(alias.value)
FROM another_table,
-- डिलिमिटर के आधार पर टेक्स्ट एट्रिब्यूट वैल्यू स्प्लिट करें
LATERAL FLATTEN(INPUT => SPLIT(another_table.column_name, 'delimiter_value'))alias
-- वैल्यू की यूनिकनेस सुनिश्चित करने के लिए डेटा एग्रीगेट करें
GROUP BY TRIM(alias.value);
Snowflake में डेटा मॉडलिंग परिचय