แบบจำลองความสัมพันธ์ระหว่างเอนทิตี

แบบจำลองความสัมพันธ์ระหว่างเอนทิตี (หรือแบบจำลอง ER ) อธิบายถึงสิ่งต่างๆ ที่เกี่ยวข้องกันในขอบเขตความรู้เฉพาะด้าน แบบจำลอง ER พื้นฐานประกอบด้วยประเภทของเอนทิตี (ซึ่งจำแนกสิ่งต่างๆ ที่สนใจ) และระบุความสัมพันธ์ที่สามารถเกิดขึ้นได้ระหว่างเอนทิตี (อินสแตนซ์ของประเภทเอนทิตีเหล่านั้น)
ในวิศวกรรมซอฟต์แวร์โมเดล ER มักถูกสร้างขึ้นเพื่อแสดงสิ่งที่ธุรกิจจำเป็นต้องจดจำเพื่อดำเนินการตามกระบวนการทางธุรกิจดังนั้น โมเดล ER จึงกลายเป็นโมเดลข้อมูลนามธรรม[ 1 ]ที่กำหนดโครงสร้างข้อมูลหรือสารสนเทศที่สามารถนำไปใช้ในฐานข้อมูลซึ่งโดยทั่วไปคือฐานข้อมูลเชิงสัมพันธ์
การสร้างแบบจำลองความสัมพันธ์ระหว่างเอนทิตีได้รับการพัฒนาสำหรับฐานข้อมูลและการออกแบบโดยPeter Chenและตีพิมพ์ในเอกสารปี 1976 [ 2 ]โดยมีแนวคิดรูปแบบต่างๆ ที่มีอยู่ก่อนหน้านั้น[ 3 ]ปัจจุบันมีการใช้กันอย่างแพร่หลายในการสอนนักเรียนเกี่ยวกับพื้นฐานของโครงสร้างฐานข้อมูล แบบจำลอง ER บางแบบแสดงเอนทิตีระดับบนและระดับล่างที่เชื่อมต่อกันด้วยความสัมพันธ์แบบทั่วไป-เฉพาะเจาะจง[ 4 ]และแบบจำลอง ER ยังสามารถใช้เพื่อระบุ ออน โทโลยี เฉพาะโดเมน ได้ อีกด้วย
การแนะนำ
แบบจำลอง ER มักเกิดจากการวิเคราะห์อย่างเป็นระบบเพื่อกำหนดและอธิบายข้อมูลที่สร้างขึ้นและจำเป็นสำหรับกระบวนการในพื้นที่ธุรกิจ โดยทั่วไปแล้ว จะแสดงบันทึกของเอนทิตีและเหตุการณ์ที่ได้รับการตรวจสอบและกำกับโดยกระบวนการทางธุรกิจ มากกว่าตัวกระบวนการเอง โดยปกติจะวาดในรูปแบบกราฟิกเป็นกล่อง ( เอนทิตี ) ที่เชื่อมต่อกันด้วยเส้น ( ความสัมพันธ์ ) ซึ่งแสดงถึงความเชื่อมโยงและการพึ่งพาซึ่งกันและกันระหว่างเอนทิตี นอกจากนี้ยังสามารถแสดงในรูปแบบคำพูดได้ เช่นอาคารหนึ่งหลังอาจแบ่งออกเป็นอพาร์ตเมนต์ศูนย์ห้องหรือมากกว่านั้น แต่อพาร์ตเมนต์หนึ่งห้องสามารถตั้งอยู่ในอาคารเดียวเท่านั้น[ 5 ]
เอนทิตีอาจถูกกำหนดไม่เพียงแค่ด้วยความสัมพันธ์เท่านั้น แต่ยังรวมถึงคุณสมบัติเพิ่มเติม ( แอตทริบิวต์ ) ซึ่งรวมถึงตัวระบุที่เรียกว่า "คีย์หลัก" แผนภาพที่สร้างขึ้นเพื่อแสดงแอตทริบิวต์ ตลอดจนเอนทิตีและความสัมพันธ์ อาจเรียกว่าแผนภาพเอนทิตี-แอตทริบิวต์-ความสัมพันธ์ แทนที่จะเป็นแบบจำลองเอนทิตี-ความสัมพันธ์[ 6 ]
โดยทั่วไปแล้ว โมเดล ER จะถูกนำไปใช้ในรูปแบบของฐานข้อมูลในการใช้งานฐานข้อมูลเชิงสัมพันธ์แบบง่ายๆ แต่ละแถวในตารางจะแสดงถึงอินสแตนซ์หนึ่งของประเภทเอนทิตี และแต่ละคอลัมน์ในตารางจะแสดงถึงประเภทแอตทริบิวต์ ในฐานข้อมูลเชิงสัมพันธ์ความสัมพันธ์ระหว่างเอนทิตีจะถูกสร้างขึ้นโดยการจัดเก็บคีย์หลักของเอนทิตีหนึ่งเป็นตัวชี้หรือ "คีย์นอก" ในตารางของเอนทิตีอื่น
ตามธรรมเนียมแล้ว การสร้างแบบจำลอง ER/ข้อมูล มักทำที่ระดับนามธรรมสองหรือสามระดับ ลำดับชั้นเชิงแนวคิด-ตรรกะ-กายภาพด้านล่างนี้ ถูกนำมาใช้ในข้อกำหนดประเภทอื่นๆ และแตกต่างจากแนวทางสามแบบแผนในวิศวกรรมซอฟต์แวร์
- แบบจำลองข้อมูลเชิงแนวคิด
- นี่คือแบบจำลอง ER ระดับสูงสุด เนื่องจากมีรายละเอียดน้อยที่สุด แต่กำหนดขอบเขตโดยรวมของสิ่งที่จะรวมอยู่ในชุดแบบจำลอง แบบจำลอง ER เชิงแนวคิดโดยปกติจะกำหนดเอนทิตีข้อมูลอ้างอิงหลักที่องค์กรใช้กันทั่วไป การพัฒนาแบบจำลอง ER เชิงแนวคิดระดับองค์กรมีประโยชน์ในการสนับสนุนการจัดทำเอกสารสถาปัตยกรรมข้อมูลสำหรับองค์กร
- แบบจำลอง ER เชิงแนวคิดอาจใช้เป็นพื้นฐานสำหรับแบบจำลองข้อมูลเชิงตรรกะ หนึ่งแบบหรือมากกว่า (ดูด้านล่าง) วัตถุประสงค์ของแบบจำลอง ER เชิงแนวคิดคือการสร้าง ความเหมือนกันของเมตา เดต้า เชิงโครงสร้าง สำหรับ เอนทิตี ข้อมูลหลักระหว่างชุดของแบบจำลอง ER เชิงตรรกะ แบบจำลองข้อมูลเชิงแนวคิดอาจใช้เพื่อสร้างความสัมพันธ์ร่วมกันระหว่างแบบจำลอง ER เพื่อเป็นพื้นฐานสำหรับการบูรณาการแบบจำลองข้อมูล
- แบบจำลองข้อมูลเชิงตรรกะ
- แบบจำลอง ER เชิงตรรกะไม่จำเป็นต้องมีแบบจำลอง ER เชิงแนวคิด โดยเฉพาะอย่างยิ่งหากขอบเขตของแบบจำลอง ER เชิงตรรกะครอบคลุมเฉพาะการพัฒนาระบบสารสนเทศที่เฉพาะเจาะจงเท่านั้น แบบจำลอง ER เชิงตรรกะมีรายละเอียดมากกว่าแบบจำลอง ER เชิงแนวคิด นอกเหนือจากเอนทิตีข้อมูลหลักแล้ว ยังมีการกำหนดเอนทิตีข้อมูลการดำเนินงานและธุรกรรมด้วย รายละเอียดของแต่ละเอนทิตีข้อมูลได้รับการพัฒนา และมีการสร้างความสัมพันธ์ระหว่างเอนทิตีข้อมูลเหล่านี้ อย่างไรก็ตาม แบบจำลอง ER เชิงตรรกะได้รับการพัฒนาอย่างอิสระจากระบบจัดการฐานข้อมูล เฉพาะ ที่สามารถนำไปใช้ได้
- แบบจำลองข้อมูลทางกายภาพ
- อาจมีการพัฒนารูปแบบ ER ทางกายภาพอย่างน้อยหนึ่งรูปแบบจากแต่ละรูปแบบ ER เชิงตรรกะ โดยปกติแล้วรูปแบบ ER ทางกายภาพจะถูกพัฒนาขึ้นเพื่อนำไปใช้เป็นฐานข้อมูล ดังนั้นแต่ละรูปแบบ ER ทางกายภาพจึงต้องมีรายละเอียดเพียงพอที่จะสร้างฐานข้อมูลได้ และแต่ละรูปแบบ ER ทางกายภาพก็ขึ้นอยู่กับเทคโนโลยี เนื่องจากระบบจัดการฐานข้อมูลแต่ละระบบมีความแตกต่างกันบ้าง
- แบบจำลองทางกายภาพมักถูกสร้างขึ้นในเมตาเดตาเชิงโครงสร้างของระบบจัดการฐานข้อมูลในรูปแบบของวัตถุฐานข้อมูลเชิงสัมพันธ์ เช่นตารางฐานข้อมูลดัชนีฐานข้อมูลเช่น ดัชนี คีย์เฉพาะและข้อจำกัดของฐานข้อมูล เช่นข้อจำกัดคีย์ต่างประเทศหรือข้อจำกัดความเหมือนกัน นอกจากนี้ แบบจำลอง ER ยังมักใช้ในการออกแบบการปรับเปลี่ยนวัตถุฐานข้อมูลเชิงสัมพันธ์ และในการบำรุงรักษาเมตาเดตาเชิงโครงสร้างของฐานข้อมูลด้วย
ขั้นตอนแรกของ การออกแบบ ระบบสารสนเทศจะใช้แบบจำลองเหล่านี้ในระหว่างการวิเคราะห์ความต้องการเพื่ออธิบายความต้องการข้อมูลหรือประเภทของข้อมูลที่จะจัดเก็บในฐานข้อมูลเทคนิคการสร้างแบบจำลองข้อมูลสามารถใช้เพื่ออธิบายออนโทโลยี ใดๆ (เช่น ภาพรวมและการจำแนกประเภทของคำที่ใช้และความสัมพันธ์ของคำเหล่านั้น) สำหรับพื้นที่ที่สนใจ เฉพาะ ในกรณีของการออกแบบระบบสารสนเทศที่ใช้ฐานข้อมูลแบบจำลองข้อมูลเชิงแนวคิด จะถูกแมปไปยัง แบบจำลองข้อมูลเชิงตรรกะเช่นแบบจำลองเชิงสัมพันธ์ในขั้นตอนต่อมา (โดยปกติเรียกว่าการออกแบบเชิงตรรกะ) ซึ่งในทางกลับกันจะถูกแมปไปยังแบบจำลองทางกายภาพในระหว่างการออกแบบทางกายภาพ บางครั้งทั้งสองขั้นตอนนี้เรียกว่า "การออกแบบทางกายภาพ"
ส่วนประกอบ




เอนทิตีอาจถูกนิยามว่าเป็นสิ่งที่สามารถดำรงอยู่ได้อย่างอิสระ สามารถระบุได้อย่างเฉพาะเจาะจง และสามารถจัดเก็บข้อมูลได้[ 7 ]เอนทิตีเป็นนามธรรมจากความซับซ้อนของโดเมน เมื่อเราพูดถึงเอนทิตี เรามักจะพูดถึงบางแง่มุมของโลกแห่งความเป็นจริงที่สามารถแยกแยะออกจากแง่มุมอื่นๆ ของโลกแห่งความเป็นจริงได้[ 8 ]
เอนทิตี คือสิ่งที่มีอยู่จริงไม่ว่าจะในเชิงกายภาพหรือเชิงตรรกะ เอนทิตีอาจเป็นวัตถุทางกายภาพ เช่น บ้านหรือรถยนต์ (มีอยู่จริงในเชิงกายภาพ) เหตุการณ์ เช่น การขายบ้านหรือการซ่อมบำรุงรถยนต์ หรือแนวคิด เช่น การทำธุรกรรมหรือคำสั่งซื้อของลูกค้า (มีอยู่จริงในเชิงตรรกะ—ในฐานะแนวคิด) แม้ว่าคำว่า เอนทิตี จะเป็นคำที่ใช้กันทั่วไปมากที่สุด แต่ตามแนวคิดของเฉินแล้ว ควรแยกแยะความแตกต่างระหว่างเอนทิตีและประเภทของเอนทิตี ประเภทของเอนทิตีคือหมวดหมู่ ส่วนเอนทิตีนั้น โดยทั่วไปแล้วคือตัวอย่างหนึ่งของประเภทของเอนทิตีที่กำหนดไว้ มักจะมีตัวอย่างของประเภทของเอนทิตีอยู่หลายตัวอย่าง เนื่องจากคำว่า ประเภทของเอนทิตี ค่อนข้างยุ่งยาก คนส่วนใหญ่จึงมักใช้คำว่า เอนทิตี เป็นคำพ้องความหมาย
เอนทิตีสามารถคิดได้ว่าเป็นคำนาม [ 9 ] ตัวอย่างเช่น คอมพิวเตอร์ พนักงาน เพลง หรือทฤษฎีบททางคณิตศาสตร์
ความสัมพันธ์จะแสดงให้เห็นว่าเอนทิตีต่างๆ เกี่ยวข้องกันอย่างไร ความสัมพันธ์สามารถคิดได้ว่าเป็นคำกริยาที่เชื่อมโยงคำนามสองคำขึ้นไป[ 9 ]ตัวอย่างเช่น ความสัมพันธ์ แบบเป็นเจ้าของระหว่างบริษัทกับคอมพิวเตอร์ ความสัมพันธ์แบบกำกับดูแลระหว่างพนักงานกับแผนก ความสัมพันธ์แบบแสดงผลงานระหว่างศิลปินกับเพลง และ ความสัมพันธ์ แบบพิสูจน์ระหว่างนักคณิตศาสตร์กับข้อสันนิษฐาน
ลักษณะทางภาษาของแบบจำลองที่อธิบายไว้ข้างต้นถูกนำไปใช้ในภาษาการสอบถามฐานข้อมูลแบบประกาศ ERROL ซึ่งเลียนแบบ โครงสร้าง ภาษาธรรมชาติความหมาย และการใช้งาน ของ ERROL นั้น อิงตามพีชคณิตเชิงสัมพันธ์ที่ปรับปรุงใหม่ (RRA) ซึ่งเป็นพีชคณิตเชิงสัมพันธ์ที่ปรับให้เข้ากับแบบจำลองเอนทิตี-ความสัมพันธ์และจับภาพลักษณะทางภาษาของแบบจำลองนั้น
ทั้งเอนทิตีและความสัมพันธ์ต่างก็สามารถมีแอตทริบิวต์ได้ ตัวอย่างเช่น เอนทิตี พนักงานอาจมี แอตทริบิวต์ หมายเลขประกันสังคม (SSN) ในขณะที่ ความสัมพันธ์ ที่ได้รับการพิสูจน์แล้วอาจมีแอตทริบิวต์วันที่
เอนทิตีทั้งหมด ยกเว้นเอนทิตีที่อ่อนแอต้องมีชุดคุณลักษณะที่ระบุตัวตนได้อย่างเฉพาะเจาะจงอย่างน้อยที่สุด ซึ่งสามารถใช้เป็น คีย์ เฉพาะ / คีย์หลักได้
แผนภาพความสัมพันธ์ระหว่างเอนทิตี (ERD) ไม่ได้แสดงเอนทิตีเดี่ยวๆ หรือความสัมพันธ์แต่ละรายการ แต่แสดงเซตของเอนทิตี (เอนทิตีทั้งหมดที่มีประเภทเอนทิตีเดียวกัน) และเซตของความสัมพันธ์ (ความสัมพันธ์ทั้งหมดที่มีประเภทความสัมพันธ์เดียวกัน) ตัวอย่างเช่นเพลง หนึ่งเพลง เป็นเอนทิตีหนึ่งเพลง ชุดเพลงทั้งหมดในฐานข้อมูลเป็นเซตของเอนทิตีความสัมพันธ์ระหว่างเด็กกับอาหารกลางวันเป็นความสัมพันธ์เดียว และเซตของความสัมพันธ์ระหว่างเด็กกับอาหารกลางวันทั้งหมดในฐานข้อมูลเป็นเซตของความสัมพันธ์ กล่าวอีกนัยหนึ่ง เซตของความสัมพันธ์สอดคล้องกับความสัมพันธ์ในทางคณิตศาสตร์ในขณะที่ความสัมพันธ์สอดคล้องกับสมาชิกของความสัมพันธ์นั้น
นอกจากนี้ อาจมีการระบุ ข้อจำกัดด้านจำนวนสมาชิกบางประการสำหรับชุดความสัมพันธ์ด้วย
| โครงสร้างไวยากรณ์ภาษาอังกฤษ | โครงสร้าง ER |
|---|---|
| คำนามทั่วไป | ประเภทเอนทิตี |
| คำนามเฉพาะ | เอนทิตี |
| กริยาที่ต้องการกรรม | ประเภทความสัมพันธ์ |
| กริยาไม่ต้องการกรรม | ประเภทแอตทริบิวต์ |
| คุณศัพท์ | คุณลักษณะสำหรับเอนทิตี |
| คำวิเศษณ์ | คุณลักษณะสำหรับความสัมพันธ์ |
ภาพแสดงโครงสร้างทางกายภาพแสดงให้เห็นว่าข้อมูลถูกจัดเก็บอย่างไรในความเป็นจริง
ความสัมพันธ์ บทบาท และจำนวนสมาชิก
บทความต้นฉบับของเฉินยกตัวอย่างความสัมพันธ์และบทบาทต่างๆ โดยเขาอธิบายถึงความสัมพันธ์แบบ "การแต่งงาน" และบทบาทสองบทบาทคือ "สามี" และ "ภรรยา"
ในความสัมพันธ์แบบสมรส คนหนึ่งทำหน้าที่เป็นสามี และอีกคนหนึ่งทำหน้าที่เป็นภรรยา คำเหล่านี้เป็นคำนาม
ศัพท์เฉพาะของเฉินยังถูกนำไปประยุกต์ใช้กับแนวคิดก่อนหน้านี้ด้วย เส้น ลูกศร และรูปตีนกาในแผนภาพบางส่วนนั้นได้รับอิทธิพลมาจากแผนภาพของบัคแมน ในยุคก่อนหน้า มากกว่าแผนภาพความสัมพันธ์ของเฉิน
อีกหนึ่งส่วนขยายที่นิยมใช้ของแบบจำลองของเฉินคือ การ "ตั้งชื่อ" ความสัมพันธ์และบทบาทโดยใช้คำกริยาหรือวลี
การตั้งชื่อบทบาท
นอกจากนี้ ยังนิยมใช้คำหรือวลีต่างๆ เช่น " เป็นเจ้าของของ"หรือ"ถูกครอบครองโดย" เพื่อระบุบทบาท คำนามที่ถูกต้องในกรณีนี้คือ " เจ้าของ"และ"สิ่งของ"ดังนั้นบุคคลจึงมีบทบาทเป็นเจ้าของและรถยนต์มีบทบาทเป็นสิ่งของมากกว่าที่จะใช้ "บุคคลมีบทบาทเป็น" หรือ "เป็นเจ้าของของ " เป็นต้น
การใช้คำนามมีประโยชน์โดยตรงเมื่อสร้างการใช้งานทางกายภาพจากแบบจำลองเชิงความหมาย เมื่อบุคคลมีความสัมพันธ์สองอย่างกับรถยนต์ก็สามารถสร้างชื่อเช่นowner_personและdriver_personซึ่งมีความหมายได้ทันที[ 11 ]
จำนวนคาร์ดินัล
การปรับเปลี่ยนข้อกำหนดเดิมอาจเป็นประโยชน์ Chen ได้อธิบายถึงความสัมพันธ์แบบมองข้าม (look-across cardinalities ) นอกจากนี้ สัญ กรณ์ Barker–Ellisที่ใช้ใน Oracle Designer ใช้ "ด้านเดียวกัน" (same-side) สำหรับความสัมพันธ์ขั้นต่ำ (คล้ายกับตัวเลือก) และบทบาท แต่ใช้ "มองข้าม" (look-across) สำหรับความสัมพันธ์สูงสุด (สัญลักษณ์ตีนกา)
งานวิจัยของMerise , Elmasri & Navathe และคนอื่นๆ แสดงให้เห็นว่ามีความชอบที่จะอยู่ด้านเดียวกันสำหรับบทบาทและจำนวนขั้นต่ำและสูงสุด[ 12 ] [ 13 ] [ 14 ]และนักวิจัย (Feinerer, Dullea et al.) ได้แสดงให้เห็นว่าสิ่งนี้มีความสอดคล้องกันมากขึ้นเมื่อนำไปใช้กับความสัมพันธ์แบบ n-ary ที่มีลำดับมากกว่า 2 [ 15 ] [ 16 ]
Dullea และคณะกล่าวว่า "สัญกรณ์แบบ 'มองข้าม' เช่นที่ใช้ในUML นั้น ไม่สามารถแสดงความหมายของข้อจำกัดการมีส่วนร่วมที่กำหนดไว้ในความสัมพันธ์ที่มีระดับสูงกว่าไบนารีได้อย่างมีประสิทธิภาพ"
Feinerer กล่าวว่า: "ปัญหาเกิดขึ้นหากเราดำเนินการภายใต้ความหมายแบบ look-across ที่ใช้สำหรับการเชื่อมโยง UML Hartmann [ 17 ]ตรวจสอบสถานการณ์นี้และแสดงให้เห็นว่าการแปลงที่แตกต่างกันล้มเหลวอย่างไรและเพราะเหตุใด" (แม้ว่า "การลด" ที่กล่าวถึงจะเป็นของปลอม เนื่องจากไดอะแกรม 3.4 และ 3.5 ทั้งสองนั้นเหมือนกัน)และยังกล่าวอีกว่า "ดังที่เราจะเห็นในหน้าถัดไป การตีความแบบ look-across นำมาซึ่งความยากลำบากหลายประการที่ขัดขวางการขยายกลไกง่ายๆ จากการเชื่อมโยงแบบไบนารีไปสู่การเชื่อมโยงแบบ n-ary"


สัญกรณ์ของเฉินสำหรับการสร้างแบบจำลองความสัมพันธ์ระหว่างเอนทิตีใช้รูปสี่เหลี่ยมผืนผ้าแทนชุดเอนทิตี และรูปเพชรแทนความสัมพันธ์ที่เหมาะสมสำหรับวัตถุชั้นหนึ่ง : วัตถุเหล่านั้นสามารถมีแอตทริบิวต์และความสัมพันธ์ของตนเองได้ หากชุดเอนทิตีมีส่วนร่วมในชุดความสัมพันธ์ พวกมันจะถูกเชื่อมต่อด้วยเส้น
คุณลักษณะต่างๆ จะถูกวาดเป็นรูปวงรีและเชื่อมต่อด้วยเส้นไปยังเอนทิตีหรือชุดความสัมพันธ์เพียงหนึ่งเดียวเท่านั้น
ข้อจำกัดด้านจำนวนสมาชิกแสดงได้ดังนี้:
- เส้นคู่แสดงถึงข้อจำกัดการมีส่วนร่วมความเป็นทั้งหมดหรือความเป็นทั่วถึง : เอนทิตีทั้งหมดในชุดเอนทิตีจะต้องมีส่วนร่วมใน ความสัมพันธ์ อย่างน้อยหนึ่งรายการในชุดความสัมพันธ์
- ลูกศรจากชุดเอนทิตีไปยังชุดความสัมพันธ์บ่งชี้ถึงข้อจำกัดที่สำคัญเช่น ความเป็นหนึ่งเดียว ( injectivity ): เอนทิตีแต่ละตัวในชุดเอนทิตีสามารถมีส่วนร่วมในความสัมพันธ์ในชุดความสัมพันธ์ได้มากที่สุดเพียงหนึ่ง ความสัมพันธ์เท่านั้น
- เส้นหนาแสดงถึงทั้งสองอย่าง กล่าวคือความเป็นหนึ่งเดียวแบบหนึ่งต่อหนึ่ง : เอนทิตีแต่ละตัวในชุดเอนทิตีมีส่วนเกี่ยวข้องในความสัมพันธ์เพียงหนึ่งเดียวเท่านั้น
- ชื่อแอตทริบิวต์ที่ขีดเส้นใต้แสดงว่าแอตทริบิวต์นั้นเป็นคีย์ : เอนทิตีหรือความสัมพันธ์สองรายการที่แตกต่างกันซึ่งมีแอตทริบิวต์นี้จะมีค่าที่แตกต่างกันสำหรับแอตทริบิวต์นี้เสมอ
โดยทั่วไปมักละเว้นการระบุแอตทริบิวต์ เนื่องจากอาจทำให้แผนภาพดูรก เทคนิคการสร้างแผนภาพอื่นๆ มักแสดงรายการแอตทริบิวต์ของเอนทิตีไว้ภายในสี่เหลี่ยมที่วาดขึ้นสำหรับชุดเอนทิตี
เทคนิคการเขียนแผนภาพที่เกี่ยวข้อง
- สัญกรณ์ของบัคแมน
- สัญกรณ์ของบาร์เกอร์
- ด่วน
- ไอดีเอฟ1เอ็กซ์
- § สัญกรณ์ตีนกา (หรือ สั ญ กรณ์มาร์ติน)
- (ค่าต่ำสุด, ค่าสูงสุด) - สัญลักษณ์ที่ฌอง-เรย์มอนด์ อับเรียล คิดค้นขึ้น ในปี 1974
- แผนภาพคลาส UML
- เมริส
- การสร้างแบบจำลองบทบาทของวัตถุ
สัญลักษณ์ตีนกา
สัญกรณ์ตีนกา ซึ่งมีจุดเริ่มต้นมาจากบทความของ Gordon Everest (1976) [ 18 ]ถูกนำมาใช้ในสัญกรณ์ของ Barker วิธีการวิเคราะห์และออกแบบระบบที่มีโครงสร้าง ( SSADM) และวิศวกรรมเทคโนโลยีสารสนเทศแผนภาพตีนกาแสดงเอนทิตีเป็นกล่อง และความสัมพันธ์เป็นเส้นระหว่างกล่อง รูปร่างที่แตกต่างกันที่ปลายเส้นเหล่านี้แสดงถึงความสัมพันธ์เชิงปริมาณ
สัญกรณ์ตีนกาถูกนำมาใช้ในICLในปี พ.ศ. 2521 [ 19 ]และถูกนำมาใช้ในสำนักงานที่ปรึกษาCACIที่ปรึกษาหลายคนใน CACI (รวมถึง Richard Barker) มาจาก ICL และต่อมาได้ย้ายไปที่Oracle UK ซึ่งพวกเขาได้พัฒนาเครื่องมือ CASEเวอร์ชันแรกๆ ของ Oracle และแนะนำสัญกรณ์นี้ให้กับกลุ่มผู้ใช้ที่กว้างขึ้น
ด้วยสัญลักษณ์นี้ ความสัมพันธ์จึงไม่สามารถมีคุณลักษณะได้ หากจำเป็น ความสัมพันธ์จะถูกยกระดับเป็นเอนทิตีในตัวของมันเอง ตัวอย่างเช่น หากจำเป็นต้องบันทึกว่าศิลปินแสดงเพลงที่ไหนและเมื่อใด จะมีการแนะนำเอนทิตีใหม่ "การแสดง" (พร้อมคุณลักษณะที่สะท้อนถึงเวลาและสถานที่) และความสัมพันธ์ของศิลปินกับเพลงจะกลายเป็นความสัมพันธ์ทางอ้อมผ่านการแสดง (ศิลปิน-แสดง-การแสดง, การแสดง-คุณสมบัติ-เพลง)
มีสัญลักษณ์สามแบบที่ใช้แทนจำนวนสมาชิก:
- แหวนวงนี้แทน "ศูนย์"
- เครื่องหมายขีดกลางแทน "หนึ่ง"
- ตีนกา เป็นสัญลักษณ์ ของ "มากมาย" หรือ "ไม่มีที่สิ้นสุด"
สัญลักษณ์เหล่านี้ใช้เป็นคู่เพื่อแสดงความสัมพันธ์เชิงปริมาณสี่ประเภทที่เอนทิตีอาจมีได้ ส่วนประกอบด้านในของสัญลักษณ์แสดงถึงค่าต่ำสุด และส่วนประกอบด้านนอกแสดงถึงค่าสูงสุด
- วงแหวนและขีด → ต่ำสุดศูนย์ สูงสุดหนึ่ง (ไม่บังคับ)
- ขีดกลางและขีดกลาง → อย่างน้อยหนึ่ง อย่างมากหนึ่ง (บังคับ)
- รอยวงแหวนและรอยตีนกา → อย่างน้อยศูนย์ อย่างมากหลาย (ไม่บังคับ)
- ขีดกลางและตีนกา → อย่างน้อยหนึ่งอัน อย่างมากหลายอัน (จำเป็น)
ปัญหาการใช้งานโมเดล
ผู้ใช้งานฐานข้อมูลจำลองอาจพบปัญหาที่รู้จักกันดีสองประการ ซึ่งผลลัพธ์ที่ได้แตกต่างจากสิ่งที่ผู้เขียนคำสั่งค้นหาคาดการณ์ไว้ ปัญหาเหล่านี้เรียกว่ากับดักพัด (fan trap ) และกับดักช่องว่าง (chasm trap ) และอาจนำไปสู่ผลลัพธ์การค้นหาที่ไม่ถูกต้องหากไม่ได้รับการจัดการอย่างเหมาะสมในระหว่างการออกแบบแบบจำลองความสัมพันธ์ระหว่างเอนทิตี (ER Model)
ทั้งกับดักพัดลมและกับดักเหว ต่างเน้นย้ำถึงความสำคัญของการตรวจสอบให้แน่ใจว่าแบบจำลอง ER ไม่เพียงแต่ถูกต้องตามหลักเทคนิคเท่านั้น แต่ยังต้องสะท้อนความสัมพันธ์ในโลกแห่งความเป็นจริงที่ออกแบบมาเพื่อแสดงอย่างครบถ้วนและแม่นยำ การระบุและแก้ไขกับดักเหล่านี้ตั้งแต่เนิ่นๆ ในกระบวนการออกแบบจะช่วยหลีกเลี่ยงปัญหาสำคัญในภายหลัง โดยเฉพาะอย่างยิ่งในฐานข้อมูลที่ซับซ้อนซึ่งมีจุดประสงค์เพื่อการวิเคราะห์ข้อมูลทางธุรกิจหรือการสนับสนุนการตัดสินใจ
กับดักพัดลม
ปัญหาแรกคือกับดักพัด (Fan Trap) ปัญหานี้เกิดขึ้นเมื่อตารางหลัก (Master Table) เชื่อมโยงกับหลายตารางในความสัมพันธ์แบบหนึ่งต่อหลาย (One-to-Many Relationship) ชื่อของปัญหานี้มาจากลักษณะที่ปรากฏของแบบจำลองเมื่อวาดในแผนภาพความสัมพันธ์ระหว่างเอนทิตี (Entity-Relationship Diagram) เนื่องจากตารางที่เชื่อมโยงจะ "แผ่กระจาย" ออกจากตารางหลัก แบบจำลองประเภทนี้คล้ายกับแบบแผนดาว (Star Schema ) ซึ่งเป็นการออกแบบทั่วไปในคลังข้อมูล เมื่อพยายามคำนวณผลรวมของค่ารวมโดยใช้คำสั่ง SQL มาตรฐานจากตารางหลัก ผลลัพธ์อาจไม่เป็นไปตามที่คาดไว้และมักไม่ถูกต้องเนื่องจากโครงสร้างของความสัมพันธ์ การคำนวณผิดพลาดเกิดขึ้นเพราะSQLถือว่าแต่ละความสัมพันธ์แยกกัน ซึ่งอาจส่งผลให้เกิดการนับซ้ำหรือความไม่ถูกต้องอื่นๆ ปัญหานี้พบได้บ่อยในระบบสนับสนุนการตัดสินใจ เพื่อลดปัญหานี้ ต้องปรับแบบจำลองข้อมูลหรือคำสั่ง SQLเอง ซอฟต์แวร์การสืบค้นฐานข้อมูลบางตัวที่ออกแบบมาสำหรับระบบสนับสนุนการตัดสินใจมีวิธีการตรวจจับและแก้ไขกับดักพัดในตัว
กับดักเหว
ประเด็นที่สองคือกับดักช่องว่าง กับดักช่องว่างเกิดขึ้นเมื่อแบบจำลองชี้ให้เห็นถึงความสัมพันธ์ระหว่างประเภทของเอนทิตี แต่เส้นทางระหว่างเอนทิตีเหล่านั้นไม่สมบูรณ์หรือขาดหายไปในบางกรณี
ตัวอย่างเช่น ลองนึกภาพฐานข้อมูลที่อาคารหนึ่งมีห้องตั้งแต่หนึ่งห้องขึ้นไป และห้องเหล่านั้นมีคอมพิวเตอร์ตั้งแต่ศูนย์เครื่องขึ้นไป เราอาจคาดหวังว่าการสืบค้นข้อมูลในโมเดลจะแสดงรายการคอมพิวเตอร์ทั้งหมดในอาคาร อย่างไรก็ตาม หากคอมพิวเตอร์เครื่องใดไม่ได้ถูกกำหนดให้ประจำอยู่ในห้องใดห้องหนึ่งชั่วคราว (อาจอยู่ระหว่างการซ่อมแซมหรือเก็บไว้ที่อื่น) คอมพิวเตอร์เครื่องนั้นจะไม่ถูกรวมอยู่ในผลการค้นหา การสืบค้นจะแสดงเฉพาะคอมพิวเตอร์ที่ถูกกำหนดให้ประจำอยู่ในห้องนั้นๆ เท่านั้น ไม่ใช่คอมพิวเตอร์ทั้งหมดในอาคาร นี่สะท้อนให้เห็นถึงข้อบกพร่องในโมเดล เนื่องจากโมเดลไม่ได้คำนึงถึงคอมพิวเตอร์ที่อยู่ในอาคารแต่ไม่ได้ประจำอยู่ในห้องใดห้องหนึ่ง เพื่อแก้ไขปัญหานี้ จำเป็นต้องเพิ่มความสัมพันธ์โดยตรงระหว่างอาคารและคอมพิวเตอร์
ในการสร้างแบบจำลองเชิงความหมาย
แบบจำลองเชิงความหมาย
แบบจำลองเชิงความหมายเป็นแบบจำลองของแนวคิด และบางครั้งเรียกว่า "แบบจำลองที่ไม่ขึ้นกับแพลตฟอร์ม" เป็นแบบจำลองเชิงความหมาย อย่างน้อยตั้งแต่สมัยคาร์แนปเป็นที่ทราบกันดีว่า: [ 20 ]
- "...ความหมายที่สมบูรณ์ของแนวคิดหนึ่งๆ นั้นประกอบด้วยสองแง่มุม คือ ความหมายโดยนัยและความหมายโดยขยาย ส่วนแรกประกอบด้วยการฝังตัวของแนวคิดนั้นในโลกของแนวคิดอื่นๆ โดยรวม กล่าวคือ ความสัมพันธ์ทั้งหมดกับแนวคิดอื่นๆ ส่วนที่สองเป็นการกำหนดความหมายเชิงอ้างอิงของแนวคิดนั้น กล่าวคือ สิ่งที่เทียบเท่ากันในโลกแห่งความเป็นจริงหรือในโลกแห่งความเป็นไปได้"
แบบจำลองส่วนขยาย
แบบจำลองเชิงขยาย (Extensional model) คือแบบจำลองที่เชื่อมโยงกับองค์ประกอบของวิธีการหรือเทคโนโลยีเฉพาะอย่างใดอย่างหนึ่ง ดังนั้นจึงเป็น "แบบจำลองเฉพาะแพลตฟอร์ม" ข้อกำหนดของ UML ระบุไว้อย่างชัดเจนว่าความสัมพันธ์ในแบบจำลองคลาสเป็นเชิงขยาย และสิ่งนี้เป็นสิ่งที่เห็นได้ชัดในตัวเองเมื่อพิจารณาจาก "ส่วนเสริม" เพิ่มเติมมากมายที่ข้อกำหนดนี้จัดให้เหนือกว่าส่วนเสริมที่จัดให้โดย "ภาษาสร้างแบบจำลองเชิงความหมาย" ก่อนหน้านี้"UML ในฐานะสัญกรณ์การสร้างแบบจำลองข้อมูล ตอนที่ 2"
ที่มาของความสัมพันธ์ระหว่างเอนทิตี
ปีเตอร์ เฉิน บิดาแห่งการสร้างแบบจำลอง ER กล่าวไว้ในบทความสำคัญของเขาว่า:
- " โมเดลความสัมพันธ์ระหว่างเอนทิตีใช้มุมมองที่เป็นธรรมชาติมากขึ้นว่าโลกแห่งความเป็นจริงประกอบด้วยเอนทิตีและความสัมพันธ์ โดยได้รวมเอาข้อมูลความหมายที่สำคัญบางส่วนเกี่ยวกับโลกแห่งความเป็นจริงไว้ด้วย " [ 2 ]
ในบทความต้นฉบับปี 1976 เฉินได้เปรียบเทียบแผนภาพความสัมพันธ์ระหว่างเอนทิตีกับเทคนิคการสร้างแบบจำลองเรคอร์ดไว้อย่างชัดเจน:
- " แผนภาพโครงสร้างข้อมูลเป็นเพียงภาพแสดงถึงการจัดระเบียบของระเบียนข้อมูล ไม่ใช่ภาพที่แสดงถึงเอนทิตีและความสัมพันธ์อย่างแม่นยำ "
ผู้เขียนคนอื่นๆ อีกหลายคนก็สนับสนุนโปรแกรมของ Chen เช่นกัน: [ 21 ] [ 22 ] [ 23 ] [ 24 ] [ 25 ]
ความสอดคล้องทางปรัชญา
เฉินสอดคล้องกับประเพณีทางปรัชญาตั้งแต่สมัยนักปรัชญากรีกโบราณ: เพลโตและอริสโตเติล [ 26 ]เพลโตเองก็เชื่อมโยงความรู้กับการรับรู้รูปแบบ ที่ไม่เปลี่ยนแปลง (กล่าวคือ ต้นแบบหรือการแสดงนามธรรมของสิ่งต่างๆ และคุณสมบัติหลายประเภท) และความสัมพันธ์ระหว่างกัน
ข้อจำกัด
- แบบจำลอง ER นั้นเป็นแบบจำลองเชิงแนวคิดเป็นหลัก เป็นออนโทโลยีที่แสดงคุณลักษณะในขอบเขตความรู้
- แบบจำลอง ER ถูกนำมาใช้กันอย่างแพร่หลายเพื่อแสดงโครงสร้างฐานข้อมูลเชิงสัมพันธ์ (ตามแนวคิดของ Codd และ Date) แต่ไม่ค่อยได้ถูกนำมาใช้เพื่อแสดงโครงสร้างข้อมูลประเภทอื่น ๆ (เช่น คลังข้อมูลและที่เก็บเอกสาร)
- สัญญลักษณ์แบบจำลอง ER บางแบบมีสัญลักษณ์เพื่อแสดงความสัมพันธ์แบบซูเปอร์ไทป์-ซับไทป์ และการยกเว้นซึ่งกันและกันระหว่างความสัมพันธ์ ในขณะที่บางแบบไม่มี
- แบบจำลอง ER ไม่แสดงประวัติชีวิตของเอนทิตี (เช่น คุณลักษณะและ/หรือความสัมพันธ์เปลี่ยนแปลงไปอย่างไรเมื่อเวลาผ่านไปเพื่อตอบสนองต่อเหตุการณ์ต่างๆ) สำหรับระบบหลายๆ ระบบ การเปลี่ยนแปลงสถานะดังกล่าวไม่ใช่เรื่องเล็กน้อยและมีความสำคัญมากพอที่จะต้องระบุอย่างชัดเจน
- นักวิจัยบางคนได้ขยายการสร้างแบบจำลอง ER ด้วยโครงสร้างเพื่อแสดงการเปลี่ยนแปลงสถานะ ซึ่งเป็นแนวทางที่ผู้เขียนต้นฉบับสนับสนุน[ 27 ]ตัวอย่างหนึ่งคือAnchor Modeling
- บางวิธีจำลองการเปลี่ยนแปลงสถานะแยกกัน โดยใช้แผนภาพการเปลี่ยนสถานะหรือเทคนิคการสร้างแบบจำลองกระบวนการ อื่นๆ
- มีการวาดแผนภาพประเภทอื่นๆ อีกมากมายเพื่อจำลองแง่มุมอื่นๆ ของระบบ รวมถึงแผนภาพ 14 ประเภทที่UML นำ เสนอ [ 28 ]
- ในปัจจุบัน แม้ว่าการสร้างแบบจำลอง ER จะมีประโยชน์ แต่ก็ไม่เป็นที่นิยม เนื่องจากหลายคนใช้เครื่องมือที่รองรับแบบจำลองประเภทเดียวกัน โดยเฉพาะอย่างยิ่งไดอะแกรมคลาสสำหรับการเขียนโปรแกรมเชิงวัตถุ และแบบจำลองข้อมูลสำหรับระบบจัดการฐานข้อมูล เชิงสัมพันธ์ เครื่องมือบางอย่างเหล่านี้สามารถสร้างโค้ดจากไดอะแกรมและวิเคราะห์ไดอะแกรมย้อนกลับจากโค้ดได้
- จากการสำรวจ Brodie และ Liu [ 29 ]ไม่พบตัวอย่างการสร้างแบบจำลองความสัมพันธ์ระหว่างเอนทิตีแม้แต่กรณีเดียวในกลุ่มตัวอย่างบริษัท Fortune 100 จำนวน 10 บริษัท Badia และ Lemire [ 30 ]ตำหนิการขาดการใช้งานนี้ว่าเป็นเพราะขาดคำแนะนำ แต่ยังรวมถึงการขาดผลประโยชน์ เช่น การขาดการสนับสนุนการบูรณาการข้อมูลด้วย
- แบบจำลองความสัมพันธ์ระหว่างเอนทิตีที่ได้รับการปรับปรุง ( EER modeling) นำเสนอแนวคิดหลายอย่างที่ไม่มีในแบบจำลอง ER แต่มีความเกี่ยวข้องอย่างใกล้ชิดกับ การออกแบบ เชิงวัตถุเช่น ความสัมพันธ์แบบ "เป็น" (is-a relationships)
- สำหรับการสร้างแบบจำลองฐานข้อมูลเชิงเวลามีการพิจารณาส่วนขยาย ER จำนวนมาก[ 31 ]ในทำนองเดียวกัน พบว่าแบบจำลอง ER ไม่เหมาะสมสำหรับฐานข้อมูลหลายมิติ (ที่ใช้ใน แอปพลิเคชัน OLAP ) ยังไม่มีแบบจำลองเชิงแนวคิดที่โดดเด่นเกิดขึ้นในสาขานี้ แม้ว่าโดยทั่วไปจะเกี่ยวข้องกับแนวคิดของOLAP cube (หรือที่รู้จักกันในชื่อdata cubeในสาขานี้) [ 32 ]
ดูเพิ่มเติม
- เอนทิตีแบบเชื่อมโยง– คำศัพท์ในทฤษฎีความสัมพันธ์และทฤษฎีความสัมพันธ์ระหว่างเอนทิตี
- แผนผังความคิด– แผนภาพแสดงความสัมพันธ์ระหว่างแนวคิดต่างๆ
- การออกแบบฐานข้อมูล– การออกแบบวิธีการจัดเก็บข้อมูลในฐานข้อมูล
- แผนภาพโครงสร้างข้อมูล– การแสดงภาพของแบบจำลองข้อมูลประเภทหนึ่ง
- แบบจำลองความสัมพันธ์ระหว่างเอนทิตีขั้นสูง– เวอร์ชันขยายของแบบจำลองความสัมพันธ์ระหว่างเอนทิตีสำหรับการออกแบบฐานข้อมูล
- กรอบสถาปัตยกรรมองค์กร– กรอบที่ใช้กำหนดสถาปัตยกรรมของบริษัท
- Entity Data Model – เฟรมเวิร์กโอเพนซอร์สสำหรับการแมปอ็อบเจ็กต์เชิงสัมพันธ์หน้าเว็บที่แสดงคำอธิบายสั้น ๆ ของเป้าหมายการเปลี่ยนเส้นทาง
- แผนภาพโครงสร้างช่วงค่า
- การเปรียบเทียบเครื่องมือสร้างแบบจำลองข้อมูล– การเปรียบเทียบเครื่องมือสร้างแบบจำลองข้อมูลที่โดดเด่น
- กราฟความรู้– ประเภทของฐานความรู้
- ออนโทโลยี– ข้อกำหนดของการสร้างแนวคิด
- การสร้างแบบจำลองบทบาทของวัตถุ– เทคนิคการเขียนโปรแกรม หน้าเว็บที่แสดงคำอธิบายสั้น ๆ ของเป้าหมายการเปลี่ยนเส้นทาง
- แนวทางการใช้โครงสร้างข้อมูลสามแบบ– แนวทางการสร้างระบบสารสนเทศหน้าเว็บที่แสดงคำอธิบายสั้น ๆ ของเป้าหมายการเปลี่ยนเส้นทาง
- แบบจำลองความสัมพันธ์ระหว่างเอนทิตีที่มีโครงสร้าง
- ฐานข้อมูลที่ไม่ขึ้นกับโครงสร้างข้อมูล
อ่านเพิ่มเติม
- เฉิน, ปีเตอร์ (2002). "การสร้างแบบจำลองความสัมพันธ์ระหว่างเอนทิตี: เหตุการณ์ทางประวัติศาสตร์ แนวโน้มในอนาคต และบทเรียนที่ได้รับ" (PDF) . ผู้บุกเบิกซอฟต์แวร์ . สปริงเกอร์-เวอร์แลก. หน้า296–310 . ISBN 978-3-540-43081-0.
- บาร์เกอร์, ริชาร์ด (1990). วิธี CASE: การสร้างแบบจำลองความสัมพันธ์ระหว่างเอนทิตี . แอดดิสัน-เวสลีย์. ISBN 978-0201416961.
- บาร์เกอร์, ริชาร์ด (1990). วิธี CASE: งานและผลลัพธ์ . แอดดิสัน-เวสลีย์. ISBN 978-0201416978.
- มันนิลา, เฮกกี ; ไรฮา, คาริ-จูโกะ (1992) การออกแบบฐานข้อมูลเชิงสัมพันธ์ แอดดิสัน-เวสลีย์. ไอเอสบีเอ็น 978-0201565232.
- Thalheim, Bernhard (2000). การสร้างแบบจำลองความสัมพันธ์ระหว่างเอนทิตี: พื้นฐานของเทคโนโลยีฐานข้อมูล . Springer. ISBN 978-3-540-65470-4.
- Bagui, Sikha; Earp, Richard Walsh (2022). การออกแบบฐานข้อมูลโดยใช้แผนภาพความสัมพันธ์ระหว่างเอนทิตี . สำนักพิมพ์ Auerbach . ISBN 978-1-032-01718-1.
ลิงก์ภายนอก
- "แบบจำลองความสัมพันธ์ระหว่างเอนทิตี: สู่มุมมองข้อมูลที่เป็นหนึ่งเดียว"
- การสร้างแบบจำลองความสัมพันธ์ระหว่างเอนทิตี
- โครงสร้างข้อมูลเชิงตรรกะ (LDS) - เริ่มต้นใช้งานโดย โทนี่ ดรูว์รี
- สัญลักษณ์ตีนกา
- ประเภทของแบบจำลองข้อมูล และวิธีการตั้งชื่อแบบจำลองเหล่านั้น (นำเสนอโดย เดวิด เฮย์)