ಮೂರನೇ ಸಾಧಾರಣ ಫಾರ್ಮ್ನಲ್ಲಿ (3NF) ಡೇಟಾಬೇಸ್ ಅನ್ನು ಹಾಕಲಾಗುತ್ತಿದೆ

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

ಮೂರನೆಯ ಸಾಧಾರಣ ಫಾರ್ಮ್ ಅವಶ್ಯಕತೆಗಳು

ಡೇಟಾಬೇಸ್ ಮೂರನೇ ಸಾಮಾನ್ಯ ರೂಪದಲ್ಲಿರಲು ಎರಡು ಮೂಲಭೂತ ಅವಶ್ಯಕತೆಗಳಿವೆ:

ಪ್ರಾಥಮಿಕ ಕೀ ಅವಲಂಬನೆ ಬಗ್ಗೆ

ಎಲ್ಲಾ ಕಾಲಮ್ಗಳು ಪ್ರಾಥಮಿಕ ಕೀಲಿಯ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಬೇಕು ಎಂಬ ಅಂಶದಿಂದ ನಾವು ಅರ್ಥವನ್ನು ಮತ್ತಷ್ಟು ಅನ್ವೇಷಿಸೋಣ.

ಒಂದು ಕಾಲಮ್ನ ಮೌಲ್ಯವನ್ನು ಮೇಜಿನ ಮೇಲಿರುವ ಪ್ರಾಥಮಿಕ ಕೀ ಮತ್ತು ಇನ್ನೊಂದು ಕಾಲಮ್ನಿಂದ ಪಡೆಯಬಹುದಾದರೆ ಅದು 3NF ಅನ್ನು ಉಲ್ಲಂಘಿಸುತ್ತದೆ. ಈ ಕಾಲಮ್ಗಳೊಂದಿಗೆ ನೌಕರರ ಟೇಬಲ್ ಅನ್ನು ಪರಿಗಣಿಸಿ:

LastName ಮತ್ತು FirstName ಎರಡೂ EmployeeID ಮೌಲ್ಯವನ್ನು ಮಾತ್ರ ಅವಲಂಬಿಸಿವೆಯೆ? ಬಾವಿ, LastName ಅನ್ನು FirstName ಅನ್ನು ಅವಲಂಬಿಸಬಹುದೆ? ಇಲ್ಲ, LastName ನಲ್ಲಿ ಸ್ವಾಭಾವಿಕವಾದ ಏನೂ ಮೊದಲನೆಯ ಹೆಸರಿನ ಮೌಲ್ಯವನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಫಸ್ಟ್ನಾಮೇಮ್ LastName ಅನ್ನು ಅವಲಂಬಿಸಬಹುದೇ? ಮತ್ತೆ ಇಲ್ಲ, ಏಕೆಂದರೆ ಅದು ನಿಜವಾಗಿದೆ: ಒಂದು LastName ಏನೇ ಇರಬಹುದೆಂದು, ಫಸ್ಟ್ ನೇಮ್ನ ಮೌಲ್ಯಕ್ಕೆ ಒಂದು ಸುಳಿವನ್ನು ಒದಗಿಸಲಾಗಲಿಲ್ಲ. ಆದ್ದರಿಂದ, ಈ ಟೇಬಲ್ 3NF ದೂರುಯಾಗಿದೆ.

ಆದರೆ ಈ ವಾಹನ ಟೇಬಲ್ ಅನ್ನು ಪರಿಗಣಿಸಿ:

ತಯಾರಕರು ಮತ್ತು ಮಾದರಿಗಳು ವಾಹನದಿಂದ ಹೊರಬರುತ್ತವೆ - ಆದರೆ ಮಾದರಿ ತಯಾರಕರಿಂದ ಕೂಡಾ ಬರಬಹುದು ಏಕೆಂದರೆ ವಾಹನ ಮಾದರಿಯನ್ನು ನಿರ್ದಿಷ್ಟ ಉತ್ಪಾದಕರಿಂದ ಮಾತ್ರ ತಯಾರಿಸಲಾಗುತ್ತದೆ. ಈ ಟೇಬಲ್ ವಿನ್ಯಾಸವು 3NF ಅಲ್ಲದ ಅನುವರ್ತನೆಯಾಗಿದೆ, ಮತ್ತು ಆದ್ದರಿಂದ, ದತ್ತಾಂಶ ವೈಪರೀತ್ಯಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು ಮಾದರಿಯನ್ನು ನವೀಕರಿಸದೆ ತಯಾರಕರನ್ನು ನವೀಕರಿಸಬಹುದು, ದೋಷಗಳನ್ನು ಪರಿಚಯಿಸುತ್ತೀರಿ.

ಇದನ್ನು ಅನುಸರಿಸಲು, ನಾವು ಹೆಚ್ಚುವರಿ ಟೇಬಲ್ಗೆ ಹೆಚ್ಚುವರಿ ಅವಲಂಬಿತ ಕಾಲಮ್ ಅನ್ನು ಚಲಿಸಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ವಿದೇಶಿ ಕೀಲಿಯನ್ನು ಬಳಸುತ್ತೇವೆ. ಇದು ಎರಡು ಕೋಷ್ಟಕಗಳಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ:

ವಾಹನಗಳು ಟೇಬಲ್

ಕೆಳಗಿರುವ ಕೋಷ್ಟಕದಲ್ಲಿ, ಮಾದರಿಐಡಿ ಮಾದರಿಗಳು ಟೇಬಲ್ಗೆ ವಿದೇಶಿ ಕೀಲಿಯಾಗಿದೆ:

ಮಾದರಿಗಳು ಟೇಬಲ್

ತಯಾರಕರು ಈ ಹೊಸ ಟೇಬಲ್ ನಕ್ಷೆಗಳು ಮಾದರಿಗಳು. ಯಾವುದೇ ವಾಹನ ಮಾಹಿತಿಯನ್ನು ನಿರ್ದಿಷ್ಟ ಮಾದರಿಗೆ ನವೀಕರಿಸಲು ನೀವು ಬಯಸಿದರೆ, ವಾಹನದ ಕೋಷ್ಟಕಕ್ಕಿಂತ ಹೆಚ್ಚಾಗಿ, ನೀವು ಈ ಕೋಷ್ಟಕದಲ್ಲಿ ಅದನ್ನು ಮಾಡುತ್ತೀರಿ.

3NF ಮಾದರಿಯಲ್ಲಿ ಡಿರೈವ್ಡ್ ಫೀಲ್ಡ್ಸ್

ಒಂದು ಕೋಷ್ಟಕವು ಹುಟ್ಟಿಕೊಂಡ ಕ್ಷೇತ್ರವನ್ನು ಹೊಂದಿರಬಹುದು - ಟೇಬಲ್ನ ಇತರ ಕಾಲಮ್ಗಳನ್ನು ಆಧರಿಸಿ ಲೆಕ್ಕಾಚಾರ ಮಾಡಲಾಗಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಈ ವಿಜೆಟ್ ಆದೇಶಗಳ ಟೇಬಲ್ ಅನ್ನು ಪರಿಗಣಿಸಿ:

3NF ಅನುಸರಣೆಯ ಒಟ್ಟು ವಿರಾಮದ ಕಾರಣದಿಂದಾಗಿ, ಘಟಕದ ಬೆಲೆಯನ್ನು ಪ್ರಮಾಣದಿಂದ ಗುಣಿಸಿ, ಪ್ರಾಥಮಿಕ ಕೀಲಿಯ ಮೇಲೆ ಸಂಪೂರ್ಣವಾಗಿ ಅವಲಂಬಿತವಾಗಿರುವುದರಿಂದ ಅದನ್ನು ಪಡೆಯಬಹುದು. ಮೂರನೇ ಸಾಮಾನ್ಯ ರೂಪವನ್ನು ಅನುಸರಿಸಲು ನಾವು ಮೇಜಿನಿಂದ ಅದನ್ನು ತೆಗೆದುಹಾಕಬೇಕು.

ವಾಸ್ತವವಾಗಿ, ಇದು ಹುಟ್ಟಿಕೊಂಡಿದೆಯಾದ್ದರಿಂದ, ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಅದನ್ನು ಸಂಗ್ರಹಿಸದಂತೆ ಉತ್ತಮವಾಗಿದೆ.

ಡೇಟಾಬೇಸ್ ಪ್ರಶ್ನೆಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ ನಾವು ಅದನ್ನು "ಫ್ಲೈನಲ್ಲಿ" ಲೆಕ್ಕಾಚಾರ ಮಾಡಬಹುದು. ಉದಾಹರಣೆಗೆ, ನಾವು ಆದೇಶ ಸಂಖ್ಯೆಗಳನ್ನು ಮತ್ತು ಮೊತ್ತವನ್ನು ಹಿಂಪಡೆಯಲು ಈ ಪ್ರಶ್ನೆಯನ್ನು ಹಿಂದೆ ಬಳಸಿದ್ದೇವೆ:

ಆರ್ಡರ್ನಂಬರ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ, ವಿಜೆಟ್ಓಡರ್ಸ್ನಿಂದ ಒಟ್ಟು

ನಾವು ಈಗ ಈ ಕೆಳಗಿನ ಪ್ರಶ್ನೆಯನ್ನು ಉಪಯೋಗಿಸಬಹುದು:

ಆರ್ಡರ್ನಂಬರ್, ಯುನಿಟ್ ಪ್ರೈಸ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ * ವಿಜೆಟ್ ಓಡರ್ಸ್ನಿಂದ ಒಟ್ಟು ಮೊತ್ತ

ಸಾಮಾನ್ಯ ನಿಯಮಗಳನ್ನು ಉಲ್ಲಂಘಿಸದೆ ಅದೇ ಫಲಿತಾಂಶಗಳನ್ನು ಸಾಧಿಸಲು.