डेटाबेस डिज़ाइन
Lis Sulmont
Curriculum Manager
दोहराए जा रहे डेटा समूह पहचानें और उनके लिए नई टेबल बनाएँ
एक अधिक औपचारिक परिभाषा:
नॉर्मलाइज़ेशन के लक्ष्य:
- रिलेशनल स्कीमा में अनावश्यक दोहराव के स्तर को वर्णित करना
- दोहराव हटाने के लिए स्कीमा बदलने के तरीके देना
कम से अधिक नॉर्मलाइज़्ड क्रम में:
$$
प्रारंभिक डेटा
| Student_id | Student_Email | Courses_Completed |
|------------|-----------------|----------------------------------------------------------|
| 235 | [email protected] | Introduction to Python, Intermediate Python |
| 455 | [email protected] | Cleaning Data in R |
| 767 | [email protected] | Machine Learning Toolbox, Deep Learning in Python |
| Student_id | Student_Email |
|------------|-----------------|
| 235 | [email protected] |
| 455 | [email protected] |
| 767 | [email protected] |
| Student_id | Completed |
|------------|--------------------------|
| 235 | Introduction to Python |
| 235 | Intermediate Python |
| 455 | Cleaning Data in R |
| 767 | Machine Learning Toolbox |
| 767 | Deep Learning in Python |
प्रारंभिक डेटा
| Student_id (PK) | Course_id (PK) | Instructor_id | Instructor | Progress |
|-----------------|----------------|---------------|---------------|----------|
| 235 | 2001 | 560 | Nick Carchedi | .55 |
| 455 | 2345 | 658 | Ginger Grant | .10 |
| 767 | 6584 | 999 | Chester Ismay | 1.00 |
| Student_id (PK) | Course_id (PK) | Percent_Completed |
|-----------------|----------------|-------------------|
| 235 | 2001 | .55 |
| 455 | 2345 | .10 |
| 767 | 6584 | 1.00 |
| Course_id (PK) | Instructor_id | Instructor |
|----------------|---------------|---------------|
| 2001 | 560 | Nick Carchedi |
| 2345 | 658 | Ginger Grant |
| 6584 | 999 | Chester Ismay |
प्रारंभिक डेटा
| Course_id (PK) | Instructor_id | Instructor | Tech |
|----------------|---------------|---------------|--------|
| 2001 | 560 | Nick Carchedi | Python |
| 2345 | 658 | Ginger Grant | SQL |
| 6584 | 999 | Chester Ismay | R |
| Course_id (PK) | Instructor | Tech |
|----------------|---------------|--------|
| 2001 | Nick Carchedi | Python |
| 2345 | Ginger Grant | SQL |
| 6584 | Chester Ismay | R |
| Instructor_id | Instructor |
|---------------|---------------|
| 560 | Nick Carchedi |
| 658 | Ginger Grant |
| 999 | Chester Ismay |
अगर हम पर्याप्त नॉर्मलाइज़ नहीं करें तो जोखिम क्या हैं?
1. अपडेट एनोमली
2. इंसर्शन एनोमली
3. डिलीशन एनोमली
अपडेट करते समय डेटा दोहराव से डेटा असंगति होना
| Student_ID | Student_Email | Enrolled_in | Taught_by |
|------------|-----------------|-------------------------|---------------------|
| 230 | [email protected] | Cleaning Data in R | Maggie Matsui |
| 367 | [email protected] | Data Visualization in R | Ronald Pearson |
| 520 | [email protected] | Introduction to Python | Hugo Bowne-Anderson |
| 520 | [email protected] | Arima Models in R | David Stoffer |
स्टूडेंट 520 का ईमेल अपडेट करने के लिए:
अनुपस्थित एट्रिब्यूट्स के कारण रिकॉर्ड जोड़ना संभव नहीं
| Student_ID | Student_Email | Enrolled_in | Taught_by |
|------------|-----------------|-------------------------|---------------------|
| 230 | [email protected] | Cleaning Data in R | Maggie Matsui |
| 367 | [email protected] | Data Visualization in R | Ronald Pearson |
| 520 | [email protected] | Introduction to Python | Hugo Bowne-Anderson |
| 520 | [email protected] | Arima Models in R | David Stoffer |
ऐसे स्टूडेंट को insert नहीं कर सकते जिसने साइन अप किया है पर किसी कोर्स में एनरोल नहीं किया
रिकॉर्ड हटाने से अनजाने में डेटा खोना
| Student_ID | Student_Email | Enrolled_in | Taught_by |
|------------|-----------------|-------------------------|---------------------|
| 230 | [email protected] | Cleaning Data in R | Maggie Matsui |
| 367 | [email protected] | Data Visualization in R | Ronald Pearson |
| 520 | [email protected] | Introduction to Python | Hugo Bowne-Anderson |
| 520 | [email protected] | Arima Models in R | David Stoffer |
अगर हम Student 230 हटाएँ, तो Cleaning Data in R के डेटा का क्या होगा?
अगर हम पर्याप्त नॉर्मलाइज़ नहीं करें तो जोखिम क्या हैं?
1. अपडेट एनोमली
2. इंसर्शन एनोमली
3. डिलीशन एनोमली
जितना ज्यादा डेटाबेस नॉर्मलाइज़ होगा, उतना कम डेटा एनोमलीज़ होगी।
पिछले वीडियो में नॉर्मलाइज़ेशन के नुकसान न भूलें
डेटाबेस डिज़ाइन