หน้าเว็บ

บทที่ 13 การสร้างเเบบจำลองข้อมูล (Data Modeling)



บทที่ 13 การสร้างเเบบจำลองข้อมูล 

(Data Modeling)


1. แบบจำลองข้อมูลคืออะไร
การสร้างแบบจำลองข้อมูลหรือแบบจำลองฐานข้อมูลจะเป็นขั้นตอนแรกของการออกแบบฐานข้อมูลที่ซึ่งจะมุ่งเน้นที่การกำหนดโครงสร้างของฐานข้อมูลที่ซึ่งจะใช้ในการจัดเก็บและจัดการข้อมูลของผู้ใช้งานฐานข้อมูล ในหลายๆครั้งการสร้างแบบจำลองฐานข้องมูลอาจหมายถึงการระบุถึงแบบจำลองข้อมูลสำหรับการกำหนดขอบเขตของปัญหา (problem domain) ที่เราจะพิจารณา แบบจำลองข้อมูลมักมีลักษณะเป็นแผนภาพที่ใช้แสดงโครงสร้างที่ซับซ้อนของฐานข้อมูลมีหน้าที่ในการช่วยให้ผู้ออกแบบฐานข้อมูลสามารถเข้าใจความซับซ้อนของข้อมูลที่ถูกใช้ในองค์กรต่างๆ นอกจากนั้น แบบจำลองข้อมูลมักจะแสดงถึงโครงสร้างของข้อมูลในฐานข้อมูลและคุณลักษณะของข้อมูลเหล่านั้น ข้อจำกัดต่างๆ การเปลี่ยนแปลง/เปลี่ยนรูปข้อมูล และอื่นๆที่ซึ่งสามารถสนับสนุนการกำหนดขอบเขตของปัญหา
การสร้างแบบจำลองฐานข้อมูลจะเป็นกระบวนการทำซ้ำแบบค่อยเป็นค่อยไป โดยในตอนเริ่มต้นเราอาจเริ่มต้นจากความเข้าอย่างๆง่ายๆเกี่ยวกับขอบเขตปัญหาและสามารถทำการสร้างแบบจำลองฐานข้อมูลอย่างง่ายตามความเข้าใจที่มี แต่หลังจากทำการติดต่อสื่อสารกับผู้ใช้และการพิจารณาเกี่ยวกับข้อมูลและขั้นตอนในการดำเนินธุรกิจต่างๆซ้ำแล้วซ้ำเล่าจะทำให้เรามีความเข้าใจเกี่ยวกับของเขตของปัญหามากยิ่งขึ้น
และจะช่วยให้เราสามารถเพิ่มเติมรายละเอียดของแบบจำลองฐานข้อมูลได้มากขึ้น ในท้ายสุด เราจะได้
แบบจำลองฐานข้อมูลที่สามารถตอบสนองต่อความต้องการของผู้ใช้ที่ซึ่งจะมีลักษณะคล้ายกับพิมพ์เขียวที่บรรจุไปด้วยวิธีการในการสร้างฐานข้อมูล โดยพิมพ์เขียวที่ได้จะมีลักษณะเป็นแผนภาพที่จะประกอบไปด้วย
1) คำอธิบายเกี่ยวกับโครงสร้างของข้อมูลที่ใช้ในการจัดเก็บข้อมูลที่ผู้ใช้ต้องการ
2) กฎที่เกี่ยวข้องกับการการันตีความสมบูรณ์ของข้อมูล (data integrity) และ
3) วิธีการในการจัดการข้อมูลที่ซึ่งจะสนับสนุนการเปลี่ยนแปลง/เปลี่ยนรูปข้อมูล ตามลำดับ จากที่ได้กล่าวข้างต้น แบบจำลองข้อมูลหน้าที่เสมือนกับเครื่องมือ
ที่ใช้ในการติดต่อสื่อสารระหว่างผู้ออกแบบฐานข้อมูล ผู้เขียนโปรแกรม และผู้ใช้ระบบฐานข้อมูล ถ้าเราสามารถสร้างแบบจำลองข้อมูลที่ดี แบบจำลองนี้จะช่วยเพิ่มความเข้าใจและจะสามารถสะท้อนถึงโครงสร้างที่เหมาะสมสำหรับจัดเก็บข้อมูลตามแนวทางในการดำเนินธุรกิจ (หมายเหตุ ในการออกแบบฐานข้อมูลผู้ออกแบบฐานข้อมูลควรที่จะต้องมีการตัดสินใจที่ดีที่ซึ่งจะช่วยให้สามารถสร้างแบบจำลองฐานข้อมูลที่ดีได้การตัดสินใจที่ดีมักจะได้มาจากการทดลองและการประสบความล้มเหลว ดังนั้น ถ้าเราต้องการที่จะมีการตัดสินใจที่ดี เราจำเป็นที่จะต้องฝึกฝนเกี่ยวกับการออกแบบฐานข้อมูลบ่อยๆเพื่อที่จะได้รับประสบการณ์เพิ่มขึ้นจากการออกแบบฐานข้อมูลในแต่ละครั้ง
2. กฎเกณฑ์ทางธุรกิจ
จากส่วนก่อนหน้า เราสามารถเปรียบการออกแบบฐานข้อมูลได้กับการเลือกหรือการกำหนดเอ็นทิตี้ แอทริบิว และความสัมพันธ์ต่างๆระหว่างเอ็นทิตี้ แต่ก่อนที่จะเริ่มกำหนดสิ่งต่างๆข้างต้น ผู้ออกแบบข้อมูลควร จะเข้าใจเกี่ยวกับชนิดของข้อมูลในองค์กร วิธีในการเรียกใช้ข้อมูล ช่วงเวลาที่มีการเรียกใช้ข้อมูล และยังรวมถึง เข้าใจภาพรวมและวิธีการดำเนินธุรกิจอย่างถ่องแท้ ข้อมูลในฐานข้อมูลจะเป็นข้อมูลที่มีความหมายก็ต่อเมื่อ ข้อมูลเหล่านั้นสามารถสะท้อนถึงกฎเกณฑ์ทางธุรกิจได้อย่างเหมาะสม กฎเกณฑ์ทางธุรกิจมักจะสั้นๆกะทัดรัด และมีคำอธิบายที่ชัดเจนเกี่ยวนโยบาย ขั้นตอน หรือหลักการขององค์กร กฎเกณฑ์ทางธุรกิจที่ถูกกำหนดไว้อย่างถูกต้องและเหมาะสมจะถูกใช้ในการกำหนดส่วนประกอบต่างๆ ของแบบจำลองฐานข้อมูลซึ่งก็คือ เอ็นทิตี้ แอทริบิว ความสัมพันธ์ และข้อจำกัดต่างๆ แต่ในทางกลับกัน เมื่อ เราทำการพิจารณาถึงส่วนประกอบต่างๆในฐานข้อมูล อาทิเช่น ความสัมพันธ์ระหว่างเอ็นทิตี้ พนักงานขาย สามารถดูแลลูกค้าได้หลายคน และลูกค้าจะถูกดูแลโดยพนักงานขายเพียงคนเดียว จะทำให้เราทราบถึง กฎเกณฑ์ทางธุรกิจด้วยเช่นกัน  กฎเกณฑ์ทางธุรกิจที่จะช่วยให้สามารถกำหนดเอ็นทิตี้ แอทริบิว ความสัมพันธ์ และข้อจำกัดได้อย่างมี ประสิทธิภาพจะต้องเข้าใจง่ายและมีการตีความที่เหมือนกัน ดังแสดงในตัวอย่างดังต่อไปนี้
       · ลูกค้าสามารถสั่งซื้อสินค้าได้หลายครั้ง
       · ใบสั่งซื้อสินค้าจะเกิดจากลูกค้าคนหนึ่งๆสั่งซื้อสินค้า
       · การเปิดอบรมจะกระทำได้ก็ต่อเมื่อมีพนักงานเข้าร่วมอยู่ระหว่าง 10 – 30 คน กฎเกณฑ์ทางธุรกิจข้างต้นจะใช้ในการกำหนดเอ็นทิตี้ ความสัมพันธ์ และข้อจำกัดได้ดังนี้
       · สำหรับ 2 กฎเกณฑ์ทางธุรกิจแรกจะสามารถใช้ในการกำหนด 2 เอ็นทิตี้ คือ ลูกค้าและใบสั่งซื้อสินค้า
     · สำหรับกฎเกณฑ์ทางธุรกิจสุดท้ายจะสามารถใช้ในการกำหนด 2 เอ็นทิตี้ คือ พนักงานและการอบรม และยังสามารถใช้กำหนดข้อจำกัดของเอ็นทิตี้การอบรมที่ซึ่งการอบรมครั้งหนึ่งๆจะต้องมีพนักงานเข้า ร่วมระหว่าง 10 – 30 คน ตามลำดับ
3. การปรับเปลี่ยนกฎเกณฑ์ทางธุรกิจไปเป็นส่วนประกอบของแบบจำลองข้อมูล
หลังจากเราได้รับกฎเกณฑ์ทางธุรกิจจากการสัมภาษณ์พนักงานระดับต่างๆในองค์แล้ว ขั้นตอนต่อไป เราจะต้องทำการปรับเปลี่ยนกฎเกณฑ์ทางธุรกิจไปเป็นเอ็นทิตี้ แอทริบิว ความสัมพันธ์ และข้อจำกัดต่างๆ โดย การปรับเปลี่ยนคำนามที่ปรากฏอยู่ในแต่ละกฎทางธุรกิจให้เป็นเอ็นทิตี้ของแบบจำนวนลองข้อมูลและทำการปรับเปลี่ยนคำกริยาที่เกี่ยวข้องกับคำนามที่ปรากฏก่อนหน้าไปเป็นความสัมพันธ์ระหว่างเอนทิตี้ ตัวอย่างเช่น กฎทางธุรกิจ “ลูกค้าคนหนึ่งๆสามารถเขียนใบสั่งของได้หลายใบ” ที่จะประกอบไปด้วย 2 คำนาม คือ ลูกค้าและใบสั่งของ และคำกริยา 1 คำ คือ เขียน ตามลำดับ จากกฎทางธุรกิจดังกล่าว เราสามารถสรุปได้ ว่า
1) ลูกค้าและใบสั่งของจะเป็นวัตถุที่เราสนใจและสามารถปรับเปลี่ยนให้เป็นเอ็นทิตี้ได้ และ
2) “เขียน” จะ เป็นความสัมพันธ์ระหว่างลูกค้ากับใบสั่งสินค้า ในการที่จะระบุถึงความสัมพันธ์ระหว่างเอ็นทิตี้ เราจะต้องทำการพิจารณาความสัมพันธ์ทั้งสองด้าน (bidirectional relationship) ตัวอย่างเช่น กฎทางธุรกิจ “ลูกค้าคนหนึ่งๆสามารถเขียนใบสั่งของได้หลายใบ” จะมีส่วนเติมเต็มอีกกฎทางธุรกิจหนึ่ง คือ “ใบสั่งสินค้าใบหนึ่งๆจะถูกเขียนโดยลูกค้าคนหนึ่งๆเท่านั้น” จากกฎ ทางธุรกิจทั้งสองจะทำให้เราสามารถพิจารณาความสัมพันธ์ได้ทั้งสองด้านของเอ็นทิตี้ลูกค้าและเอ็นทิตี้ใบสั่งได้ โดยรูปแบบความสัมพันธ์จะเป็นแบบ 1:M ด้วยเหตุนี้ การระบุถึงความสัมพันธ์ระหว่าง 2 เอ็นทิตี้ A และ B ใดๆก็ตาม เราควรที่จะต้องตั้งคำถาม 2 คำถาม คือ 1) มีข้อมูลในเอ็นทิตี้ A เป็นจ านวนเท่าไร ที่มีความสัมพันธ์ กับข้อมูลหนึ่งๆในเอ็นทิตี้ B ? และ 2) ข้อมูลในเอ็นทิตี้ B เป็นจ านวนเท่าไร ที่มีความสัมพันธ์กับข้อมูลหนึ่งๆใน เอ็นทิตี้ A ? ตามลำดับ
4. การตั้งชื่อ
ระหว่างการปรับเปลี่ยนกฎเกณฑ์ทางธุรกิจให้เป็นเอ็นทิตี้แอทริบิว ความสัมพันธ์ และข้อจ ากัดต่างๆ ขั้นตอนการทำงานจะรวมถึงขั้นตอนการตั้งชื่อวัตถุต่างๆที่ซึ่งจะทำให้วัตถุที่เราทำการพิจารณามีความเป็น เอกลักษณ์และแตกต่างจากวัตถุอื่นๆในขอบเขตของปัญหาที่เราพิจารณา ดังนั้น เราควรจะต้องเอาใจใส่กับ วิธีการในการตั้งชื่อวัตถุต่างๆที่เราจะทำการพิจารณาชื่อของเอ็นทิตี้ควรจะสามารถอธิบายได้ถึงวัตถุที่เราสนใจและควรที่จะใช้คำศัพท์ที่ผู้งานระบบ ฐานข้อมูลคุ้นเคย ในส่วนของการตั้งชื่อแอทริบิวก็ควรที่จะสามารถอธิบายได้ถึงข้อมูลเช่นกัน โดยเราอาจทำการตั้งชื่อด้วยคำนำหน้าของแอทริบิวหรือคำย่อของแอทริบิวนั้นๆ ตัวอย่างเช่น ในเอ็นทิตี้ CUSTOMER จะมี ข้อมูลที่บ่งบอกถึงเครดิตที่ลูกค้าได้รับ (customer’s credit limit) ดังนั้น เราอาจทำการตั้งชื่อด้วยการนำคำนำหน้าของเอ็นทิตี้มารวมกับข้อมูลหลักที่สำคัญได้เป็น “CUS_CREDIT_LIMIT” ที่ซึ่งจะทำให้เราสามารถ เข้าใจความหมายได้โดยง่าย การตั้งชื่อที่เหมาะสมจะเป็นการช่วยพัฒนาให้แบบจำลองที่เราสร้างขึ้นมี ความสามารถในการสื่อสารกันระหว่างผู้ออกแบบฐานข้อมูล ผู้เขียนโปรแกรม และผู้ใช้ระบบฐานข้อมูลได้ดี ยิ่งขึ้น
5. วิวัฒนาการของแบบจำลองข้อมูล
การค้นหาวิธีการในการจัดการข้อมูลที่ดีจะนำไปสู่การพัฒนาแบบจำลองข้อมูลที่หลากหลายที่ซึ่งจะมี วัตถุประสงค์ที่จะพัฒนาข้อบกพร่องของระบบแฟ้มข้อมูล โดยในการศึกษาเกี่ยวกับแบบจำลองข้อมูลเหล่านี้จะ ทำให้เราทราบถึงชนิดของโครงสร้างที่มีการประยุกต์ใช้ รวมถึงเทคโนโลยีที่ใช้ในการสร้างโครงสร้างเหล่านั้น แบบจำลองข้อมูลที่จะทำการศึกษาจะเป็นแบบจำลองที่มีลักษณะเป็นแผนภาพเช่นเดียวกับแบบจำลองฐานข้อมูล ดังนั้นเราจะทำการศึกษาแบบจำลองต่างๆที่สำคัญ ดังรูป



6. แบบจำลองแบบลำดับชั้นและแบบจำลองแบบเครือข่าย
แบบจำลองแบบลำดับชั้น (hierarchical model) ถูกพัฒนาขึ้นในยุค 1960 เพื่อจัดการกับข้อมูล ปริมาณมากๆของโครงการผลิตที่มีความซับซ้อน อาทิ เช่น จรวด อพอลโลที่ลงจอดบนดวงจันทร์ในปี 1969 โครงสร้างพื้นฐานของแบบจำลองแบบลำดับชั้นจะสามารถแสดงได้ด้วย upside-down tree และโครงสร้าง ลำดับชั้นจะประกอบด้วยลำดับชั้นต่างๆ (level หรือ segment) ที่ซึ่งจะเหมือนกับชนิดของเรคคอร์ดในระบบ แฟ้มข้อมูล โดยลำดับชั้นหนึ่งๆอาจประกอบไปด้วยหลาย segment ที่ซึ่ง segment ที่อยู่ระดับบนจะถูก เรียกว่า parent แต่ segment ที่อยู่ถัดลงมาจะเรียกว่า children ของ parent (หมายเหตุ parent หนึ่งๆ สามารถมีได้หลาย child แต่ในทางกลับกัน child หนึ่งๆจะสามารถมีได้เพียง parent เดียว) ดังรูป





7. แบบจำลองข้อมูลเชิงสัมพันธ์
แบบจำลองข้อมูลเชิงสัมพันธ์ (relational model) ถูกพัฒนาขึ้นโดย E. F. Codd ในช่วงทศวรรษ 1970 ที่ซึ่งจะสามารถลดปัญหาและอุปสรรคของการสื่อสารระหว่างผู้ออกแบบและผู้ใช้งานระบบฐานข้อมูล โดยแนวความคิดพื้นฐานของแบบจำลองข้อมูลเชิงสัมพันธ์จะเป็นแนวคิดทางคณิตศาสตร์เรื่องความสัมพันธ์ (relation) ที่ซึ่งเราสามารถพิจารณาความสัมพันธ์เป็นเมทริกซ์หรือตารางของข้อมูลที่ประกอบไปด้วยการ รวมกันระว่างแถว (rows) และ คอลัมน์ (columns) แต่ละแถวของตารางจะถูกเรียกว่า tuple และแต่ละ คอลัมน์จะถูกแทนด้วยแอทริบิวต่างๆ การสร้างแบบจำลองข้อมูลเชิงสัมพันธ์จะสามารถดำเนินการผ่านระบบจัดการฐานข้อมูลเชิงสัมพันธ์ (relational database management system, RDBMS) ที่ซึ่งจะมีความซับซ้อนค่อนข้างสูง RDBMS จะสามารถดำเนินการฟังก์ชั่นพื้นฐานได้เหมือนกับระบบจัดการฐานข้อมูลแบบลำดับชั้นและแบบเครือข่าย แต่ RDBMS จะมีการเพิ่มเติมประโยชน์ที่ค่อนข้างสำคัญ คือ ความสามารถในการปิดบังความซับซ้อนของ แบบจำลองข้อมูลเชิงสัมพันธ์จากผู้ใช้งานฐานข้อมูล โดย RDBMS จะจัดการเกี่ยวกับการท างานเชิงกายภาพ ทั้งหมด (ขั้นตอนการจัดเก็บและเรียกดูข้อมูลทั้งหมด) ที่ซึ่งจะทำให้ผู้ใช้งานจะมองเห็นฐานข้อมูลเชิงสัมพันธ์ เป็นเพียงกลุ่มของตารางข้อมูลที่ใช้ในการจัดเก็บข้อมูลเท่านั้น และเมื่อไรก็ตามที่ผู้ใช้ต้องการที่จะดำเนินการ กับข้อมูล ไม่ว่าจะเป็นการเพิ่ม ลบ และแก้ไขข้อมูล ก็จะสามารถทำได้โดยง่ายผ่านการเรียกใช้คิวรี
8. แบบจำลองข้อมูลความสัมพันธ์เอ็นทิตี้
ถึงแม้ว่าแบบจำลองข้อมูลเชิงสัมพันธ์จะถูกพัฒนาเพื่อปรับปรุงการท างานของแบบจำลองแบบลำดับ ชั้นและแบบเครือข่าย แต่อย่างไรก็ตามแบบจำลองข้อมูลเชิงสัมพันธ์ยังขาดเค้าโครงที่จะทำให้การสร้าง เครื่องมือสำหรับออกแบบฐานข้อมูลได้อย่างมีประสิทธิภาพ และด้วยเนื่องจากการแสดงโครงสร้างของ แบบจำลองด้วยแผนภาพจะทำให้ผู้ออกแบบและผู้ใช้งานฐานข้อมูลสามารถเข้าใจแบบจำลองข้อมูลได้ง่ายกว่า การใช้ตัวอักษร ด้วยเหตุนี้แบบจำลองความสัมพันธ์เอ็นทิตี้ (entity relationship (ER) model, ERM) ได้ถูก คิดค้นและถูกใช้เป็นภาษาฐานในการสร้างแบบจำลองข้อมูลสำหรับการออกแบบฐานข้อมูล แบบจำลองความสัมพันธ์เอ็นทิตี้ถูกคิดค้นในปี 1976 โดย Peter Chen ที่ซึ่งจะใช้แผนภาพในการ แสดงถึงเอ็นทีตี้และความสัมพันธ์ต่างๆในโครงสร้างของฐานข้อมูล แบบจำลองความสัมพันธ์จะมักจะแสดงอยู่ ในรูปของแผนผังความสัมพันธ์เอ็นทีตี้ (entity relationship diagram, ERD) ที่ซึ่งจะเป็นแผนภาพที่จะแสดง ส่วนประกอบต่างๆของแบบจำลองข้อมูล แบบจำลองความสัมพันธ์เอ็นทิตี้จะประกอบไปด้วย 2 ส่วน คือ
         · เอ็นทิตี้—จะเป็นส่วนที่ใช้สำหรับจัดเก็บข้อมูล เอ็นทิตี้ใน ERD จะถูกแสดงด้วยสี่เหลี่ยมและชื่อของ เอ็นทิตี้มักจะถูกเขียนด้วยตัวอักษรใหญ่อยู่ตรงกลางสี่เหลี่ยม แต่ละเอ็นทิตี้จะสามารถอธิบายได้ด้วย เซตของแอทริบิวที่บ่งบอกถึงคุณลักษณะของเอ็นทิตี้นั้นๆ ตัวอย่างเช่น เอ็นทิตี้พนักงานจะมีแอทริบิว รหัสพนักงาน หมายเลขบัตรประชาชน ชื่อ และนามสกุลเป็นคุณลักษณะหรือข้อมูลที่บ่งบอกถึงตัวตน ของพนักงานคนหนึ่งๆ เมื่อเราทำการประยุกต์ใช้ ERD เอ็นทิตี้จะแสดงถึงตารางข้อมูลที่มีการ เชื่อมโยงความสัมพันธ์ โดยแต่ละแถวในตารางจะเป็นค่าข้อมูลจริง (entity instance หรือ entity occurrence)
        · ความสัมพันธ์จะเป็นสิ่งที่ใช้อธิบายเกี่ยวกับความสัมพันธ์หรือการเชื่อมโยงกันของข้อมูล ความสัมพันธ์ส่วนใหญ่จะใช้ในการอธิบายความสัมพันธ์ของ 2 เอ็นทีตี้ที่ซึ่งจะแสดงผ่านความสัมพันธ์ ทั้งแบบ one-to-many (1:M), many-to-many (M:M) และ one-to-one (1:1) ตามลำดับ ใน แบบจำลองข้อมูลความสัมพันธ์เอ็นทิตี้จะมีการกำหนดชื่อความสัมพันธ์เพื่อแสดงถึงการกระทำ (action) ที่เป็นตัวกลางในการเชื่อมโยงความสัมพันธ์ของเอ็นทิตี้ต่างๆ ตัวอย่างเช่น จิตรกรเขียนภาพ พนักงานเรียนรู้ทักษะต่างๆ หรือ พนักงานจัดการร้านค้าสาขาต่างๆ เป็นต้น
จากส่วนประกอบทั้ง 2 ของแบบจำลองข้อมูลความสัมพันธ์เอ็นทิตี้เป็นเหตุให้Chen และ Crow’s Foot ได้คิดค้นวิธีในการแสดงความสัมพันธ์ระหว่างเอ็นทิตี้ ดังแสดงในรูปที่ 2.6 ทางฝั่งซ้ายของรูปจะเป็น แผนผังความสัมพันธ์เอ็นทีตี้ที่ถูกคิดค้นโดย Chen ที่ซึ่งเอ็นทิตี้จะถูกเขียนอยู่ในสี่เหลี่ยม และความสัมพันธ์ที่ เชื่อมโยงระหว่างเอ็นทีตี้จะถูกเขียนอยู่ในสี่เหลี่ยมคางหมูที่เชื่อมต่อเส้นตรงเข้าหาเอ็นทิตี้ที่มีความสัมพันธ์กัน นอกจากนั้นยังมีการใช้ตัวอักษร 1 (one) และ M (many) ในการแสดงถึงลักษณะของความสัมพันธ์ ในส่วน ของฝั่งขวาของรูปจะเป็นแผนผังความสัมพันธ์เอ็นทีตี้ที่ถูกคิดค้นโดย Crow’s Foot ที่ซึ่งเอ็นทิตี้จะถูกเขียนอยู่ ในสี่เหลี่ยมเช่นกัน แต่ในการแสดงถึงความสัมพันธ์ระหว่างเอ็นทิตี้จะใช้เส้นตรงเชื่อมกับเอ็นทิตี้ที่มี ความสัมพันธ์กัน โดยชื่อของความสัมพันธ์จะถูกเขียนอยู่ข้างบนเส้น และจะใช้เส้นตรงคาดเส้นความสัมพันธ์ 1 เส้นเพื่อแสดงถึง 1 (one) และใช้สัญลักษณ์สามแฉกเพื่อแสดงถึง M (many) ดังรูป





9. แบบจำลองข้อมูลเชิงวัตถุ
แบบจำลองข้อมูลเชิงวัตถุ (object-oriented data model, OODM) จะทำการจัดเก็บข้อมูลและ ความสัมพันธ์ต่างๆของข้อมูล ไว้ใน object ในการจัดเก็บข้อมูลต่างๆ OODM จะทำการประยุกต์ใช้ระบบ จัดการฐานข้อมูลเชิงวัตถุ (object-oriented database management system, OODBMS) ที่ซึ่งจะทำให้ เราสามารถจัดเก็บและเรียกดูข้อมูลได้อย่างสะดวกและรวดเร็ว OODM จะมีแนวทางในการกำหนดและใช้เอ็นทิตี้ที่แตกต่างจากแบบจำลองข้อมูลอื่นๆ โดย object หนึ่งๆจะถูกอธิบายได้ด้วยข้อเท็จจริงหนึ่งๆ และยังทำการจัดเก็บความสัมพันธ์ระหว่าง object ที่พิจารณากับ object อื่นๆอีกด้วย โดยการจัดเก็บข้อเท็จจริงใน object จะทำให้เราทราบถึงความหมายได้มากขึ้นและ สามารถแสดงถึงข้อมูลที่มีความซับซ้อนได้มากขึ้นด้วยเช่นกัน ด้วยเหตุนี้เราจึงได้สามารถกล่าวได้ว่า OODM จะเป็นแบบจำลองข้อมูลที่แสดงความหมาย (semantic data model) เนื่องจากการที่เราได้รับทราบ ความหมายที่มากขึ้นนั่นเอง นอกจากนั้น OODM ได้มีการพัฒนาให้ object หนึ่งๆสามารถบรรจุไปด้วยการ ดำเนินการทั้งหมดที่สามารถเกิดขึ้นได้กับ object ได้แบบจำลองเชิงวัตถุจะประกอบไปด้วยส่วนย่อยต่างๆ ดังนี้
            · Object จะคล้ายคลึงกับเอ็นทิตี้ในแบบจำลองข้อมูลต่างๆ แต่ object หนึ่งๆจะใช้ในการแสดงถึง การเกิดขึ้นครั้งหนึ่งๆของข้อมูล (one occurrence/instance) ในเอ็นทิตี้เท่านั้น
         · แอทริบิว จะเป็นสิ่งที่ใช้อธิบายคุณลักษณะของ object ตัวอย่างเช่น object ของบุคคลหนึ่งๆ (Person) อาจประกอบไปด้วยแอทริบิว รหัสประจำตัวประชาชน ชื่อ-สกุล ที่อยู่ และ วันเกิด เป็นต้น
           · คลาส (Class) จะเป็นกลุ่มของ objects ที่มีความเหมือนกันในแอทริบิว เราสามารถพิจารณาได้ว่า คลาสหนึ่งๆจะมีลักษณะเหมือนกับเอ็นทิตี้ในแบบจำลองข้อมูลเชิงสัมพันธ์ แต่คลาสจะมีความ แตกต่างจากเอ็นทิตี้ตรงคลาสหนึ่งๆจะมีการจัดเก็บ method รวมอยู่ด้วย ภายใต้แบบจำลองเชิงวัตถุ method จะถูกพิจารณาเป็นพฤติกรรมของ object (object’s behavior) โดย method ในคลาส จะเป็นการดำเนินต่างๆกับ object ในคลาสนั้นๆ ตัวอย่างเช่น การเลือกชื่อของบุคคล การเปลี่ยนชื่อ บุคคล การพิมพ์ที่อยู่ของบุคคล เป็นต้น
         · Class hierarchy จะเป็นลำดับชั้นของคลาสที่เกิดจากการจัดลำดับชั้นของคลาสต่างๆ ลำดับชั้น ของคลาสจะมีลักษณะเป็น upside-down tree (คล้ายกับแบบจำลองแบบลำดับชั้น) โดยแต่ละ คลาสจะมีเพียงแค่ parent เดียวเท่านั้น ตัวอย่างเช่น คลาสลูกค้าและพนักงานจะมี parent ที่ เหมือนกันคือ คลาสบุคคล เป็นต้น
          · Inheritance เป็นคุณลักษณะหนึ่งของ object ภายในลำดับชั้นคลาสที่ซึ่งจะทำการเรียกใช้แอทริบิวและ method จากคลาสที่อยู่เหนือขึ้นไปจากคลาสที่เราทำการพิจารณา ตัวอย่างเช่น คลาสลูกค้า และพนักงานอาจถูกสร้างเป็นคลาสย่อยของคลาสบุคคล ด้วยเหตุนี้ คลาสลูกค้าและพนักงานจะ สามารถเรียกใช้แอทริบิวและ method ของคลาสบุคคลที่เป็น parent (อยู่ตำแหน่งเหนือขึ้นไปในลำดับชั้นของคลาส) ได้
10. แบบจำลองเชิงสัมพันธ์ที่ถูกพัฒนาเพิ่มเติม
เนื่องจากข้อมูลต่างๆมีความซับซ้อนมากขึ้นตามยุคสมัย ด้วยเหตุนี้จึงทำให้ผู้ผลิตซอร์ฟแวร์ระบบ จัดการฐานข้อมูลมีแนวคิดที่จะพัฒนาขีดความสามารถของแบบจำลองข้อมูลเชิงสัมพันธ์เพิ่มเติม (extended relational data model, ERDM) ที่ซึ่งจะทำการเพิ่มคุณลักษณะบางประการของแบบจำลองเชิงวัตถุเพื่อทำ ให้ฐานข้อมูลเชิงสัมพันธ์สนับสนุนการท างานเชิงวัตถุ เช่น object การขยายชนิดของข้อมูลภายใต้ แนวความคิดของคลาสและ inheritance เป็นต้นจากการพัฒนาข้างต้นจึงเป็นเหตุให้มีผู้คนให้ความสนใจกับระบบจัดการฐานข้อมูลเชิงวัตถุ/สัมพันธ์ (object/relation database management system, O/R DBMS) มากขึ้น นอกจากนั้น O/R DBMS ยังจะสามารถสนับสนุนการท างานร่วมกับเอกสาร XML (eXtensible Markup Language เป็นมาตราฐานในการแลกเปลี่ยนข้อมูลแบบไม่มีโครงสร้าง กึ่งโครงสร้าง และแบบมี โครงสร้าง ที่ซึ่งจะทำให้เราสามารถเชื่อมต่อระบบที่ใช้กับระบบต่างๆที่มีความแตกต่างทางด้านสถาปัตยกรรม ของระบบได้
11. สรุปเกี่ยวกับแบบจำลองข้อมูล
วิวัฒนาการของระบบจัดการฐานข้อมูลยังคงมีอย่างต่อเนื่อง เนื่องจากยังคงมีความต้องการที่จะมี วิธีการสร้างแบบจำลองใหม่ๆที่ซึ่งสามารถเพิ่มการรองรับข้อมูลที่มีความซับซ้อน โดยบทสรุปของแบบจำลอง ข้อมูลที่ถูกคิดค้นและถูกใช้งานกันอย่างกว้างขวาง
· แบบจำลองข้อมูลจะต้องสามารถแสดงถึงระดับของความง่ายของกรอบความคิดโดยไม่สูญเสียความ ครบถ้วนของความหมายของฐานข้อมูล มันอาจจะไม่ถูกต้องนักถ้าเรามีแบบจำลองข้อมูลที่ให้กรอบ ความคิดที่ค่อนข้างยากกว่าความเป็นจริง
· แบบจำลองจะต้องสามารถให้กรอบความคิดที่ใกล้เคียงความจริงมากที่สุดเท่าที่จะเป็นไปได้ เป้าหมาย นี้จะสามารถทำได้โดยการเพิ่มความหมาย (semantic) ให้กับการแสดงถึงข้อมูลให้มากขึ้น (ความหมายจะเกี่ยวข้องกับพฤติกรรมของข้อมูล)
· การทำการเปลี่ยนแปลง/เปลี่ยนรูปข้อมูลจะต้องเป็นไปตามกฎความสอดคล้องและความสมบูรณ์ของ ข้อมูล
การคิดหรือออกแบบแบบจำลองข้อมูล ณ ปัจจุบันจะมุ่งเน้นที่การแก้ไขจุดด้วยของแบบจำลองก่อน หน้า โดยแบบจำลองข้อมูลแบบเครือข่ายถูกคิดค้นเพื่อแทนที่แบบจำลองข้อมูลแบบลำดับชั้น โดยแบบจำลอง ข้อมูลแบบเครือข่ายจะสามารถทำการปรับเปลี่ยนความสัมพันธ์ที่ซับซ้อนให้มีความง่ายมากขึ้น ในทางกลับกัน แบบจำลองข้อมูลเชิงสัมพันธ์จะมีประโยชน์ที่มากกว่าแบบจำลองแบบเครือข่ายในหลายๆแง่มุม เช่น การแสดง ข้อมูลด้วยวิธีการที่ง่าย การลดทอนความไม่สอดคล้องของข้อมูล และการประยุกต์ใช้ภาษาคิวรีในการเข้าถึง และจัดการกับข้อมูล แบบจำลองเชิงวัตถุได้ถูกพัฒนาขึ้นเพื่อจัดการกับข้อมูลที่มีความซับซ้อนภายใต้ แนวความคิดของการจัดการเกี่ยวกับความหมายของข้อมูล ขณะที่แบบจำลองความสัมพันธ์เชิงวัตถุจะเป็น แบบจำลองข้อมูลเชิงสัมพันธ์ที่มีการเพิ่มเติมแนวความคิดเชิงวัตถุ ที่ซึ่งจะช่วยให้สามารถจัดการกับข้อมูลที่มี ความซับซ้อนได้และยังสามารถสนับสนุนการท างานร่วมกับ XML ได้อีกด้วย






ไม่มีความคิดเห็น:

แสดงความคิดเห็น