# ಡೇಟಾ ಜೊತೆಗೆ ಕೆಲಸ ಮಾಡುವುದು: ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್‌ಗಳು |![ [(@sketchthedocs)](https://sketchthedocs.dev) ಅವರ ಸ್ಕೆಚ್‌ನೋಟ್ ](../../sketchnotes/05-RelationalData.png)| |:---:| | ಡೇಟಾ ಜೊತೆಗೆ ಕೆಲಸ ಮಾಡುವುದು: ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್‌ಗಳು - _[@nitya](https://twitter.com/nitya) ಅವರ ಸ್ಕೆಚ್‌ನೋಟ್_ | ನೀವು ಹಿಂದಿನ ಕಾಲದಲ್ಲಿ ಮಾಹಿತಿ ಸಂಗ್ರಹಿಸಲು ಸ್ಪ್ರೆಡ್ಶೀಟ್ ಬಳಸಿದ್ದೀರಾ ಎಂಬ ಸಾಧ್ಯತೆ ಇದೆ. ನಿಮಗೆ ಸಾಲುಗಳು ಮತ್ತು ಕಾಲಮ್‌ಗಳ ಒಂದು ಸೆಟ್ ಇತ್ತು, ಅಲ್ಲಿ ಸಾಲುಗಳಲ್ಲಿ ಮಾಹಿತಿ (ಅಥವಾ ಡೇಟಾ) ಇತ್ತು, ಮತ್ತು ಕಾಲಮ್‌ಗಳು ಆ ಮಾಹಿತಿಯನ್ನು ವಿವರಿಸುತ್ತಿದ್ದವು (ಕೆಲವೊಮ್ಮೆ ಇದನ್ನು ಮೆಟಾಡೇಟಾ ಎಂದು ಕರೆಯುತ್ತಾರೆ). ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್ ಈ ಕಾಲಮ್‌ಗಳು ಮತ್ತು ಸಾಲುಗಳ ಮೂಲ ತತ್ವದ ಮೇಲೆ ನಿರ್ಮಿತವಾಗಿದೆ, ಇದು ನಿಮಗೆ ಮಾಹಿತಿಯನ್ನು ಹಲವಾರು ಟೇಬಲ್‌ಗಳಲ್ಲಿ ಹಂಚಿಕೊಳ್ಳಲು ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಇದು ನಿಮಗೆ ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ಡೇಟಾ ಜೊತೆಗೆ ಕೆಲಸ ಮಾಡಲು, ನಕಲಿಸುವಿಕೆಯನ್ನು ತಪ್ಪಿಸಲು ಮತ್ತು ಡೇಟಾವನ್ನು ಅನ್ವೇಷಿಸುವ ರೀತಿಯಲ್ಲಿ ಲವಚಿಕತೆ ಹೊಂದಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್‌ನ ತತ್ವಗಳನ್ನು ಅನ್ವೇಷಿಸೋಣ. ## [ಪೂರ್ವ-ಲೆಕ್ಚರ್ ಕ್ವಿಜ್](https://ff-quizzes.netlify.app/en/ds/quiz/8) ## ಎಲ್ಲವೂ ಟೇಬಲ್‌ಗಳಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್‌ನ ಮೂಲದಲ್ಲಿ ಟೇಬಲ್‌ಗಳು ಇವೆ. ಸ್ಪ್ರೆಡ್ಶೀಟ್‌ನಂತೆ, ಟೇಬಲ್ ಒಂದು ಕಾಲಮ್‌ಗಳು ಮತ್ತು ಸಾಲುಗಳ ಸಂಗ್ರಹವಾಗಿದೆ. ಸಾಲುಗಳಲ್ಲಿ ನಾವು ಕೆಲಸ ಮಾಡಲು ಬಯಸುವ ಡೇಟಾ ಅಥವಾ ಮಾಹಿತಿ ಇರುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ನಗರದ ಹೆಸರು ಅಥವಾ ಮಳೆಯ ಪ್ರಮಾಣ. ಕಾಲಮ್‌ಗಳು ಸಂಗ್ರಹಿಸುವ ಡೇಟಾವನ್ನು ವಿವರಿಸುತ್ತವೆ. ನಾವು ನಗರಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿ ಸಂಗ್ರಹಿಸಲು ಒಂದು ಟೇಬಲ್ ಪ್ರಾರಂಭಿಸೋಣ. ನಾವು ಅವರ ಹೆಸರು ಮತ್ತು ದೇಶವನ್ನು ಪ್ರಾರಂಭಿಸಬಹುದು. ನೀವು ಇದನ್ನು ಕೆಳಗಿನಂತೆ ಟೇಬಲ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಬಹುದು: | ನಗರ | ದೇಶ | | -------- | ------------- | | ಟೋಕಿಯೋ | ಜಪಾನ್ | | ಅಟ್ಲಾಂಟಾ | ಯುನೈಟೆಡ್ ಸ್ಟೇಟ್ಸ್ | | ಆಕ್ಲ್ಯಾಂಡ್ | ನ್ಯೂಜಿಲೆಂಡ್ | **ನಗರ**, **ದೇಶ** ಮತ್ತು **ಜನಸಂಖ್ಯೆ** ಎಂಬ ಕಾಲಮ್ ಹೆಸರುಗಳು ಸಂಗ್ರಹಿಸುವ ಡೇಟಾವನ್ನು ವಿವರಿಸುತ್ತವೆ ಮತ್ತು ಪ್ರತಿ ಸಾಲಿನಲ್ಲಿ ಒಂದು ನಗರ ಕುರಿತು ಮಾಹಿತಿ ಇರುತ್ತದೆ. ## ಒಬ್ಬ ಟೇಬಲ್ ವಿಧಾನದ ಕೊರತೆಗಳು ಮೇಲಿನ ಟೇಬಲ್ ನಿಮಗೆ ಪರಿಚಿತವಾಗಿರುವಂತೆ ಕಾಣಬಹುದು. ನಮ್ಮ ಬೆಳೆಯುತ್ತಿರುವ ಡೇಟಾಬೇಸ್‌ಗೆ ವಾರ್ಷಿಕ ಮಳೆಯ ಪ್ರಮಾಣ (ಮಿಲಿಮೀಟರ್‌ಗಳಲ್ಲಿ) ಎಂಬ ಹೆಚ್ಚುವರಿ ಡೇಟಾವನ್ನು ಸೇರಿಸೋಣ. ನಾವು 2018, 2019 ಮತ್ತು 2020 ವರ್ಷಗಳ ಮೇಲೆ ಗಮನಹರಿಸುತ್ತೇವೆ. ಟೋಕಿಯೋಗೆ ಇದನ್ನು ಸೇರಿಸಿದರೆ, ಇದು ಹೀಗೆ ಕಾಣಬಹುದು: | ನಗರ | ದೇಶ | ವರ್ಷ | ಪ್ರಮಾಣ | | ------ | ------- | ---- | ------ | | ಟೋಕಿಯೋ | ಜಪಾನ್ | 2020 | 1690 | | ಟೋಕಿಯೋ | ಜಪಾನ್ | 2019 | 1874 | | ಟೋಕಿಯೋ | ಜಪಾನ್ | 2018 | 1445 | ನಮ್ಮ ಟೇಬಲ್ ಬಗ್ಗೆ ನೀವು ಏನು ಗಮನಿಸುತ್ತೀರಿ? ನೀವು ನಗರದ ಹೆಸರು ಮತ್ತು ದೇಶವನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತಿರುವುದನ್ನು ಗಮನಿಸಬಹುದು. ಇದು ಸಾಕಷ್ಟು ಸಂಗ್ರಹಣೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಮತ್ತು ಅನೇಕ ನಕಲುಗಳು ಅಗತ್ಯವಿಲ್ಲ. ಟೋಕಿಯೋಗೆ ನಾವು ಆಸಕ್ತರಾಗಿರುವ ಒಂದು ಹೆಸರು ಮಾತ್ರ ಇದೆ. ಸರಿ, ಇನ್ನೊಂದು ಪ್ರಯತ್ನ ಮಾಡೋಣ. ಪ್ರತಿ ವರ್ಷದ ಹೊಸ ಕಾಲಮ್‌ಗಳನ್ನು ಸೇರಿಸೋಣ: | ನಗರ | ದೇಶ | 2018 | 2019 | 2020 | | -------- | ------------- | ---- | ---- | ---- | | ಟೋಕಿಯೋ | ಜಪಾನ್ | 1445 | 1874 | 1690 | | ಅಟ್ಲಾಂಟಾ | ಯುನೈಟೆಡ್ ಸ್ಟೇಟ್ಸ್ | 1779 | 1111 | 1683 | | ಆಕ್ಲ್ಯಾಂಡ್ | ನ್ಯೂಜಿಲೆಂಡ್ | 1386 | 942 | 1176 | ಇದು ಸಾಲು ನಕಲಿಸುವಿಕೆಯನ್ನು ತಪ್ಪಿಸುತ್ತದೆ, ಆದರೆ ಇನ್ನಷ್ಟು ಸವಾಲುಗಳನ್ನು ಸೇರಿಸುತ್ತದೆ. ಪ್ರತಿ ಹೊಸ ವರ್ಷ ಬಂದಾಗ ನಮ್ಮ ಟೇಬಲ್ ರಚನೆಯನ್ನು ಬದಲಾಯಿಸಬೇಕಾಗುತ್ತದೆ. ಜೊತೆಗೆ, ನಮ್ಮ ಡೇಟಾ ಹೆಚ್ಚಾದಂತೆ ವರ್ಷಗಳನ್ನು ಕಾಲಮ್‌ಗಳಾಗಿ ಇಡುವುದು ಮೌಲ್ಯಗಳನ್ನು ಪಡೆಯಲು ಮತ್ತು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಕಷ್ಟಕರವಾಗುತ್ತದೆ. ಇದಕ್ಕಾಗಿ ನಾವು ಹಲವಾರು ಟೇಬಲ್‌ಗಳು ಮತ್ತು ಸಂಬಂಧಗಳನ್ನು ಬೇಕಾಗುತ್ತದೆ. ನಮ್ಮ ಡೇಟಾವನ್ನು ವಿಭಜಿಸುವ ಮೂಲಕ ನಕಲಿಸುವಿಕೆಯನ್ನು ತಪ್ಪಿಸಬಹುದು ಮತ್ತು ಡೇಟಾ ಜೊತೆಗೆ ಕೆಲಸ ಮಾಡುವಲ್ಲಿ ಹೆಚ್ಚು ಲವಚಿಕತೆ ಹೊಂದಬಹುದು. ## ಸಂಬಂಧಗಳ ತತ್ವಗಳು ನಮ್ಮ ಡೇಟಾಕ್ಕೆ ಮರಳಿ ಹೋಗಿ ನಾವು ಅದನ್ನು ಹೇಗೆ ವಿಭಜಿಸಬೇಕೆಂದು ನಿರ್ಧರಿಸೋಣ. ನಾವು ನಗರಗಳ ಹೆಸರು ಮತ್ತು ದೇಶವನ್ನು ಸಂಗ್ರಹಿಸಲು ಬಯಸುತ್ತೇವೆ, ಆದ್ದರಿಂದ ಇದು ಒಂದು ಟೇಬಲ್‌ನಲ್ಲಿ ಉತ್ತಮವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ. | ನಗರ | ದೇಶ | | -------- | ------------- | | ಟೋಕಿಯೋ | ಜಪಾನ್ | | ಅಟ್ಲಾಂಟಾ | ಯುನೈಟೆಡ್ ಸ್ಟೇಟ್ಸ್ | | ಆಕ್ಲ್ಯಾಂಡ್ | ನ್ಯೂಜಿಲೆಂಡ್ | ಆದರೆ ಮುಂದಿನ ಟೇಬಲ್ ಸೃಷ್ಟಿಸುವ ಮೊದಲು, ನಾವು ಪ್ರತಿ ನಗರವನ್ನು ಹೇಗೆ ಸೂಚಿಸಬೇಕೆಂದು ತಿಳಿದುಕೊಳ್ಳಬೇಕು. ನಮಗೆ ಒಂದು ಗುರುತು, ID ಅಥವಾ (ತಾಂತ್ರಿಕ ಡೇಟಾಬೇಸ್ ಪದಗಳಲ್ಲಿ) ಪ್ರಾಥಮಿಕ ಕೀ ಬೇಕು. ಪ್ರಾಥಮಿಕ ಕೀ ಒಂದು ಟೇಬಲ್‌ನ ಒಂದು ನಿರ್ದಿಷ್ಟ ಸಾಲನ್ನು ಗುರುತಿಸಲು ಬಳಸುವ ಮೌಲ್ಯ. ಇದು ಸ್ವತಃ ಮೌಲ್ಯ ಆಧಾರಿತವಾಗಿರಬಹುದು (ಉದಾಹರಣೆಗೆ, ನಗರದ ಹೆಸರು ಬಳಸಬಹುದು), ಆದರೆ ಇದು ಬಹುಶಃ ಸಂಖ್ಯೆ ಅಥವಾ ಇತರ ಗುರುತು ಆಗಿರಬೇಕು. ID ಬದಲಾಯಿಸಬಾರದು ಏಕೆಂದರೆ ಅದು ಸಂಬಂಧವನ್ನು ಮುರಿಯುತ್ತದೆ. ಬಹುತೇಕ ಸಂದರ್ಭಗಳಲ್ಲಿ ಪ್ರಾಥಮಿಕ ಕೀ ಅಥವಾ ID ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೃಷ್ಟಿಸಲ್ಪಡುವ ಸಂಖ್ಯೆ ಆಗಿರುತ್ತದೆ. > ✅ ಪ್ರಾಥಮಿಕ ಕೀ ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ PK ಎಂದು ಸಂಕ್ಷಿಪ್ತ ಮಾಡುತ್ತಾರೆ ### ನಗರಗಳು | city_id | ನಗರ | ದೇಶ | | ------- | -------- | ------------- | | 1 | ಟೋಕಿಯೋ | ಜಪಾನ್ | | 2 | ಅಟ್ಲಾಂಟಾ | ಯುನೈಟೆಡ್ ಸ್ಟೇಟ್ಸ್ | | 3 | ಆಕ್ಲ್ಯಾಂಡ್ | ನ್ಯೂಜಿಲೆಂಡ್ | > ✅ ನೀವು ಈ ಪಾಠದಲ್ಲಿ "id" ಮತ್ತು "ಪ್ರಾಥಮಿಕ ಕೀ" ಪದಗಳನ್ನು ಪರ್ಯಾಯವಾಗಿ ಬಳಸುತ್ತಿರುವುದನ್ನು ಗಮನಿಸುವಿರಿ. ಇಲ್ಲಿ ತತ್ವಗಳು ಡೇಟಾಫ್ರೇಮ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತವೆ, ನೀವು ನಂತರ ಅನ್ವೇಷಿಸುವಿರಿ. ಡೇಟಾಫ್ರೇಮ್‌ಗಳು "ಪ್ರಾಥಮಿಕ ಕೀ" ಪದವನ್ನು ಬಳಸುವುದಿಲ್ಲ, ಆದರೆ ಅವು ಸಹ ಇದೇ ರೀತಿಯಲ್ಲಿ ವರ್ತಿಸುತ್ತವೆ. ನಮ್ಮ ನಗರಗಳ ಟೇಬಲ್ ಸೃಷ್ಟಿಸಿದ ನಂತರ, ಮಳೆಯ ಪ್ರಮಾಣವನ್ನು ಸಂಗ್ರಹಿಸೋಣ. ನಗರದ ಸಂಪೂರ್ಣ ಮಾಹಿತಿಯನ್ನು ನಕಲಿಸುವ ಬದಲು, ನಾವು ID ಅನ್ನು ಬಳಸಬಹುದು. ಹೊಸ ಟೇಬಲ್‌ಗೆ ಕೂಡ *id* ಕಾಲಮ್ ಇರಬೇಕು, ಏಕೆಂದರೆ ಎಲ್ಲಾ ಟೇಬಲ್‌ಗಳಿಗೆ id ಅಥವಾ ಪ್ರಾಥಮಿಕ ಕೀ ಇರಬೇಕು. ### ಮಳೆಯ ಪ್ರಮಾಣ | rainfall_id | city_id | ವರ್ಷ | ಪ್ರಮಾಣ | | ----------- | ------- | ---- | ------ | | 1 | 1 | 2018 | 1445 | | 2 | 1 | 2019 | 1874 | | 3 | 1 | 2020 | 1690 | | 4 | 2 | 2018 | 1779 | | 5 | 2 | 2019 | 1111 | | 6 | 2 | 2020 | 1683 | | 7 | 3 | 2018 | 1386 | | 8 | 3 | 2019 | 942 | | 9 | 3 | 2020 | 1176 | ಹೊಸ ಸೃಷ್ಟಿಸಿದ **rainfall** ಟೇಬಲ್‌ನೊಳಗಿನ **city_id** ಕಾಲಮ್ ಗಮನಿಸಿ. ಈ ಕಾಲಮ್ **cities** ಟೇಬಲ್‌ನ ID ಗಳನ್ನು ಸೂಚಿಸುವ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿದೆ. ತಾಂತ್ರಿಕ ಸಂಬಂಧಿತ ಡೇಟಾ ಪದಗಳಲ್ಲಿ ಇದನ್ನು **ವಿದೇಶಿ ಕೀ** ಎಂದು ಕರೆಯುತ್ತಾರೆ; ಇದು ಇನ್ನೊಂದು ಟೇಬಲ್‌ನ ಪ್ರಾಥಮಿಕ ಕೀ ಆಗಿದೆ. ನೀವು ಇದನ್ನು ಕೇವಲ ಸೂಚನೆ ಅಥವಾ ಪಾಯಿಂಟರ್ ಎಂದು ಭಾವಿಸಬಹುದು. **city_id** 1 ಟೋಕಿಯೋವನ್ನು ಸೂಚಿಸುತ್ತದೆ. > [!NOTE] > ವಿದೇಶಿ ಕೀ ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ FK ಎಂದು ಸಂಕ್ಷಿಪ್ತ ಮಾಡುತ್ತಾರೆ ## ಡೇಟಾ ಪಡೆಯುವುದು ನಮ್ಮ ಡೇಟಾವನ್ನು ಎರಡು ಟೇಬಲ್‌ಗಳಲ್ಲಿ ವಿಭಜಿಸಿರುವಾಗ, ನೀವು ಅದನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು ಎಂದು ಆಶ್ಚರ್ಯಪಡಬಹುದು. ನಾವು MySQL, SQL Server ಅಥವಾ Oracle ಮುಂತಾದ ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್ ಬಳಸುತ್ತಿದ್ದರೆ, ನಾವು Structured Query Language ಅಥವಾ SQL ಎಂಬ ಭಾಷೆಯನ್ನು ಬಳಸಬಹುದು. SQL (ಕೆಲವೊಮ್ಮೆ ಸೀಕ್ವೆಲ್ ಎಂದು ಉಚ್ಛರಿಸಲಾಗುತ್ತದೆ) ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ಮತ್ತು ಬದಲಾಯಿಸಲು ಬಳಸುವ ಮಾನಕ ಭಾಷೆ. ಡೇಟಾವನ್ನು ಪಡೆಯಲು ನೀವು `SELECT` ಕಮಾಂಡ್ ಅನ್ನು ಬಳಸುತ್ತೀರಿ. ಮೂಲತಃ, ನೀವು **ಟೇಬಲ್‌ನಿಂದ** ನೀವು ನೋಡಲು ಬಯಸುವ ಕಾಲಮ್‌ಗಳನ್ನು **ಆಯ್ಕೆ** ಮಾಡುತ್ತೀರಿ. ನೀವು ನಗರಗಳ ಹೆಸರುಗಳನ್ನು ಮಾತ್ರ ಪ್ರದರ್ಶಿಸಲು ಬಯಸಿದರೆ, ಕೆಳಗಿನಂತೆ ಬಳಸಬಹುದು: ```sql SELECT city FROM cities; -- Output: -- Tokyo -- Atlanta -- Auckland ``` `SELECT` ನಲ್ಲಿ ನೀವು ಕಾಲಮ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತೀರಿ, ಮತ್ತು `FROM` ನಲ್ಲಿ ನೀವು ಟೇಬಲ್‌ಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತೀರಿ. > [!NOTE] > SQL ವ್ಯಾಕರಣವು ಕೇಸ್-ಅಸಂವೇದನಶೀಲವಾಗಿದೆ, ಅಂದರೆ `select` ಮತ್ತು `SELECT` ಒಂದೇ ಅರ್ಥ. ಆದರೆ, ನೀವು ಬಳಸುತ್ತಿರುವ ಡೇಟಾಬೇಸ್ ಪ್ರಕಾರ ಕಾಲಮ್‌ಗಳು ಮತ್ತು ಟೇಬಲ್‌ಗಳು ಕೇಸ್ ಸಂವೇದನಶೀಲವಾಗಿರಬಹುದು. ಆದ್ದರಿಂದ, ಪ್ರೋಗ್ರಾಮಿಂಗ್‌ನಲ್ಲಿ ಎಲ್ಲವನ್ನೂ ಕೇಸ್ ಸಂವೇದನಶೀಲವೆಂದು ಪರಿಗಣಿಸುವುದು ಉತ್ತಮ ಅಭ್ಯಾಸ. SQL ಪ್ರಶ್ನೆಗಳನ್ನು ಬರೆಯುವಾಗ ಸಾಮಾನ್ಯವಾಗಿ ಕೀವರ್ಡ್‌ಗಳನ್ನು ಎಲ್ಲಾ ದೊಡ್ಡ ಅಕ್ಷರಗಳಲ್ಲಿ ಬರೆಯುತ್ತಾರೆ. ಮೇಲಿನ ಪ್ರಶ್ನೆ ಎಲ್ಲಾ ನಗರಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ. ನಾವು ನ್ಯೂಜಿಲೆಂಡ್‌ನಲ್ಲಿರುವ ನಗರಗಳನ್ನು ಮಾತ್ರ ಪ್ರದರ್ಶಿಸಲು ಬಯಸಿದರೆ, ನಮಗೆ ಫಿಲ್ಟರ್ ಬೇಕಾಗುತ್ತದೆ. ಇದರ SQL ಕೀವರ್ಡ್ `WHERE`, ಅಂದರೆ "ಯಾವುದಾದರೂ ಸತ್ಯವಾಗಿರುವ ಸ್ಥಳ". ```sql SELECT city FROM cities WHERE country = 'New Zealand'; -- Output: -- Auckland ``` ## ಡೇಟಾ ಜೋಡಣೆ ಈವರೆಗೆ ನಾವು ಒಂದು ಟೇಬಲ್‌ನಿಂದ ಡೇಟಾವನ್ನು ಪಡೆದಿದ್ದೇವೆ. ಈಗ ನಾವು **cities** ಮತ್ತು **rainfall** ಎರಡೂ ಟೇಬಲ್‌ಗಳಿಂದ ಡೇಟಾವನ್ನು ಸೇರಿಸಬೇಕಾಗಿದೆ. ಇದನ್ನು *ಜೋಡಿಸುವ ಮೂಲಕ* ಮಾಡಲಾಗುತ್ತದೆ. ನೀವು ಎರಡು ಟೇಬಲ್‌ಗಳ ನಡುವೆ ಒಂದು ಸೀಮ್ (ಸೀಮೆ) ಸೃಷ್ಟಿಸಿ, ಪ್ರತಿ ಟೇಬಲ್‌ನ ಕಾಲಮ್‌ಗಳ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿಸುವಿರಿ. ನಮ್ಮ ಉದಾಹರಣೆಯಲ್ಲಿ, ನಾವು **rainfall** ಟೇಬಲ್‌ನ **city_id** ಕಾಲಮ್ ಅನ್ನು **cities** ಟೇಬಲ್‌ನ **city_id** ಕಾಲಮ್ ಜೊತೆಗೆ ಹೊಂದಿಸುವೆವು. ಇದು ಮಳೆಯ ಪ್ರಮಾಣವನ್ನು ಅದರ ಸಂಬಂಧಿತ ನಗರಕ್ಕೆ ಹೊಂದಿಸುತ್ತದೆ. ನಾವು ಮಾಡುವ ಜೋಡಣೆ ಪ್ರಕಾರ *ಇನ್ನರ್* ಜೋಡಣೆ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ, ಅಂದರೆ ಯಾವುದೇ ಸಾಲುಗಳು ಇನ್ನೊಂದು ಟೇಬಲ್‌ನೊಂದಿಗೆ ಹೊಂದಿಕೆಯಾಗದಿದ್ದರೆ ಅವು ಪ್ರದರ್ಶಿಸಲಾಗುವುದಿಲ್ಲ. ನಮ್ಮ ಪ್ರಕರಣದಲ್ಲಿ ಪ್ರತಿಯೊಂದು ನಗರಕ್ಕೂ ಮಳೆಯ ಪ್ರಮಾಣ ಇದೆ, ಆದ್ದರಿಂದ ಎಲ್ಲವೂ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ. ನಾವು 2019 ರ ಮಳೆಯ ಪ್ರಮಾಣವನ್ನು ಎಲ್ಲಾ ನಗರಗಳಿಗಾಗಿ ಪಡೆಯೋಣ. ನಾವು ಇದನ್ನು ಹಂತಗಳಲ್ಲಿ ಮಾಡೋಣ. ಮೊದಲ ಹಂತದಲ್ಲಿ, ನಾವು ಜೋಡಣೆಯ ಸೀಮ್‌ಗಾಗಿ ಕಾಲಮ್‌ಗಳನ್ನು ಸೂಚಿಸುವ ಮೂಲಕ ಡೇಟಾವನ್ನು ಜೋಡಿಸುವೆವು - **city_id** ಅನ್ನು ಹೀಗಾಗಿ. ```sql SELECT cities.city rainfall.amount FROM cities INNER JOIN rainfall ON cities.city_id = rainfall.city_id ``` ನಾವು ಬೇಕಾದ ಎರಡು ಕಾಲಮ್‌ಗಳನ್ನು ಮತ್ತು ಟೇಬಲ್‌ಗಳನ್ನು **city_id** ಮೂಲಕ ಜೋಡಿಸಲು ಬಯಸುವುದನ್ನು ಹೈಲೈಟ್ ಮಾಡಿದ್ದೇವೆ. ಈಗ ನಾವು `WHERE` ಹೇಳಿಕೆಯನ್ನು ಸೇರಿಸಿ 2019 ವರ್ಷವನ್ನು ಮಾತ್ರ ಫಿಲ್ಟರ್ ಮಾಡಬಹುದು. ```sql SELECT cities.city rainfall.amount FROM cities INNER JOIN rainfall ON cities.city_id = rainfall.city_id WHERE rainfall.year = 2019 -- Output -- city | amount -- -------- | ------ -- Tokyo | 1874 -- Atlanta | 1111 -- Auckland | 942 ``` ## ಸಾರಾಂಶ ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್‌ಗಳು ಮಾಹಿತಿಯನ್ನು ಹಲವಾರು ಟೇಬಲ್‌ಗಳ ನಡುವೆ ವಿಭಜಿಸುವುದರ ಮೇಲೆ ಕೇಂದ್ರೀಕೃತವಾಗಿವೆ, ನಂತರ ಅವುಗಳನ್ನು ಪ್ರದರ್ಶನ ಮತ್ತು ವಿಶ್ಲೇಷಣೆಗೆ ಮತ್ತೆ ಸೇರಿಸಲಾಗುತ್ತದೆ. ಇದು ಲೆಕ್ಕಾಚಾರಗಳನ್ನು ಮಾಡಲು ಮತ್ತು ಡೇಟಾವನ್ನು ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಸಂಸ್ಕರಿಸಲು ಹೆಚ್ಚಿನ ಲವಚಿಕತೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ನೀವು ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್‌ನ ಮೂಲ ತತ್ವಗಳನ್ನು ಮತ್ತು ಎರಡು ಟೇಬಲ್‌ಗಳ ನಡುವೆ ಜೋಡಣೆ ಹೇಗೆ ಮಾಡುವುದು ಎಂಬುದನ್ನು ನೋಡಿದ್ದೀರಿ. ## 🚀 ಸವಾಲು ಇಂಟರ್ನೆಟ್‌ನಲ್ಲಿ ಅನೇಕ ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್‌ಗಳು ಲಭ್ಯವಿವೆ. ನೀವು ಮೇಲಿನ ಕೌಶಲ್ಯಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಡೇಟಾವನ್ನು ಅನ್ವೇಷಿಸಬಹುದು. ## ಪಾಠೋತ್ತರ ಕ್ವಿಜ್ ## [ಪಾಠೋತ್ತರ ಕ್ವಿಜ್](https://ff-quizzes.netlify.app/en/ds/quiz/9) ## ವಿಮರ್ಶೆ ಮತ್ತು ಸ್ವಯಂ ಅಧ್ಯಯನ SQL ಮತ್ತು ಸಂಬಂಧಿತ ಡೇಟಾಬೇಸ್ ತತ್ವಗಳ ಅನ್ವೇಷಣೆಯನ್ನು ಮುಂದುವರಿಸಲು [Microsoft Learn](https://docs.microsoft.com/learn?WT.mc_id=academic-77958-bethanycheum) ನಲ್ಲಿ ಹಲವಾರು ಸಂಪನ್ಮೂಲಗಳು ಲಭ್ಯವಿವೆ - [ಸಂಬಂಧಿತ ಡೇಟಾ ತತ್ವಗಳನ್ನು ವಿವರಿಸಿ](https://docs.microsoft.com//learn/modules/describe-concepts-of-relational-data?WT.mc_id=academic-77958-bethanycheum) - [Transact-SQL ಮೂಲಕ ಪ್ರಶ್ನೆಗಳನ್ನು ಪ್ರಾರಂಭಿಸಿ](https://docs.microsoft.com//learn/paths/get-started-querying-with-transact-sql?WT.mc_id=academic-77958-bethanycheum) (Transact-SQL SQL ನ ಒಂದು ಆವೃತ್ತಿ) - [Microsoft Learn ನಲ್ಲಿ SQL ವಿಷಯ](https://docs.microsoft.com/learn/browse/?products=azure-sql-database%2Csql-server&expanded=azure&WT.mc_id=academic-77958-bethanycheum) ## ನಿಯೋಜನೆ [ವಿಮಾನ ನಿಲ್ದಾಣದ ಡೇಟಾ ಪ್ರದರ್ಶನ](assignment.md) --- **ಅಸ್ವೀಕರಣ**: ಈ ದಸ್ತಾವೇಜು AI ಅನುವಾದ ಸೇವೆ [Co-op Translator](https://github.com/Azure/co-op-translator) ಬಳಸಿ ಅನುವಾದಿಸಲಾಗಿದೆ. ನಾವು ನಿಖರತೆಯಿಗಾಗಿ ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದರೂ, ಸ್ವಯಂಚಾಲಿತ ಅನುವಾದಗಳಲ್ಲಿ ದೋಷಗಳು ಅಥವಾ ಅಸತ್ಯತೆಗಳು ಇರಬಹುದು ಎಂದು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ಮೂಲ ಭಾಷೆಯಲ್ಲಿರುವ ಮೂಲ ದಸ್ತಾವೇಜನ್ನು ಅಧಿಕೃತ ಮೂಲವಾಗಿ ಪರಿಗಣಿಸಬೇಕು. ಮಹತ್ವದ ಮಾಹಿತಿಗಾಗಿ, ವೃತ್ತಿಪರ ಮಾನವ ಅನುವಾದವನ್ನು ಶಿಫಾರಸು ಮಾಡಲಾಗುತ್ತದೆ. ಈ ಅನುವಾದ ಬಳಕೆಯಿಂದ ಉಂಟಾಗುವ ಯಾವುದೇ ತಪ್ಪು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವಿಕೆ ಅಥವಾ ತಪ್ಪು ವಿವರಣೆಗಳಿಗೆ ನಾವು ಹೊಣೆಗಾರರಾಗುವುದಿಲ್ಲ.