एंटिटी-रिलेशनशिप मॉडल

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

Nuno Rocha

Director of Engineering

एंटिटी-रिलेशनशिप मॉडलिंग का परिचय

  • एंटिटी-रिलेशनशिप (ER) मॉडल: एंटिटी, एट्रिब्यूट, और रिलेशनशिप के जरिए नॉर्मलाइज़्ड डेटा स्ट्रक्चर करता है

मॉडल करने के लिए कॉलेज थीम एंटिटीज़

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

एंटिटी-रिलेशनशिप मॉडल का उदाहरण

कॉलेज थीम एंटिटीज़ इंटरैक्शन

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

ER मॉडल क्यों चुनें

  • स्पष्टता
    • बिज़नेस कनेक्शन को सरल बनाता है, जैसे वास्तविक इंटरैक्शन
  • संगठन
    • डेटा को संबंधित एंटिटी में तोड़ता है, मैनेजमेंट आसान होता है
  • लचीलापन
    • समय के साथ बढ़ने और बदलने के लिए अनुकूल
Snowflake में डेटा मॉडलिंग परिचय

ER मॉडल बनाना

कॉलेज थीम मॉडल और एनरोलमेंट्स

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

ER मॉडल बनाना

  • मौजूदा एंटिटीज़ के बीच रिलेशनशिप जोड़ें:
ALTER TABLE classes
ADD FOREIGN KEY (school_id) REFERENCES schools(school_id);

क्लासेज़ और स्कूल्स एंटिटीज़ को लिंक करता कॉलेज थीम मॉडल

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

ER मॉडल बनाना

कॉलेज थीम मॉडल, नई एंटिटी enrollments

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

ER मॉडल बनाना

CREATE OR REPLACE TABLE enrollments (
      -- एक नई एंटिटी बनाएँ, यूनिक आइडेंटिफायर के साथ
      enrollment_id NUMBER(10,0) PRIMARY KEY

-- एंटिटी के एट्रिब्यूट जोड़ें year NUMBER(4,0), semester VARCHAR(255)
-- अन्य एंटिटीज़ से रिलेशनशिप जोड़ें FOREIGN KEY (student_id) REFERENCES students(student_id), FOREIGN KEY (class_id) REFERENCES classes(class_id)
);
Snowflake में डेटा मॉडलिंग परिचय

ER मॉडल बनाना

अंतिम कॉलेज ER मॉडल

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

ER मॉडल से डेटा प्राप्त करना

साइंस स्कूल में 2023 के दौरान छात्रों के नाम और क्लासेज़ के लिए ER मॉडल क्वेरी करना

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

ER मॉडल से डेटा प्राप्त करना

SELECT students.name  
FROM students;

छात्रों के नाम के लिए ER मॉडल क्वेरी

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

ER मॉडल से डेटा प्राप्त करना

SELECT students.name
FROM students
    JOIN enrollments 
    ON students.student_id = enrollments.student_id;

छात्रों और एनरोलमेंट्स के लिए ER मॉडल क्वेरी

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

ER मॉडल से डेटा प्राप्त करना

SELECT students.name
FROM students
    JOIN enrollments 
    ON students.student_id = enrollments.student_id
WHERE enrollments.year = '2023';

2023 के एनरोलमेंट्स के लिए ER मॉडल क्वेरी

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

ER मॉडल से डेटा प्राप्त करना

SELECT students.name, 
    classes.class_name
FROM students
    JOIN enrollments 
    ON students.student_id = enrollments.student_id
    JOIN classes 
    ON enrollments.class_id = classes.class_id
WHERE enrollments.year = '2023';

क्लास नामों के लिए ER मॉडल क्वेरी

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

ER मॉडल से डेटा प्राप्त करना

SELECT students.name, 
    classes.class_name
FROM students
    JOIN enrollments 
    ON students.student_id = enrollments.student_id
    JOIN classes 
    ON enrollments.class_id = classes.class_id
    JOIN schools 
    ON classes.department_id = schools.school_id
WHERE enrollments.year = '2023'
    AND schools.school_name = 'Science';
Snowflake में डेटा मॉडलिंग परिचय

ER मॉडल से डेटा प्राप्त करना

  • JOIN ON: संबंधित कॉलम के आधार पर टेबल्स की पंक्तियाँ जोड़ने का SQL क्लॉज़।

साइंस स्कूल के लिए ER मॉडल क्वेरी

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

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

  • एंटिटी-रिलेशनशिप (ER) मॉडल: एंटिटी और रिलेशनशिप के जरिए नॉर्मलाइज़्ड डेटा स्ट्रक्चर करता है.
  • SELECT FROM: टेबल से कॉलम लाने का SQL कमांड.
  • JOIN ON: संबंधित कॉलम के आधार पर टेबल्स की पंक्तियाँ जोड़ने का SQL क्लॉज़.
  • WHERE: शर्त के आधार पर रिकॉर्ड फ़िल्टर करने का SQL क्लॉज़.
  • AND: WHERE के साथ कई शर्तें जोड़ने के लिए लॉजिकल ऑपरेटर.
-- विशेष शर्तों पर फ़िल्टर किए गए मर्ज्ड एंटिटीज़ से डेटा क्वेरी करना
SELECT column_name
FROM table_name
    JOIN other_table ON table_name.FK = other_table.PK
WHERE column_name  condition  value
    AND column_name  condition  value;
Snowflake में डेटा मॉडलिंग परिचय

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

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

Preparing Video For Download...