ದತ್ತಸಂಚಯಗಳಲ್ಲಿನ ಪ್ರಮುಖ ಪರಿಕಲ್ಪನೆಗಳಲ್ಲೊಂದು ಡೇಟಾಬೇಸ್ ಕೋಷ್ಟಕಗಳ ನಡುವಿನ ಸಂಬಂಧವನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. ಈ ಸಂಬಂಧಗಳು ಬಹು ಕೋಷ್ಟಕಗಳಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಡೇಟಾವನ್ನು ಲಿಂಕ್ ಮಾಡಲು ಮತ್ತು ದಕ್ಷ ಶೈಲಿಯಲ್ಲಿ ಮರುಪಡೆಯಲು ಒಂದು ಯಾಂತ್ರಿಕ ವ್ಯವಸ್ಥೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಎರಡು ಕೋಷ್ಟಕಗಳ ನಡುವಿನ ಸಂಪರ್ಕವನ್ನು ರಚಿಸಲು, ನೀವು ಒಂದು ಕೋಷ್ಟಕದಲ್ಲಿ ಮತ್ತೊಂದು ಕೋಷ್ಟಕದಲ್ಲಿ ಉಲ್ಲೇಖಿಸುವ ಒಂದು ವಿದೇಶಿ ಕೀಲಿಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು.
ಡೇಟಾಬೇಸ್ ಟೇಬಲ್ಸ್ ಮತ್ತು ಸಂಬಂಧಗಳು
ಮೈಕ್ರೋಸಾಫ್ಟ್ ಎಕ್ಸೆಲ್ನಂತಹ ಸ್ಪ್ರೆಡ್ಶೀಟ್ ಪ್ರೋಗ್ರಾಂನಲ್ಲಿ ನೀವು ಈಗಾಗಲೇ ಬಳಸಬಹುದಾದಂತಹ ಡೇಟಾಬೇಸ್ಗಳು ಕೇವಲ ಕೋಷ್ಟಕಗಳ ಸರಣಿ ಎಂದು ನಿಮಗೆ ಈಗಾಗಲೇ ತಿಳಿದಿರಬಹುದು. ವಾಸ್ತವವಾಗಿ, ನೀವು ಎಕ್ಸೆಲ್ ಸ್ಪ್ರೆಡ್ಶೀಟ್ ಅನ್ನು ಡೇಟಾಬೇಸ್ಗೆ ಪರಿವರ್ತಿಸಬಹುದು. ಸ್ಪ್ರೆಡ್ಷೀಟ್ಗಳಿಂದ ಡೇಟಾಬೇಸ್ ಬೇರೆ ಬೇರೆಡೆಗೆ ಹೋಗುವಾಗ, ಕೋಷ್ಟಕಗಳ ನಡುವೆ ಪ್ರಬಲ ಸಂಬಂಧಗಳನ್ನು ನಿರ್ಮಿಸಲು ಅದು ಬಂದಾಗ.
ಉದಾಹರಣೆಗೆ, ಮಾನವನ ಸಂಪನ್ಮೂಲಗಳ ಮಾಹಿತಿಯನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಕಂಪೆನಿಯು ಬಳಸುವ ದತ್ತಸಂಚಯವನ್ನು ಪರಿಗಣಿಸಿ. ಆ ದತ್ತಸಂಚಯವು ಕಂಪನಿಯ ನೌಕರರ ಪ್ರತಿ ಸದಸ್ಯರಿಗೆ ಕೆಳಗಿನ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿರುವ ನೌಕರರು ಎಂಬ ಟೇಬಲ್ ಅನ್ನು ಹೊಂದಿರಬಹುದು:
- ಉದ್ಯೋಗಿ ID
- ಮೊದಲ ಹೆಸರು
- ಕೊನೆಯ ಹೆಸರು
- ಆಫೀಸ್ ಫೋನ್
- ಮನೆಯ ದೂರವಾಣಿ
- ಸ್ಥಾನ ID
ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ಉದ್ಯೋಗಿ ID ವು ಅನನ್ಯವಾಗಿ ಉತ್ಪತ್ತಿಯಾಗುವ ಪೂರ್ಣಾಂಕವಾಗಿದ್ದು, ಅದು ಪ್ರತಿ ಉದ್ಯೋಗಿಗೆ ಡೇಟಾಬೇಸ್ಗೆ ಸೇರ್ಪಡೆಗೊಳ್ಳುವಾಗ ನಿಗದಿಪಡಿಸಲಾಗಿದೆ. ಸ್ಥಾನ ID ಯು ಕಂಪೆನಿಯ ನೌಕರನ ಸ್ಥಾನವನ್ನು ಉಲ್ಲೇಖಿಸಲು ಬಳಸಲಾಗುವ ಒಂದು ಉದ್ಯೋಗ ಸಂಕೇತವಾಗಿದೆ. ಈ ಯೋಜನೆಯಲ್ಲಿ ನೌಕರನಿಗೆ ಕೇವಲ ಒಂದು ಸ್ಥಾನವಿದೆ, ಆದರೆ ಅನೇಕ (ಅಥವಾ ಇಲ್ಲ) ಉದ್ಯೋಗಿಗಳು ಪ್ರತಿ ಸ್ಥಾನವನ್ನೂ ತುಂಬಬಹುದು. ಉದಾಹರಣೆಗೆ, ನೀವು ನೂರಾರು ನೌಕರರನ್ನು "ಕ್ಯಾಷಿಯರ್" ಸ್ಥಾನದೊಂದಿಗೆ ಹೊಂದಿರಬಹುದು.
ಡೇಟಾಬೇಸ್ ಪ್ರತಿ ಸ್ಥಾನದ ಬಗ್ಗೆ ಕೆಳಗಿನ ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿಯೊಂದಿಗೆ ಸ್ಥಾನಗಳನ್ನು ಕರೆಯುವ ಟೇಬಲ್ ಅನ್ನು ಒಳಗೊಂಡಿರಬಹುದು:
- ಸ್ಥಾನ ID
- ಶೀರ್ಷಿಕೆ
- ಜಾಬ್ ಲೆವೆಲ್
- ಕೌಶಲ್ಯವರ್ಗ
- ಸ್ಥಳ
ಈ ಟೇಬಲ್ನಲ್ಲಿ ಸ್ಥಾನ ID ಕ್ಷೇತ್ರವು ನೌಕರರ ಕೋಷ್ಟಕದಲ್ಲಿ ನೌಕರರ ID ಕ್ಷೇತ್ರಕ್ಕೆ ಹೋಲುತ್ತದೆ - ಡೇಟಾಬೇಸ್ಗೆ ಒಂದು ಸ್ಥಾನವನ್ನು ಸೇರಿಸಿದಾಗ ಅದು ರಚಿಸಿದ ಅನನ್ಯವಾಗಿ ಉತ್ಪತ್ತಿಯಾಗುವ ಪೂರ್ಣಾಂಕವಾಗಿದೆ.
ನಾವು ಡೇಟಾಬೇಸ್ನಿಂದ ಉದ್ಯೋಗಿಗಳ ಪಟ್ಟಿಯನ್ನು ಎಳೆಯಲು ಹೋದಾಗ, ಪ್ರತಿಯೊಬ್ಬ ವ್ಯಕ್ತಿಯ ಹೆಸರು ಮತ್ತು ಅವರ ಶೀರ್ಷಿಕೆಯನ್ನು ಮನವಿ ಮಾಡುವುದು ನೈಸರ್ಗಿಕವಾಗಿರುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಈ ಮಾಹಿತಿಯು ಬಹು ಡೇಟಾಬೇಸ್ ಕೋಷ್ಟಕಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಲ್ಪಟ್ಟಿರುತ್ತದೆ, ಹಾಗಾಗಿ JOIN ಪ್ರಶ್ನೆಯ ಮೂಲಕ ಅದನ್ನು ಕೋಷ್ಟಕಗಳ ನಡುವೆ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸಂಬಂಧದ ಅಗತ್ಯವಿರುತ್ತದೆ.
ನೀವು ಕೋಷ್ಟಕಗಳ ರಚನೆಯನ್ನು ನೋಡಿದಾಗ, ಸಂಬಂಧವನ್ನು ವಿವರಿಸುವ ಕ್ಷೇತ್ರವು ಬಹುಶಃ ಸ್ಪಷ್ಟವಾಗಿರುತ್ತದೆ - ಸ್ಥಾನ ID ಕ್ಷೇತ್ರ. ಪ್ರತಿ ನೌಕರನಿಗೆ ಕೇವಲ ಒಂದು ಸ್ಥಾನವಿದೆ ಮತ್ತು ಸ್ಥಾನಗಳ ಟೇಬಲ್ನ ಅನುಗುಣವಾದ ಪ್ರವೇಶದಿಂದ ಪೊಸಿಷನ್ ID ಯನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಆ ಸ್ಥಾನವನ್ನು ಗುರುತಿಸಬಹುದು. ಸ್ಥಾನಗಳ ಮೇಜಿನ ಪ್ರಾಥಮಿಕ ಕೀಲಿಯಾಗಿರುವುದರ ಜೊತೆಗೆ, ಈ ಉದಾಹರಣೆಯಲ್ಲಿ, ಪೊಸಿಷನ್ ಐಡಿ ಕ್ಷೇತ್ರವು ನೌಕರರ ಮೇಜಿನಿಂದ ಸ್ಥಾನಗಳ ಮೇಜಿನ ಒಂದು ವಿದೇಶಿ ಕೀಲಿಯಾಗಿದೆ. ಡೇಟಾಬೇಸ್ ಅನೇಕ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಸಂಯೋಜಿಸಲು ನಂತರ ಈ ಕ್ಷೇತ್ರವನ್ನು ಬಳಸಬಹುದು ಮತ್ತು ದತ್ತಸಂಚಯಕ್ಕೆ ಯಾವುದೇ ಬದಲಾವಣೆಗಳನ್ನು ಅಥವಾ ಸೇರ್ಪಡೆಗಳು ಉಲ್ಲೇಖಿತ ಸಮಗ್ರತೆಯನ್ನು ಜಾರಿಗೆ ತರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಬಹುದು.
ನೀವು ವಿದೇಶಿ ಕೀಲಿಯನ್ನು ಗುರುತಿಸಿದ ನಂತರ, ಮುಂದಿನ ಪ್ರಶ್ನೆಗೆ ನೀವು ಡೇಟಾಬೇಸ್ನಿಂದ ಬಯಸಿದ ಮಾಹಿತಿಯನ್ನು ಮುಂದಕ್ಕೆ ತರಬಹುದು:
SQL ಸರ್ವರ್ನಲ್ಲಿ ವಿದೇಶಿ ಕೀಸ್ ರಚಿಸಲಾಗುತ್ತಿದೆ
ತಾಂತ್ರಿಕವಾಗಿ, ಮೇಲಿನ ಒಂದು ರೀತಿಯ ಪ್ರಶ್ನೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ನಿಮಗೆ ಸ್ಪಷ್ಟವಾಗಿ ಸಂಬಂಧವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲು ಅಗತ್ಯವಿಲ್ಲ. ಹೇಗಾದರೂ, ನೀವು ವಿದೇಶಿ ಕೀಲಿ ನಿರ್ಬಂಧವನ್ನು ಬಳಸಿಕೊಂಡು ಸಂಬಂಧವನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ವ್ಯಾಖ್ಯಾನಿಸಿದರೆ, ಡೇಟಾಬೇಸ್ ನಿಮಗಾಗಿ ಕೆಲವು ಮನೆಗೆಲಸ ಕೆಲಸವನ್ನು ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ:
- ನೀವು ನೌಕರರ ಟೇಬಲ್ಗೆ ಹೊಸ ದಾಖಲೆಯನ್ನು ಸೇರಿಸಿದಾಗ, ಡೇಟಾಬೇಸ್ ನೀವು ನಮೂದಿಸುವ ಪೊಸಿಷನ್ ID ಸ್ಥಾನಗಳು ಮೇಜಿನ ಮಾನ್ಯವಾದ ಪ್ರಾಥಮಿಕ ಕೀಲಿಯಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.
- ನೀವು ಪೊಸಿಷನ್ ಟೇಬಲ್ನಲ್ಲಿ ಪೊಸಿಷನ್ ID ಯನ್ನು ಬದಲಾಯಿಸಿದಲ್ಲಿ, ಡೇಟಾಬೇಸ್ ಅಗತ್ಯವಿರುವ ನವೀಕರಣಗಳನ್ನು ನೌಕರರ ಕೋಷ್ಟಕಕ್ಕೆ ಸ್ಥಿರತೆ ಉಳಿಸಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.
- ಅನುಕ್ರಮ ನೌಕರ ನಮೂದುಗಳೊಂದಿಗೆ ಒಂದು ಸ್ಥಾನವನ್ನು ಅಳಿಸಲು ನಿರಾಕರಿಸುವ ಅಥವಾ ಎಲ್ಲಾ ಸಂಬಂಧಿತ ಉದ್ಯೋಗಿಗಳ ಕ್ಯಾಸ್ಕೇಡಿಂಗ್ ಅಳಿಸುವಿಕೆಯ ಮೂಲಕ ಸ್ಥಾನವನ್ನು ಮೇಜಿನಿಂದ ಒಂದು ಸ್ಥಾನದ ಅಳಿಸುವಿಕೆಗೆ ವಿರುದ್ಧವಾಗಿ ಡೇಟಾಬೇಸ್ ರಕ್ಷಿಸುತ್ತದೆ.
SQL ಸರ್ವರ್ನಲ್ಲಿ ನೀವು ವಿದೇಶಿ ಕೀಲಿಯನ್ನು ಹೇಗೆ ರಚಿಸುತ್ತೀರಿ ಎಂಬುದರಲ್ಲಿ ಇಲ್ಲಿದೆ:
ALTER TABLE ನೌಕರರು ವಿದೇಶಿ ಕೀ ಸೇರಿಸಿ (ಸ್ಥಾನಐಡಿ) ಉಲ್ಲೇಖಗಳು ಸ್ಥಾನಗಳು (ಪೊಸಿಷನ್ಐಡಿ)ಷರತ್ತು ಸೇರಿಸುವ ಮೂಲಕ ನೀವು ಟೇಬಲ್ ಅನ್ನು ರಚಿಸುವಾಗ ನೀವು ವಿದೇಶಿ ಕೀಲಿಯನ್ನು ರಚಿಸಬಹುದು:
ವಿದೇಶಿ ಪ್ರಮುಖ ಉಲ್ಲೇಖಗಳು ಸ್ಥಾನಗಳು (ಪೊಸಿಷನ್ಐಡಿ)ವಿದೇಶಿ ಪ್ರಮುಖ ಕಾಲಮ್ಗಾಗಿ ಕಾಲಮ್ ವ್ಯಾಖ್ಯಾನದ ಕೊನೆಯಲ್ಲಿ.