पहला नॉर्म

Snowflake में डेटा मॉडलिंग परिचय

Nuno Rocha

Director of Engineering

डेटा नॉर्मलाइज़ेशन की प्रक्रिया

  • Data normalization: डेटा को स्ट्रक्चर करने की मल्टी-स्टेप प्रक्रिया ताकि डुप्लिकेशन और डिपेंडेंसियाँ कम हों

UNF के बाद धुंधले स्टेप्स

Snowflake में डेटा मॉडलिंग परिचय

डेटा नॉर्मलाइज़ेशन की प्रक्रिया (1)

  • Data normalization: डेटा को स्ट्रक्चर करने की मल्टी-स्टेप प्रक्रिया ताकि डुप्लिकेशन और डिपेंडेंसियाँ कम हों

UNF से 1NF तक स्टेप्स

Snowflake में डेटा मॉडलिंग परिचय

डेटा नॉर्मलाइज़ेशन की प्रक्रिया (2)

  • Data normalization: डेटा को स्ट्रक्चर करने की मल्टी-स्टेप प्रक्रिया ताकि डुप्लिकेशन और डिपेंडेंसियाँ कम हों

UNF से 3NF तक स्टेप्स

Snowflake में डेटा मॉडलिंग परिचय

डेटा नॉर्मलाइज़ेशन की प्रक्रिया (3)

  • Data normalization: डेटा को स्ट्रक्चर करने की मल्टी-स्टेप प्रक्रिया ताकि डुप्लिकेशन और डिपेंडेंसियाँ कम हों

UNF से 3NF तक स्टेप्स

Snowflake में डेटा मॉडलिंग परिचय

फर्स्ट नॉर्मल फॉर्म

  • First normal form (1NF): सुनिश्चित करता है कि हर एंटिटी के प्रत्येक कॉलम में यूनिक, एटोमिक वैल्यू हों

श्रेणी हाइलाइट के साथ सभी प्रोडक्ट्स टेबल

Snowflake में डेटा मॉडलिंग परिचय

फर्स्ट नॉर्मल फॉर्म (1)

  • UNF श्रेणी डेटा: L श्रेणी अलग-थलग नहीं है, इसलिए वैल्यू अपडेट करना संभव नहीं

सभी प्रोडक्ट्स की सूची जिनमें L है

Snowflake में डेटा मॉडलिंग परिचय

फर्स्ट नॉर्मल फॉर्म (2)

  • वैलिडेशन स्टेप: 1NF अनुरूपता जाँचने के लिए यूनिक वैल्यू क्वेरी करें।
SELECT DISTINCT category 
FROM allproducts;

श्रेणियों की सूची

Snowflake में डेटा मॉडलिंग परिचय

1NF के लिए Snowflake फंक्शन

  • TRIM
  • LATERAL & FLATTEN
  • SPLIT
Snowflake में डेटा मॉडलिंग परिचय

1NF के लिए Snowflake फंक्शन

  • TRIM: वैल्यू की शुरुआत और अंत से खाली स्पेस हटाता है
SELECT TRIM(category)
FROM allproducts;

श्रेणी में TRIM फंक्शन

Snowflake में डेटा मॉडलिंग परिचय

1NF के लिए Snowflake फंक्शन

  • TRIM: वैल्यू की शुरुआत और अंत से खाली स्पेस हटाता है.
  • LATERAL & FLATTEN: वैल्यू की सूची को इंडिविजुअल आइटम वाली टेबल की तरह ट्रीट करें.
  • SPLIT: डिलिमिटर के आधार पर वैल्यू अलग करता है.
SELECT TRIM(f.value)
FROM allproducts,
LATERAL FLATTEN(INPUT => SPLIT(allproducts.category, ',')) f;

श्रेणी में LATERAL, FLATTEN और SPLIT फंक्शन

Snowflake में डेटा मॉडलिंग परिचय

1NF लागू करना

  • स्टेप 1: UNF एट्रिब्यूट वैल्यू ट्रांसफर करने के लिए नई एंटिटी बनाएँ
CREATE OR REPLACE TABLE categories (
    category_id NUMBER(10,0) PRIMARY KEY,
    category VARCHAR(255)
);
Snowflake में डेटा मॉडलिंग परिचय

1NF लागू करना

  • स्टेप 2.1: शुरुआती अननॉर्मलाइज़्ड एंटिटी से डेटा लेकर नई एंटिटी भरें
  • INSERT INTO: टेबल में नई रो जोड़ने का SQL कमांड.
INSERT INTO categories (category_id, category)
___;
Snowflake में डेटा मॉडलिंग परिचय

1NF लागू करना

  • स्टेप 2.2: allproducts से डेटा चुनें, जो शुरुआती अननॉर्मलाइज़्ड एंटिटी है
INSERT INTO categories (category_id, category)
SELECT 
    ___,
    ___
FROM allproducts;
Snowflake में डेटा मॉडलिंग परिचय

1NF लागू करना

  • स्टेप 2.3: किसी खास एट्रिब्यूट के भीतर की वैल्यू बाँटने के लिए फंक्शन उपयोग करें
INSERT INTO categories (category_id, category)
SELECT 
    ___, 
    TRIM(f.value)
FROM allproducts,
LATERAL FLATTEN(INPUT => SPLIT(allproducts.category, ',')) f;
Snowflake में डेटा मॉडलिंग परिचय

1NF लागू करना

  • स्टेप 2.4: यूनिक पहचानकर्ता तय करने के लिए रो नंबर चुनें
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;
Snowflake में डेटा मॉडलिंग परिचय

1NF लागू करना

  • स्टेप 2.4: यूनिक श्रेणी वैल्यू बनाने के लिए डेटा एग्रीगेट करें
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);
Snowflake में डेटा मॉडलिंग परिचय

डेटा नॉर्मलाइज़ेशन की ओर

UNF से 1NF तक, सभी प्रोडक्ट्स डेटा

Snowflake में डेटा मॉडलिंग परिचय

टर्मिनोलॉजी और फंक्शन ओवरव्यू

  • Data normalization: डेटा को स्ट्रक्चर करने की प्रक्रिया ताकि डुप्लिकेशन और डिपेंडेंसी कम हों
  • Normal forms: डेटा नॉर्मलाइज़ेशन लागू करने के दिशानिर्देश
  • First normal form (1NF): सुनिश्चित करता है कि हर कॉलम में यूनिक, एटोमिक वैल्यू हों
  • INSERT INTO: टेबल में नई रो जोड़ने का SQL कमांड
  • TRIM: वैल्यू की शुरुआत और अंत से स्पेस हटाने वाला SQL फंक्शन
  • LATERAL FLATTEN(INPUT => SPLIT()): वैल्यू को रो में बाँटने का Snowflake फंक्शन
  • ROW_NUMBER() OVER (ORDER BY): क्रमिक नंबर जनरेट करने वाला SQL फंक्शन
  • GROUP BY: समान वैल्यू वाले डेटा को एग्रीगेट करने वाला SQL क्लॉज़
Snowflake में डेटा मॉडलिंग परिचय

फंक्शन ओवरव्यू

-- किसी एंटिटी को क्वेरी परिणाम के डेटा से भरें
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 में डेटा मॉडलिंग परिचय

अभ्यास करते हैं!

Snowflake में डेटा मॉडलिंग परिचय

Preparing Video For Download...