Has-a
ಡೇಟಾಬೇಸ್ ವಿನ್ಯಾಸದಲ್ಲಿ, ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮತ್ತು ವಿನ್ಯಾಸದಲ್ಲಿ, ಹ್ಯಾಸ್-ಎ (ಹ್ಯಾಸ್-ಎ ಅಥವಾ ಹ್ಯಾಸ್-ಎ) ಒಂದು ಸಂಯೋಜನೆಯ ಸಂಬಂಧವಾಗಿದ್ದು, ಅಲ್ಲಿ ಒಂದು ವಸ್ತುವು (ಸಾಮಾನ್ಯವಾಗಿ ರಚಿಸಲಾದ ವಸ್ತು, ಅಥವಾ ಭಾಗ/ಘಟಕ/ಸದಸ್ಯ ವಸ್ತು ಎಂದು ಕರೆಯಲ್ಪಡುತ್ತದೆ) ಮತ್ತೊಂದು ವಸ್ತುವಿಗೆ (ಸಂಯೋಜಿತ ಪ್ರಕಾರ ಎಂದು ಕರೆಯಲ್ಪಡುವ) "ಸೇರಿದೆ" (ಭಾಗ ಅಥವಾ ಸದಸ್ಯ), ಮತ್ತು ಮಾಲೀಕತ್ವದ ನಿಯಮಗಳ ಪ್ರಕಾರ ವರ್ತಿಸುತ್ತದೆ. ಸರಳವಾಗಿ ಹೇಳುವುದಾದರೆ, ಒಂದು ವಸ್ತುವಿನಲ್ಲಿರುವ ಸಂಬಂಧವನ್ನು ವಸ್ತುವಿನ ಸದಸ್ಯ ಕ್ಷೇತ್ರ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಅನೇಕ ಸಂಬಂಧಗಳು ಒಗ್ಗೂಡಿ ಸ್ವಾಮ್ಯಸೂಚಕ ಶ್ರೇಣಿಯನ್ನು ರೂಪಿಸುತ್ತವೆ. ಸಂಬಂಧಿತ ಪರಿಕಲ್ಪನೆಗಳು "ಹ್ಯಾಸ್-ಎ" ಅನ್ನು ಈಸ್-ಎ (ಈಸ್-ಎ ಅಥವಾ ಈಸ್-ಎ) ಸಂಬಂಧದೊಂದಿಗೆ ವ್ಯತಿರಿಕ್ತಗೊಳಿಸಬೇಕು, ಇದು ಟ್ಯಾಕ್ಸಾನಮಿಕ್ ಕ್ರಮಾನುಗತವನ್ನು (ಉಪಪ್ರಕಾರ) ರೂಪಿಸುತ್ತದೆ. ಒಂದು ವಸ್ತು ಮತ್ತು ಅದರ ಅಧೀನಕ್ಕೆ ಅತ್ಯಂತ ತಾರ್ಕಿಕ ಸಂಬಂಧವು ಯಾವಾಗಲೂ ಸ್ಪಷ್ಟವಾಗಿ-a ಅಥವಾ-a ಅನ್ನು ಹೊಂದಿರುವುದಿಲ್ಲ. ಅಂತಹ ನಿರ್ಧಾರಗಳ ಬಗೆಗಿನ ಗೊಂದಲವು ಈ ಲೋಹಭಾಷಾ ಪದಗಳ ರಚನೆಯನ್ನು ಅನಿವಾರ್ಯಗೊಳಿಸಿದೆ. ಸಿ + + ಎಸ್ಟಿಎಲ್ನಲ್ಲಿನ ಧಾರಕಗಳು ಹ್ಯಾಶ್-ಎ ಸಂಬಂಧದ ಉತ್ತಮ ಉದಾಹರಣೆಯಾಗಿದೆ. ಸಂಬಂಧಗಳನ್ನು ಸಂಕ್ಷಿಪ್ತವಾಗಿ ಹೇಳುವುದಾದರೆ, ನಾವು ಟ್ಯಾಕ್ಸಾನಮಿಕ್ ಕ್ರಮಾನುಗತವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುವ ಪ್ರಕಾರಗಳ (ವರ್ಗಗಳು) ನಡುವೆ ಹೈಪರ್ನಿಮ್-ಹೈಪೋನಿಮ್ (ಸೂಪರ್ಟೈಪ್-ಸಬ್ಸ್ಟೈಪ್) ಸಂಬಂಧಗಳನ್ನು ಹೊಂದಿದ್ದೇವೆ, ಅಲ್ಲಿ ಆನುವಂಶಿಕ ಸಂಬಂಧಕ್ಕಾಗಿಃ ಹೈಪೋನಿಮ್ (ಉಪಪ್ರಕಾರ, ಸಬ್ಕ್ಲಾಸ್) ಅದರ ಹೈಪರ್ನಿಮ್ (ಸೂಪರ್ಟೈಪ್, ಸೂಪರ್ಕ್ಲಾಸ್) ನೊಂದಿಗೆ ಟೈಪ್-ಆಫ್ (ಇಸ್-ಎ) ಸಂಬಂಧವನ್ನು ಹೊಂದಿದೆ; ಹೋಲೊನಿಮ್-ಮೆರೋನಿಮ್ (ಸಂಪೂರ್ಣ/ಘಟಕ/ಧಾರಕ-ಭಾಗ/ಘಟಕ/ಸದಸ್ಯ) ಪ್ರಕಾರಗಳ ನಡುವಿನ ಸಂಬಂಧಗಳು (ವರ್ಗಗಳು) ಸ್ವಾಮ್ಯಸೂಚಕ ಕ್ರಮಾನುಗತವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತವೆ, ಅಲ್ಲಿ ಒಟ್ಟುಗೂಡಿಸುವಿಕೆ (ಅಂದರೆ. ಮಾಲೀಕತ್ವವಿಲ್ಲದ) ಸಂಬಂಧಃ ಒಂದು ಪವಿತ್ರನಾಮವು (ಸಂಪೂರ್ಣ) ಒಂದು ಸಂಯೋಜನೆಗಾಗಿ (ಅಂದರೆ, ಅದರ ಮೆರೊನಿಮ್ (ಭಾಗ) ನೊಂದಿಗೆ ಒಂದು ಸಂಬಂಧವನ್ನು ಹೊಂದಿದೆ. ಮಾಲೀಕತ್ವದೊಂದಿಗೆ) ಸಂಬಂಧಃ ನಿಯಂತ್ರಣ ಸಂಬಂಧಕ್ಕಾಗಿ ಮೆರೊನಿಮ್ (ಘಟಕ) ಅದರ ಪವಿತ್ರ (ಅಸ್ತಿತ್ವ) ದೊಂದಿಗೆ ಒಂದು ಭಾಗಶಃ ಸಂಬಂಧವನ್ನು ಹೊಂದಿದೆಃ ಮೆರೊನಿಮ್ (ಸದಸ್ಯ) ಅದರ ಪವಿತ್ರ (ಧಾರಕ) ದೊಂದಿಗೆ ಸದಸ್ಯರ ಸಂಬಂಧವನ್ನು ಹೊಂದಿದೆ; ಪರಿಕಲ್ಪನೆ-ವಸ್ತು (ಪ್ರಕಾರ-ಟೋಕನ್) ಪ್ರಕಾರಗಳು (ವರ್ಗಗಳು) ಮತ್ತು ವಸ್ತುಗಳ (ನಿದರ್ಶನಗಳು) ನಡುವಿನ ಸಂಬಂಧಗಳು, ಅಲ್ಲಿ ಟೋಕನ್ (ವಸ್ತು) ಅದರ ಪ್ರಕಾರ (ವರ್ಗ) ದೊಂದಿಗೆ ಒಂದು ಉದಾಹರಣೆಯ ಸಂಬಂಧವನ್ನು ಹೊಂದಿದೆ. ಉದಾಹರಣೆಗಳು ಅಸ್ತಿತ್ವ-ಸಂಬಂಧದ ಮಾದರಿ ಡೇಟಾಬೇಸ್ಗಳಲ್ಲಿ ಒಂದು ಸಂಬಂಧವನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಅಸ್ತಿತ್ವ-ಸಂಬಂಧದ ಮಾದರಿಯಲ್ಲಿ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ. ನೀವು ಬಲಭಾಗದಲ್ಲಿರುವ ರೇಖಾಚಿತ್ರದಿಂದ ನೋಡುವಂತೆ ಖಾತೆಯು ಅನೇಕ ಅಕ್ಷರಗಳನ್ನು ಹೊಂದಿರಬಹುದು. ಇದು ಖಾತೆಯು ಪಾತ್ರದೊಂದಿಗೆ "ಹೊಂದಿದೆ-ಎ" ಸಂಬಂಧವನ್ನು ಹೊಂದಿದೆ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ. ಯು. ಎಂ. ಎಲ್. ವರ್ಗದ ರೇಖಾಚಿತ್ರವು ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ನಲ್ಲಿ ಈ ಸಂಬಂಧವನ್ನು ಯುನಿಫೈಡ್ ಮಾಡೆಲಿಂಗ್ ಲಾಂಗ್ವೇಜ್ ಕ್ಲಾಸ್ ರೇಖಾಚಿತ್ರದೊಂದಿಗೆ ಪ್ರತಿನಿಧಿಸಬಹುದು. ಈ ಸಂಬಂಧವನ್ನು ಸಂಯೋಜನೆ ಎಂದೂ ಕರೆಯಲಾಗುತ್ತದೆ. ನೀವು ಬಲಭಾಗದಲ್ಲಿರುವ ವರ್ಗ ರೇಖಾಚಿತ್ರದಿಂದ ನೋಡುವಂತೆ ಕಾರಿನಲ್ಲಿ ಕಾರ್ಬ್ಯುರೇಟರ್ ಇರುತ್ತದೆ ಅಥವಾ ಕಾರಿನಲ್ಲಿ ಕಾರ್ಬ್ಯುರೇಟರ್ ಇರುತ್ತದೆ. ವಜ್ರವು ಕಪ್ಪು ಬಣ್ಣದಲ್ಲಿದ್ದಾಗ ಅದು ಸಂಯೋಜನೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಅಂದರೆ. ವಜ್ರಕ್ಕೆ ಹತ್ತಿರವಿರುವ ಬದಿಯಲ್ಲಿರುವ ವಸ್ತುವು ಇತರ ವಸ್ತುವಿನಿಂದ ಮಾಡಲ್ಪಟ್ಟಿದೆ ಅಥವಾ ಹೊಂದಿರುತ್ತದೆ. ಬಿಳಿ ವಜ್ರವು ಒಟ್ಟುಗೂಡಿಸುವಿಕೆಯನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಅಂದರೆ ವಜ್ರಕ್ಕೆ ಹತ್ತಿರವಿರುವ ವಸ್ತುವು ಇತರ ವಸ್ತುವನ್ನು ಹೊಂದಿರಬಹುದು ಅಥವಾ ಹೊಂದಿರಬಹುದು. ಸಿ + + ನೈಜ ಪ್ರಪಂಚದ ಮಾದರಿಯಲ್ಲಿ ಸಂಯೋಜನೆ ಮತ್ತು ಒಟ್ಟುಗೂಡಿಸುವಿಕೆಯ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ಗುರುತಿಸುವ ಮತ್ತೊಂದು ಮಾರ್ಗವೆಂದರೆ, ಒಳಗೊಂಡಿರುವ ವಸ್ತುವಿನ ಸಾಪೇಕ್ಷ ಜೀವಿತಾವಧಿಯನ್ನು ಪರಿಗಣಿಸುವುದು. ಉದಾಹರಣೆಗೆ, ಒಂದು ಕಾರು ವಸ್ತುವು ಚಾಸಿಸ್ ವಸ್ತುವನ್ನು ಹೊಂದಿದ್ದರೆ, ಕಾರಿನ ಜೀವಿತಾವಧಿಯಲ್ಲಿ ಚಾಸಿಸ್ ಅನ್ನು ಹೆಚ್ಚಾಗಿ ಬದಲಾಯಿಸಲಾಗುವುದಿಲ್ಲ. ಇದು ಕಾರಿನಂತೆಯೇ ಅದೇ ಜೀವಿತಾವಧಿಯನ್ನು ಹೊಂದಿರುತ್ತದೆ; ಆದ್ದರಿಂದ ಸಂಬಂಧವು ಸಂಯೋಜನೆಯಾಗಿದೆ. ಮತ್ತೊಂದೆಡೆ, ಕಾರ್ ಆಬ್ಜೆಕ್ಟ್ ಟೈರ್ ಆಬ್ಜೆಕ್ಟ್ಗಳ ಗುಂಪನ್ನು ಹೊಂದಿದ್ದರೆ, ಈ ಟೈರ್ ಆಬ್ಜೆಕ್ಟ್ಗಳು ಹಾಳಾಗಬಹುದು ಮತ್ತು ಹಲವಾರು ಬಾರಿ ಬದಲಾಗಬಹುದು. ಅಥವಾ ಕಾರು ನಿಷ್ಪ್ರಯೋಜಕವಾದರೆ, ಕೆಲವು ಟೈರ್ಗಳನ್ನು ರಕ್ಷಿಸಿ ಮತ್ತೊಂದು ಕಾರಿಗೆ ನಿಯೋಜಿಸಬಹುದು. ಹೇಗಾದರೂ, ಟೈರ್ ವಸ್ತುಗಳು ಕಾರ್ ವಸ್ತುಗಳಿಗಿಂತ ವಿಭಿನ್ನ ಜೀವಿತಾವಧಿಯನ್ನು ಹೊಂದಿವೆ; ಆದ್ದರಿಂದ ಸಂಬಂಧವು ಒಟ್ಟುಗೂಡಿಸುವಿಕೆಯಾಗಿದೆ. ಮೇಲೆ ವಿವರಿಸಿದ ಸಂಬಂಧಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಒಬ್ಬರು ಸಿ + + ಸಾಫ್ಟ್ವೇರ್ ಕ್ಲಾಸ್ ಅನ್ನು ಮಾಡಿದರೆ, ಕಾರ್ ಆಬ್ಜೆಕ್ಟ್ ಡೇಟಾ ಮೆಂಬರ್ನಲ್ಲಿ ಸಂಪೂರ್ಣ ಚಾಸಿಸ್ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಈ ಚಾಸಿಸ್ ವಸ್ತುವನ್ನು ಕಾರ್ ವರ್ಗದ ಕನ್ಸ್ಟ್ರಕ್ಟರ್ನಲ್ಲಿ ತ್ವರಿತಗೊಳಿಸಲಾಗುತ್ತದೆ (ಅಥವಾ ಡೇಟಾ ಸದಸ್ಯರ ಡೇಟಾ ಪ್ರಕಾರ ಮತ್ತು ಕನ್ಸ್ಟ್ರಕ್ಟರ್ನಲ್ಲಿ ನಿಗದಿಪಡಿಸಲಾದ ಅದರ ಗುಣಲಕ್ಷಣಗಳು ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ). ಮತ್ತು ಇದು ಕಾರ್ ವರ್ಗದ ಸಂಪೂರ್ಣ ದತ್ತಾಂಶ ಸದಸ್ಯನಾಗಿರುವುದರಿಂದ, ಕಾರ್ ವರ್ಗದ ವಸ್ತುವನ್ನು ಅಳಿಸಬೇಕಾದರೆ ಚಾಸಿಸ್ ವಸ್ತುವು ಇನ್ನು ಮುಂದೆ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವುದಿಲ್ಲ. ಮತ್ತೊಂದೆಡೆ, ಟೈರ್ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ಸೂಚಿಸುವ ಕಾರ್ ಕ್ಲಾಸ್ ಡೇಟಾ ಸದಸ್ಯರು ಹೆಚ್ಚಾಗಿ ಸಿ + + ಪಾಯಿಂಟರ್ಗಳಾಗಿರುತ್ತಾರೆ. ಟೈರ್ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ತಕ್ಷಣವೇ ತೆಗೆದುಹಾಕಬಹುದು ಮತ್ತು ಬಾಹ್ಯವಾಗಿ ಅಳಿಸಬಹುದು, ಅಥವಾ ಬೇರೆ ಕಾರ್ ಆಬ್ಜೆಕ್ಟ್ನ ಡೇಟಾ ಸದಸ್ಯರಿಗೆ ನಿಯೋಜಿಸಬಹುದು. ಟೈರ್ ವಸ್ತುಗಳು ಕಾರ್ ವಸ್ತುವನ್ನು ಅಳಿಸಿದ ಸಮಯಕ್ಕಿಂತ ಪ್ರತ್ಯೇಕವಾದ ಸ್ವತಂತ್ರ ಜೀವಿತಾವಧಿಯನ್ನು ಹೊಂದಿರುತ್ತವೆ. ಆಬ್ಜೆಕ್ಟ್ ಸಂಯೋಜನೆ ಹ್ಯಾಸ್-ಎ ಹೋಲೊನಿಮಿ ಮೆರೊನಿಮಿ ಈಸ್-ಎ ಹೈಪರ್ನಿಮಿ (ಮತ್ತು ಸೂಪರ್ಟೈಪ್) ಹೈಪೋನಿಮಿ (ಮತ್ತು ಉಪಪ್ರಕಾರ) ನೋಟ್ಸ್ ಆಬ್ಜೆಕ್ಟ್-ಓರಿಯೆಂಟೆಡ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ರಿಲೇಷನಲ್ ಆಲ್ಜಿಬ್ರಾವನ್ನು ಸಹ ನೋಡಿ.