सही अप्रोच चुनना

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

Nuno Rocha

Director of Engineering

हर मॉडलिंग तकनीक के उपयोग-क्षेत्र

एंटिटी-रिलेशनशिप (ER) मॉडल के उपयोग-क्षेत्र

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

हर मॉडलिंग तकनीक के उपयोग-क्षेत्र (1)

डायमेंशनल मॉडल के उपयोग-क्षेत्र

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

हर मॉडलिंग तकनीक के उपयोग-क्षेत्र (2)

डेटा वॉल्ट मॉडलिंग के उपयोग-क्षेत्र

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

टेक्निकल विचार

ER मॉडल के फायदे और सीमाएँ

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

टेक्निकल विचार (1)

डायमेंशनल मॉडल के फायदे और सीमाएँ

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

टेक्निकल विचार (2)

डेटा वॉल्ट के फायदे और सीमाएँ

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

डेटा मॉडल्स इन एक्शन

वेन आरेख में मॉडल

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

डेटा मॉडल्स इन एक्शन (1)

कॉलेज डेटा को वेन आरेख में मॉडल्स में मैप करना

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

मॉडल्स से डेटा निकालना

  • हब एंटिटी और उसके सैटेलाइट को रेफरेंस कर छात्रों का विस्तृत डेटा लाएँ:
SELECT
    hs.student_key,
    ss.student_name
FROM hub_students AS hs
    JOIN sat_student AS ss ON hs.student_key = ss.student_key;
Snowflake में डेटा मॉडलिंग परिचय

मॉडल्स से डेटा निकालना (1)

  • LEFT JOIN ON: SQL क्लॉज़ जो बाएँ एंटिटी की सभी पंक्तियों को दाएँ टेबल की मिलती पंक्तियों से, key के ON आधार पर, जोड़ता है。
SELECT
    hs.student_key,
    ss.student_name
FROM hub_students AS hs
    JOIN sat_student AS ss ON hs.student_key = ss.student_key
    LEFT JOIN link_enrollment AS le ON hs.student_key = le.student_key
Snowflake में डेटा मॉडलिंग परिचय

मॉडल्स से डेटा निकालना (2)

  • COUNT: SQL एग्रीगेट फंक्शन जो समूह में आइटम्स की संख्या देता है。
  • GROUP BY: SQL क्लॉज़ जो समान मानों वाले डेटा को एग्रीगेट करता है。
SELECT
    hs.student_key,
    ss.student_name,
    COUNT(le.class_key) AS NumberOfEnrollments
FROM hub_students AS hs
    JOIN sat_student AS ss ON hs.student_key = ss.student_key
    LEFT JOIN link_enrollment AS le ON hs.student_key = le.student_key
GROUP BY hs.student_key, 
    ss.student_name
Snowflake में डेटा मॉडलिंग परिचय

मॉडल्स से डेटा निकालना (3)

  • MAX: SQL एग्रीगेट फंक्शन जो किसी एट्रिब्यूट के मानों में सबसे बड़ा मान देता है。
SELECT
    hs.student_key,
    ss.student_name,
    COUNT(le.class_key) AS NumberOfEnrollments
    MAX(sc.load_date) AS MostRecentEnrollmentDate
FROM hub_students hs
    JOIN sat_student ss ON hs.student_key = ss.student_key
    LEFT JOIN link_enrollment le ON hs.student_key = le.student_key
    LEFT JOIN sat_class sc ON le.class_key = sc.class_key
GROUP BY hs.student_key, 
    ss.student_name;
Snowflake में डेटा मॉडलिंग परिचय

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

  • SELECT FROM: किसी एंटिटी से कॉलम्स लाने का SQL कमांड
  • JOIN ON: संबंधित एट्रिब्यूट के आधार पर एंटिटीज़ की पंक्तियाँ जोड़ने का SQL क्लॉज़
  • LEFT JOIN ON: बाएँ एंटिटी की सभी पंक्तियों को दाएँ टेबल की मिलती पंक्तियों से, key के ON आधार पर, जोड़ने वाला SQL क्लॉज़। मैच न हो तो भी बाईं पंक्तियाँ रहेंगी और दाएँ एट्रिब्यूट्स खाली होंगे
  • COUNT: समूह में आइटम्स की संख्या देने वाला SQL एग्रीगेट फंक्शन
  • MAX: किसी एट्रिब्यूट के मानों में सबसे बड़ा मान देने वाला SQL एग्रीगेट फंक्शन
  • GROUP BY: समान मानों वाले डेटा को एग्रीगेट करने वाला SQL क्लॉज़
Snowflake में डेटा मॉडलिंग परिचय

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

SELECT column_name, 
    COUNT(another_column) AS alias_name,
    MAX(other_column) AS alias_name
FROM table_name table_alias
    -- Merge entities based on their keys
    JOIN other_table AS other_alias 
    ON table_alias.FK = other_alias.PK
    LEFT JOIN another_table AS another_alias 
    ON table_alias.FK = other_alias.PK
-- Aggregate data by specific columns
GROUP BY column_name;
Snowflake में डेटा मॉडलिंग परिचय

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

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

Preparing Video For Download...