หัวข้อ
- #การสร้างแบบจำลองข้อมูลเชิงแนวคิด
- #ฐานข้อมูล
- #การสร้างแบบจำลองข้อมูลเชิงสัมพันธ์
สร้าง: 2024-04-08
สร้าง: 2024-04-08 04:00
การสร้างแบบจำลองข้อมูลเชิงแนวคิด (Conceptual Data Modeling) คือ กระบวนการแยกข้อมูลที่เกี่ยวข้องออกเป็นหน่วยเอนทิตี (Entity) และแสดงความสัมพันธ์ระหว่างเอนทิตีเหล่านั้นโดยใช้ ERD
เอนทิตี (Entity) หมายถึง สิ่งใดก็ตามที่มีอยู่จริง เป็นอิสระ และสามารถจัดเก็บข้อมูลได้
นอกจากนี้ คุณลักษณะ (Attribute) หมายถึง ข้อมูลที่เอนทิตีมีอยู่
ตัวอย่างเช่น ครูและนักเรียนในโรงเรียนเป็นไปตามเงื่อนไขข้างต้น
โดยที่ครูเป็นเอนทิตีที่มีข้อมูล เช่น ชื่อ อายุ วิชาเรียน ฯลฯ และนักเรียนก็เป็นเอนทิตีที่มีข้อมูล เช่น ชื่อ ชั้นเรียน อายุ เลขประจำตัวนักเรียน ฯลฯ
ในที่นี้ เอนทิตีที่แยกออกจากกันจะกลายเป็นตารางในฐานข้อมูลเชิงสัมพันธ์ในกระบวนการสร้างแบบจำลองข้อมูลเชิงตรรกะ (Logical Data Modeling) และคุณลักษณะจะกลายเป็นคอลัมน์ของตารางนั้น
ประเทศไทยใช้ระบบเลขประจำตัวประชาชนเพื่อระบุตัวตนของประชาชนแต่ละคนโดยเฉพาะ
ในกรณีนี้ เลขประจำตัวประชาชนของประชาชนเป็นตัวระบุที่บ่งบอกว่าบุคคลนั้นเป็นใคร
เลขประจำตัวประชาชนใช้เพื่อระบุตัวตนของบุคคลหนึ่งคนโดยเฉพาะ ดังนั้นจึงไม่ซ้ำกับบุคคลอื่น
เมื่อแสดงเอนทิตีด้วย ERD ก็ต้องกำหนดตัวระบุเพื่อให้สามารถตรวจสอบข้อมูลที่เกี่ยวข้องได้อย่างเฉพาะเจาะจง
ในที่นี้ ตัวระบุที่กำหนดจะกลายเป็น คีย์หลัก (Primary Key) ในกระบวนการสร้างแบบจำลองข้อมูลเชิงตรรกะ
หากไม่มีคุณลักษณะเฉพาะที่สามารถกำหนดเป็นตัวระบุได้อย่างเป็นธรรมชาติ ก็จะใช้ คีย์เทียม (Artificial Key)
แต่คีย์ที่สร้างขึ้นเองนั้นโดยทั่วไปจะใช้กันอย่างแพร่หลายเนื่องจากไม่มีความเสี่ยงที่จะเปลี่ยนแปลงในทุกสถานการณ์
คุณลักษณะทั้งหมดในเอนทิตีที่สามารถใช้เป็นตัวระบุได้เรียกว่า คีย์ผู้สมัคร (Candidate Key) และ
คุณลักษณะอื่นๆ นอกเหนือจากคีย์หลักที่สามารถใช้เป็นตัวระบุได้เรียกว่า คีย์สำรอง (Alternate Key)
และคีย์สำรองเหล่านี้เหมาะสำหรับการสร้างดัชนีเพื่อปรับปรุงประสิทธิภาพ
นอกจากนี้ ในเอนทิตีที่แสดงถึงความสัมพันธ์ระหว่างแผนกและพนักงาน เช่น แผนกและเลขที่พนักงาน อาจใช้เป็นคีย์ร่วมกันได้ ซึ่งเรียกว่า คีย์ประกอบ (Composite Key)
ความสัมพันธ์ (Relationship) หมายถึง ปฏิสัมพันธ์ระหว่างเอนทิตี และความสัมพันธ์สามารถแบ่งออกเป็นความสัมพันธ์ที่เกิดจากการมีอยู่ (Existence) และความสัมพันธ์ที่เกิดจากการกระทำ (Action)
ตัวอย่างเช่น ในบริษัท พนักงานไม่สามารถมีอยู่ได้หากไม่มีแผนก ดังนั้นจึงเป็นความสัมพันธ์ที่เกิดจากการมีอยู่
พนักงานสามารถย้ายแผนกได้โดยการยื่นคำขอ ในกรณีนี้เป็นความสัมพันธ์ที่เกิดจากการกระทำ
ความสัมพันธ์นี้จะแสดงในกระบวนการสร้างแบบจำลองข้อมูลเชิงตรรกะเป็น คีย์ต่างประเทศ (Foreign Key), การรวม (Join) เป็นต้น
การ์ดิแนลลิตี้ (Cardinality) คือ ความสัมพันธ์ระหว่างเอนทิตีหนึ่งกับเอนทิตีอื่น ซึ่งแสดงถึงความสัมพันธ์เชิงปริมาณระหว่างกัน
สามารถแสดงความสัมพันธ์ระหว่างเอนทิตีแต่ละรายการเป็น 1:1 (หนึ่งต่อหนึ่ง) 1:N (หนึ่งต่อหลาย) N:M (หลายต่อหลาย) เป็นต้น
ในบรรดาความสัมพันธ์ข้างต้น ความสัมพันธ์ N:M ไม่สามารถแสดงในฐานข้อมูลเชิงสัมพันธ์ได้ ดังนั้นจึงต้องสร้างตารางกลางเพื่อแสดง
ตัวอย่างเช่น ระบบแสดงความคิดเห็น แต่ละความคิดเห็นต้องมีผู้เขียนเพียงคนเดียว แต่ผู้เขียนสามารถเลือกที่จะไม่เขียนความคิดเห็นก็ได้
ในกรณีนี้ จะมีความสัมพันธ์ ผู้เขียน (Mandatory) - ความคิดเห็น (Optional)
สิ่งที่จำเป็นเรียกว่า Mandatory และตัวเลือกที่ไม่บังคับเรียกว่า Optional
กล่าวคือ แสดงถึงว่าอินสแตนซ์ของเอนทิตีต้องมีข้อมูลนั้นหรือไม่ หรือสามารถเลือกที่จะมีหรือไม่มีก็ได้
ความคิดเห็น0