ในภาษาโปรแกรม การออกแบบระบบปฏิบัติการ และระบบการจัดการฐานข้อมูล อ็อบเจ็กต์และคลาสต่างๆ จะถูกเก็บไว้ด้วยความเชื่อมโยงระหว่างอ็อบเจ็กต์ ทั้ง Aggregation และ Composition ใช้เพื่ออธิบายความสัมพันธ์ระหว่างอ็อบเจ็กต์สำหรับการจัดเก็บและเรียกชุดข้อมูลอย่างมีประสิทธิภาพมากขึ้น โดยลดความซับซ้อนของเวลาและพื้นที่
การรวมเทียบกับองค์ประกอบ
ความแตกต่างหลัก ระหว่างการรวมและองค์ประกอบก็คือ การรวมเข้าด้วยกัน อธิบายความสัมพันธ์ระหว่างวัตถุที่พึ่งพาซึ่งกันและกันสำหรับการสร้าง ในขณะที่ Composition อธิบายอ็อบเจกต์ที่มีการพึ่งพาซึ่งกันและกันโดยตรงสำหรับการสร้างและหน้าที่ของพวกมัน ในกรณีนี้ วัตถุหนึ่งมีความเป็นเจ้าของเหนืออีกวัตถุหนึ่ง
การรวมเป็นการเชื่อมโยงระหว่างชุดข้อมูลสองชุด เช่น คลาสหรืออ็อบเจ็กต์ โดยที่อ็อบเจ็กต์ที่เกี่ยวข้องไม่มีการพึ่งพาซึ่งกันและกันโดยตรงสำหรับการสร้างหรือการทำงาน ดังนั้นการยักย้ายถ่ายเทของวัตถุหนึ่งไม่เปลี่ยนแปลงสถานะของวัตถุอื่น การเชื่อมโยงนี้อนุญาตให้ทำการเปลี่ยนแปลงได้โดยไม่สูญเสีย
องค์ประกอบเป็นการรวมประเภทพิเศษและอธิบายความสัมพันธ์ระหว่างชุดข้อมูลสองชุด โดยที่อ็อบเจ็กต์หรือคลาสที่เกี่ยวข้องจะขึ้นอยู่กับแต่ละชุดโดยตรงสำหรับการสร้าง การจัดเก็บ ฟังก์ชัน และอื่นๆ ดังนั้น การแก้ไขใด ๆ กับชุดข้อมูลใดชุดหนึ่งจะส่งผลโดยตรงต่อชุดข้อมูลอื่น
ตารางเปรียบเทียบระหว่างการรวมและองค์ประกอบ
พารามิเตอร์ของการเปรียบเทียบ | การรวม | องค์ประกอบ |
คำนิยาม | การรวมเป็นประเภทของการเชื่อมโยงโดยไม่ต้องพึ่งพาวัตถุซึ่งกันและกัน | องค์ประกอบคือการเชื่อมโยงกับการพึ่งพาวัตถุซึ่งกันและกัน |
ความสัมพันธ์ | มีความสัมพันธ์ทางอ้อมระหว่างชุดข้อมูล | ความสัมพันธ์แม่และลูกระหว่างชุดข้อมูล |
สัญลักษณ์ UML | การรวมจะแสดงด้วยเพชรเปล่า | องค์ประกอบแสดงด้วยเพชรที่เต็มไป |
การดัดแปลง | การดัดแปลงของวัตถุหนึ่งไม่เปลี่ยนแปลงอีกวัตถุหนึ่ง | การปรับเปลี่ยนของวัตถุหนึ่งเปลี่ยนแปลงข้อมูลบนอีกวัตถุหนึ่ง |
ความเข้มแข็งของสมาคม | เป็นสมาคมที่อ่อนแอ | เป็นสมาคมที่เข้มแข็ง |
การรวมคืออะไร?
การรวมเป็นประเภทของการเชื่อมโยงหรือความสัมพันธ์ระหว่างชุดข้อมูลสองชุด เช่น คลาส อ็อบเจ็กต์ และอื่นๆ การเชื่อมโยงถูกสร้างขึ้นเพื่อจัดกลุ่มชุดข้อมูลที่มีความคล้ายคลึงกัน
ในการเชื่อมโยงประเภทนี้ อ็อบเจ็กต์หรือคลาสไม่มีความสัมพันธ์โดยตรง ชุดข้อมูลมีความสัมพันธ์แบบ "Has-A"
นี่หมายความว่าชุดข้อมูลไม่ได้พึ่งพาซึ่งกันและกันสำหรับการสร้าง การจัดเก็บ หรือฟังก์ชันหรือการดำเนินการใดๆ นี่คือประโยชน์หลักของการใช้รูปแบบการเชื่อมโยงนี้สำหรับการจัดเก็บชุดข้อมูลที่คล้ายคลึงกัน
เนื่องจากอ็อบเจ็กต์และคลาสไม่มีการพึ่งพาซึ่งกันและกันโดยตรง การแก้ไขหรือเปลี่ยนแปลงใดๆ ที่ทำกับอ็อบเจ็กต์หรือคลาสตัวใดตัวหนึ่งจะไม่เปลี่ยนแปลงหรือแก้ไขเนื้อหาของข้อมูลที่จัดเก็บไว้ในชุดข้อมูลอื่น
ทำให้สามารถทำลายชุดข้อมูลชุดใดชุดหนึ่งโดยไม่จำเป็นต้องกังวลเกี่ยวกับข้อมูลที่จัดเก็บไว้ในชุดข้อมูลอื่น
เนื่องจากคุณสมบัตินี้ของความสัมพันธ์แบบรวม จึงมีการใช้งานส่วนใหญ่ในสภาพแวดล้อมการทดสอบที่ต้องแก้ไขข้อมูลอย่างต่อเนื่อง เนื่องจากความสัมพันธ์ "Has-A" ระหว่างออบเจ็กต์ที่รวมเข้าด้วยกัน ข้อมูลจะไม่ถูกทำลายในชุดข้อมูลอื่น
สำหรับการแสดง UML สัญลักษณ์เพชรที่ว่างเปล่าจะใช้เพื่อระบุความสัมพันธ์ของการรวม
องค์ประกอบคืออะไร?
องค์ประกอบเป็นประเภทของความสัมพันธ์ระหว่างชุดข้อมูลและส่วนใหญ่จะใช้ในระบบการจัดการฐานข้อมูลและในการออกแบบระบบปฏิบัติการ ชุดข้อมูลอาจรวมถึงอ็อบเจ็กต์ คลาส และอื่นๆ
องค์ประกอบสร้างความสัมพันธ์ระหว่างชุดข้อมูลที่มีความตรงมากกว่าการรวม ดังนั้นอ็อบเจ็กต์และคลาสจึงเกี่ยวข้องกันโดยตรงระหว่างการสร้างชุดข้อมูล
เนื่องจากอ็อบเจ็กต์และคลาสเกี่ยวข้องกันโดยตรง จึงขึ้นอยู่กับการสร้าง การจัดเก็บ และการดำเนินการหรือฟังก์ชันใดๆ
บางครั้งความสัมพันธ์จะแสดงเป็นความสัมพันธ์แบบ "พ่อแม่ลูก" หรือความสัมพันธ์ "เจ้าของ" โดยที่ชุดข้อมูลหนึ่งเป็นเจ้าของชุดข้อมูลอื่น
ข้อเสียเปรียบหลักของการใช้ความสัมพันธ์ประเภทนี้คือเมื่อวัตถุหรือคลาสตัวใดตัวหนึ่งถูกเปลี่ยนแปลงหรือแก้ไข การเปลี่ยนแปลงจะสะท้อนให้เห็นในชุดข้อมูลอื่น และข้อมูลที่อยู่ในชุดข้อมูลก็จะถูกแก้ไขด้วยเช่นกัน
สิ่งนี้จะต้องถูกบันทึกไว้ในขณะที่ทำงานกับชุดข้อมูลเช่นว่าชุดข้อมูลใดชุดหนึ่งถูกทำลายหรือถูกลบ ชุดข้อมูลอื่นที่เกี่ยวข้องกับชุดข้อมูลนั้นจะถูกทำลายด้วย
แต่ข้อมูลจะถูกเก็บไว้อย่างปลอดภัยมากขึ้นเมื่อใช้ความสัมพันธ์ขององค์ประกอบระหว่างอ็อบเจ็กต์หรือคลาส สำหรับการแสดง UML ของการเชื่อมโยงประเภทองค์ประกอบ จะใช้เพชรที่เติม
ความแตกต่างหลักระหว่างการรวมและองค์ประกอบ
บทสรุป
ชุดข้อมูลจำเป็นสำหรับการจัดเก็บข้อมูลอย่างมีประสิทธิภาพมากขึ้นเมื่อมีความคล้ายคลึงกันระหว่างข้อมูลที่เกี่ยวข้อง ดังนั้นในขณะที่สร้างระบบการจัดการฐานข้อมูล ความสัมพันธ์ของชุดข้อมูลประเภทต่างๆ ถูกสร้างขึ้นเพื่อสะท้อนถึงความสัมพันธ์ระหว่างชุดข้อมูล
ทั้งการรวมและองค์ประกอบเป็นประเภทของการเชื่อมโยงที่สะท้อนถึงความสัมพันธ์ระหว่างข้อมูลที่เกี่ยวข้อง
การรวมไม่ใช่ความสัมพันธ์โดยตรงและข้อมูลที่เกี่ยวข้องกับการเชื่อมโยงประเภทนี้ไม่ได้ขึ้นอยู่กับการสร้างและหน้าที่ซึ่งกันและกัน
องค์ประกอบเป็นความสัมพันธ์ประเภทโดยตรงและความสัมพันธ์ระหว่างข้อมูลที่เกี่ยวข้องบางครั้งแสดงเป็นตัวแทน "ผู้ปกครองและเด็ก"
ดังนั้น องค์ประกอบจึงเป็นการเชื่อมโยงที่แข็งแกร่งกว่าการรวม แต่การพึ่งพาชุดข้อมูลจะต้องถูกบันทึกไว้ในขณะที่ทำงานกับการเชื่อมโยงประเภทนี้