กลับไปหน้าบทความ

อ่าน 9 นาที

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

แบบจำลองความสัมพันธ์ระหว่างเอนทิตี (หรือแบบจำลอง ER ) อธิบายถึงสิ่งต่างๆ ที่เกี่ยวข้องกันในขอบเขตความรู้เฉพาะด้าน แบบจำลอง ER พื้นฐานประกอบด้วยประเภทของเอนทิตี (ซึ่งจำแนกสิ่งต่างๆ.

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

แผนภาพความสัมพันธ์ระหว่างเอนทิตี-แอตทริบิวต์-รีเลชันสำหรับเกมMMORPGโดยใช้สัญลักษณ์ของเฉิน

แบบจำลองความสัมพันธ์ระหว่างเอนทิตี (หรือแบบจำลอง 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 [ 10 ]
โครงสร้างไวยากรณ์ภาษาอังกฤษโครงสร้าง 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 ): เอนทิตีแต่ละตัวในชุดเอนทิตีสามารถมีส่วนร่วมในความสัมพันธ์ในชุดความสัมพันธ์ได้มากที่สุดเพียงหนึ่ง ความสัมพันธ์เท่านั้น
  • เส้นหนาแสดงถึงทั้งสองอย่าง กล่าวคือความเป็นหนึ่งเดียวแบบหนึ่งต่อหนึ่ง : เอนทิตีแต่ละตัวในชุดเอนทิตีมีส่วนเกี่ยวข้องในความสัมพันธ์เพียงหนึ่งเดียวเท่านั้น
  • ชื่อแอตทริบิวต์ที่ขีดเส้นใต้แสดงว่าแอตทริบิวต์นั้นเป็นคีย์ : เอนทิตีหรือความสัมพันธ์สองรายการที่แตกต่างกันซึ่งมีแอตทริบิวต์นี้จะมีค่าที่แตกต่างกันสำหรับแอตทริบิวต์นี้เสมอ

โดยทั่วไปมักละเว้นการระบุแอตทริบิวต์ เนื่องจากอาจทำให้แผนภาพดูรก เทคนิคการสร้างแผนภาพอื่นๆ มักแสดงรายการแอตทริบิวต์ของเอนทิตีไว้ภายในสี่เหลี่ยมที่วาดขึ้นสำหรับชุดเอนทิตี

สัญลักษณ์ตีนกา

สัญกรณ์ตีนกา ซึ่งมีจุดเริ่มต้นมาจากบทความของ 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 ]

ดูเพิ่มเติม

อ่านเพิ่มเติม

  • เฉิน, ปีเตอร์ (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) - เริ่มต้นใช้งานโดย โทนี่ ดรูว์รี
  • สัญลักษณ์ตีนกา
  • ประเภทของแบบจำลองข้อมูล และวิธีการตั้งชื่อแบบจำลองเหล่านั้น (นำเสนอโดย เดวิด เฮย์)
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Entity–relationship_model&oldid=1361900861 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

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

แบบจำลองความสัมพันธ์ระหว่างเอนทิตี (หรือแบบจำลอง ER ) อธิบายถึงสิ่งต่างๆ ที่เกี่ยวข้องกันในขอบเขตความรู้เฉพาะด้าน แบบจำลอง ER พื้นฐานประกอบด้วยประเภทของเอนทิตี (ซึ่งจำแนกสิ่งต่างๆ.

การแนะนำ

แบบจำลอง ER มักเกิดจากการวิเคราะห์อย่างเป็นระบบเพื่อกำหนดและอธิบายข้อมูลที่สร้างขึ้นและจำเป็นสำหรับกระบวนการในพื้นที่ธุรกิจ โดยทั่วไปแล้ว จะแสดงบันทึกของเอนทิตีและเหตุการณ์ที่ได้รับการตรวจสอบและกำกับโดยกระบวนการทางธุรกิจ มากกว่าตัวกระบวนการเอง...

ส่วนประกอบ

เอน ทิตี อาจถูกนิยามว่าเป็นสิ่งที่สามารถดำรงอยู่ได้อย่างอิสระ สามารถระบุได้อย่างเฉพาะเจาะจง และสามารถจัดเก็บข้อมูลได้ [ 7 ] เอนทิตีเป็นนามธรรมจากความซับซ้อนของโดเมน เมื่อเราพูดถึงเอนทิตี...

ความสัมพันธ์ บทบาท และจำนวนสมาชิก

บทความต้นฉบับของเฉินยกตัวอย่างความสัมพันธ์และบทบาทต่างๆ โดยเขาอธิบายถึงความสัมพันธ์แบบ "การแต่งงาน" และบทบาทสองบทบาทคือ "สามี" และ "ภรรยา"