ಡೇಟಾಬೇಸ್ ಸಾಧಾರಣೀಕರಣದಲ್ಲಿ ಪೂರ್ಣ ಕ್ರಿಯಾತ್ಮಕ ಅವಲಂಬನೆ

ಸಂಪೂರ್ಣ ಕಾರ್ಯನಿರ್ವಹಣಾ ಅವಲಂಬನೆಯು ಡೇಟಾಬೇಸ್ ಸಾಮಾನ್ಯೀಕರಣದ ಸ್ಥಿತಿಯಾಗಿದ್ದು, ಇದು ಎರಡನೇ ಸಾಧಾರಣ ಫಾರ್ಮ್ (2NF)ಸಾಮಾನ್ಯ ಸ್ಥಿತಿಗೆ ಸಮನಾಗಿರುತ್ತದೆ. ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಹೇಳುವುದಾದರೆ, ಇದು ಮೊದಲ ಸಾಧಾರಣ ಫಾರ್ಮ್ (1NF) ನ ಅವಶ್ಯಕತೆಗಳನ್ನು ಪೂರೈಸುತ್ತದೆ ಮತ್ತು ಎಲ್ಲಾ ಪ್ರಮುಖ ಲಕ್ಷಣಗಳು ಪ್ರಾಥಮಿಕ ಕೀಲಿಯ ಮೇಲೆ ಸಂಪೂರ್ಣ ಕಾರ್ಯನಿರ್ವಹಣಾತ್ಮಕವಾಗಿರುತ್ತವೆ.

ಇದು ಧ್ವನಿಸಬಹುದು ಎಂದು ಇದು ಸಂಕೀರ್ಣವಾಗಿಲ್ಲ. ಇದನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ನೋಡೋಣ.

ಮೊದಲ ಸಾಧಾರಣ ಫಾರ್ಮ್ ಸಾರಾಂಶ

ದತ್ತಸಂಚಯವು ಪೂರ್ತಿಯಾಗಿ ಕಾರ್ಯಾತ್ಮಕವಾಗಿ ಅವಲಂಬಿತವಾಗುವುದಕ್ಕೂ ಮೊದಲು, ಇದು ಮೊದಲು ಮೊದಲ ಸಾಧಾರಣ ಫಾರ್ಮ್ಗೆ ಅನುಸರಿಸಬೇಕು.

ಇದರರ್ಥ ಪ್ರತಿಯೊಬ್ಬ ಗುಣಲಕ್ಷಣವು ಏಕೈಕ, ಪರಮಾಣು ಮೌಲ್ಯವನ್ನು ಹೊಂದಿರಬೇಕು.

ಉದಾಹರಣೆಗೆ, ಕೆಳಗಿನ ಟೇಬಲ್ 1 ಎನ್ಎಫ್ಗೆ ಅನುಗುಣವಾಗಿಲ್ಲ, ಏಕೆಂದರೆ ಉದ್ಯೋಗಿ ಟೀನಾವು ಎರಡು ಸ್ಥಳಗಳಿಗೆ ಸಂಬಂಧಿಸಿದೆ, ಎರಡೂ ಒಂದೇ ಕೋಶದಲ್ಲಿ:

ಮೊದಲ ಸಾಧಾರಣ ಫಾರ್ಮ್ ಅಲ್ಲದ ಅನುಸರಣೆ
ಉದ್ಯೋಗಿ ಸ್ಥಳ
ಜಾನ್ ಲಾಸ್ ಎಂಜಲೀಸ್
ಟೀನಾ ಲಾಸ್ ಏಂಜಲೀಸ್, ಚಿಕಾಗೊ

ಈ ವಿನ್ಯಾಸವನ್ನು ಅನುಮತಿಸುವುದರಿಂದ ಡೇಟಾ ನವೀಕರಣಗಳು ಅಥವಾ ನಮೂದುಗಳನ್ನು ಋಣಾತ್ಮಕವಾಗಿ ಪರಿಣಾಮ ಬೀರಬಹುದು. 1NF ಅನುಸರಣೆ ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು, ಟೇಬಲ್ ಮರುಹೊಂದಿಸಿ ಇದರಿಂದಾಗಿ ಎಲ್ಲಾ ಲಕ್ಷಣಗಳು (ಅಥವಾ ಕಾಲಮ್ ಜೀವಕೋಶಗಳು) ಒಂದೇ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿವೆ:

ಮೊದಲ ಸಾಧಾರಣ ಫಾರ್ಮ್ ಅನುಸರಣೆ
ಉದ್ಯೋಗಿ ಸ್ಥಳ
ಜಾನ್ ಲಾಸ್ ಎಂಜಲೀಸ್
ಟೀನಾ ಲಾಸ್ ಎಂಜಲೀಸ್
ಟೀನಾ ಚಿಕಾಗೊ

ಆದರೆ ಡೇಟಾವನ್ನು ಹೊಂದಿರುವ ಸಮಸ್ಯೆಗಳನ್ನು ತಪ್ಪಿಸಲು 1NF ಇನ್ನೂ ಸಾಕಾಗುವುದಿಲ್ಲ.

ಪೂರ್ಣ ಅವಲಂಬನೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು 2NF ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ

ಸಂಪೂರ್ಣವಾಗಿ ಅವಲಂಬಿತವಾಗಿರುವಂತೆ, ಎಲ್ಲಾ ಅಭ್ಯರ್ಥಿಗಳ ಕೀ ಗುಣಲಕ್ಷಣಗಳು ಪ್ರಾಥಮಿಕ ಕೀಲಿಯ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರಬೇಕು. (ನೆನಪಿಡಿ, ಅಭ್ಯರ್ಥಿ ಕೀಲಿ ಗುಣಲಕ್ಷಣವು ಡೇಟಾಬೇಸ್ ದಾಖಲೆಯನ್ನು ಅನನ್ಯವಾಗಿ ಗುರುತಿಸಲು ಬಳಸುವ ಯಾವುದೇ ಕೀಲಿಯಾಗಿದೆ (ಉದಾಹರಣೆಗೆ, ಪ್ರಾಥಮಿಕ ಅಥವಾ ವಿದೇಶಿ ಕೀಲಿ).

ಡೇಟಾಬೇಸ್ ವಿನ್ಯಾಸಕರು ಗುಣಲಕ್ಷಣಗಳ ನಡುವಿನ ಅವಲಂಬಿತ ಸಂಬಂಧಗಳನ್ನು ವಿವರಿಸಲು ಸಂಕೇತವನ್ನು ಬಳಸುತ್ತಾರೆ:

ಗುಣಲಕ್ಷಣ ಎ ಬಿ ಯ ಮೌಲ್ಯವನ್ನು ನಿರ್ಧರಿಸಿದರೆ, ನಾವು ಈ ಎ -> ಬಿ - ಬಿ ಅನ್ನು ಕಾರ್ಯಗತವಾಗಿ ಎ ಅವಲಂಬಿಸಿರುತ್ತದೆ ಎಂದು ಅರ್ಥ. ಈ ಸಂಬಂಧದಲ್ಲಿ ಎ ಬಿ ಮೌಲ್ಯವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ, ಎ ಬಿ ಅವಲಂಬಿಸಿರುತ್ತದೆ.

ಉದಾಹರಣೆಗೆ, ಕೆಳಗಿನ ಉದ್ಯೋಗಿ ಇಲಾಖೆಗಳ ಕೋಷ್ಟಕದಲ್ಲಿ, ಉದ್ಯೋಗಿಐಡಿ ಮತ್ತು ಡೆಪ್ಟೈಡ್ ಇಬ್ಬರೂ ಅಭ್ಯರ್ಥಿಯ ಕೀಲಿಗಳಾಗಿವೆ: ಡೆಪ್ಟಿಐಡಿ ವಿದೇಶಿ ಕೀಲಿಯಾಗಿದ್ದಾಗ ಎಂಪ್ಲಾಯೀಐಡಿ ಟೇಬಲ್ನ ಪ್ರಾಥಮಿಕ ಕೀಲಿಯಾಗಿದೆ.

ಯಾವುದೇ ಇತರ ಗುಣಲಕ್ಷಣ - ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನೌಕರರ ಹೆಸರು ಮತ್ತು DeptName - ಅದರ ಮೌಲ್ಯವನ್ನು ಪಡೆಯಲು ಪ್ರಾಥಮಿಕ ಕೀಲಿಯನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ.

ಉದ್ಯೋಗಿ ಇಲಾಖೆಗಳು
ಎಂಪ್ಲಾಯೀಐಡಿ ನೌಕರನ ಹೆಸರು DeptID DeptName
ಎಮ್ಪಿ 1 ಜಾನ್ Dept001 ಹಣಕಾಸು
ಎಂಪಿ 2 ಟೀನಾ Dept003 ಮಾರಾಟ
ಎಂಪಿ 3 ಕಾರ್ಲೋಸ್ Dept001 ಹಣಕಾಸು

ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಟೇಬಲ್ ಸಂಪೂರ್ಣವಾಗಿ ಅವಲಂಬಿತವಾಗಿಲ್ಲ ಏಕೆಂದರೆ, ಎಂಪ್ಲಾಯೀ ಹೆಸರು ಪ್ರಾಥಮಿಕ ಕೀ ನೌಕರರು ಅವಲಂಬಿಸಿರುತ್ತದೆ, DeptName DeptID ಬದಲಿಗೆ ಬದಲಾಗುತ್ತದೆ. ಇದನ್ನು ಭಾಗಶಃ ಅವಲಂಬನೆ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.

ಈ ಟೇಬಲ್ 2 ಎನ್ಎಫ್ಗೆ ಅನುಗುಣವಾಗಿ ಮಾಡಲು, ನಾವು ಡೇಟಾವನ್ನು ಎರಡು ಟೇಬಲ್ಗಳಾಗಿ ಬೇರ್ಪಡಿಸಬೇಕು:

ನೌಕರರು
ಎಂಪ್ಲಾಯೀಐಡಿ ನೌಕರನ ಹೆಸರು DeptID
ಎಮ್ಪಿ 1 ಜಾನ್ Dept001
ಎಂಪಿ 2 ಟೀನಾ Dept003
ಎಂಪಿ 3 ಕಾರ್ಲೋಸ್ Dept001

ನೌಕರರ ಮೇಜಿನಿಂದ ನಾವು DeptName ಗುಣಲಕ್ಷಣವನ್ನು ತೆಗೆದುಹಾಕಿ ಹೊಸ ಟೇಬಲ್ ಇಲಾಖೆಗಳನ್ನು ರಚಿಸುತ್ತೇವೆ:

ಇಲಾಖೆಗಳು
DeptID DeptName
Dept001 ಹಣಕಾಸು
Dept002 ಮಾನವ ಸಂಪನ್ಮೂಲಗಳು
Dept003 ಮಾರಾಟ

ಈಗ ಕೋಷ್ಟಕಗಳ ನಡುವಿನ ಸಂಬಂಧಗಳು ಸಂಪೂರ್ಣವಾಗಿ ಅವಲಂಬಿತವಾಗಿವೆ, ಅಥವಾ 2NF ನಲ್ಲಿ.

ಪೂರ್ಣ ಅವಲಂಬನೆ ಮುಖ್ಯ ಏಕೆ

ಡೇಟಾಬೇಸ್ ಗುಣಲಕ್ಷಣಗಳ ನಡುವೆ ಪೂರ್ಣ ಅವಲಂಬನೆ ಡೇಟಾ ಸಮಗ್ರತೆಯನ್ನು ಖಚಿತಪಡಿಸುತ್ತದೆ ಮತ್ತು ಡೇಟಾ ವೈಪರೀತ್ಯಗಳನ್ನು ತಪ್ಪಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.

ಉದಾಹರಣೆಗೆ, ಮೇಲಿರುವ ವಿಭಾಗದಲ್ಲಿ ಟೇಬಲ್ ಅನ್ನು 1NF ಗೆ ಮಾತ್ರ ಬದ್ಧವಾಗಿ ಪರಿಗಣಿಸಿ. ಇಲ್ಲಿ ಅದು ಮತ್ತೊಮ್ಮೆ:

ಮೊದಲ ಸಾಧಾರಣ ಫಾರ್ಮ್ ಅನುಸರಣೆ
ಉದ್ಯೋಗಿ ಸ್ಥಳ
ಜಾನ್ ಲಾಸ್ ಎಂಜಲೀಸ್
ಟೀನಾ ಲಾಸ್ ಎಂಜಲೀಸ್
ಟೀನಾ ಚಿಕಾಗೊ

ಟೀನಾ ಎರಡು ದಾಖಲೆಗಳನ್ನು ಹೊಂದಿದೆ. ಎರಡು ಇವೆ ಎಂದು ಅರಿತುಕೊಳ್ಳದೆ ನಾವು ಒಂದನ್ನು ನವೀಕರಿಸಿದರೆ, ಫಲಿತಾಂಶವು ಅಸಮಂಜಸವಾದ ಡೇಟಾವಾಗಿರುತ್ತದೆ.

ಅಥವಾ, ನಾವು ಈ ಟೇಬಲ್ಗೆ ಉದ್ಯೋಗಿಗಳನ್ನು ಸೇರಿಸಲು ಬಯಸಿದರೆ, ಆದರೆ ನಮಗೆ ಇನ್ನೂ ಸ್ಥಳ ತಿಳಿದಿಲ್ಲವೇ? ಸ್ಥಳ ಗುಣಲಕ್ಷಣವು NULL ಮೌಲ್ಯಗಳನ್ನು ಅನುಮತಿಸದಿದ್ದರೆ ಹೊಸ ಉದ್ಯೋಗಿಗಳನ್ನು ಸಹ ಸೇರಿಸಲು ನಾವು ಅನುಮತಿಸದಿರಬಹುದು.

ಸಂಪೂರ್ಣ ಅವಲಂಬನೆ ಇಡೀ ಚಿತ್ರವಲ್ಲ, ಆದರೂ, ಇದು ಸಾಮಾನ್ಯೀಕರಣಕ್ಕೆ ಬಂದಾಗ. ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ ಮೂರನೆಯ ಸಾಧಾರಣ ಫಾರ್ಮ್ (3NF) ನಲ್ಲಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.