Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Entity-Relationship Modeling คืออะไร?


Entity-relationship modeling เป็นแนวทางการออกแบบตรรกะ (logical design approach) ที่ปฏิบัติตามเพื่อกำจัดความซ้ำซ้อนของข้อมูล (data redundancy) สมมติว่าธุรกิจรับออเดอร์และขายสินค้าให้ผู้ใช้

ในวันแรกของการประเมิน ก่อน relational databases นานมาก เมื่อนำข้อมูลนี้เข้าคอมพิวเตอร์ครั้งแรก อาจจับข้อมูลออเดอร์กระดาษต้นฉบับเป็นบันทึกเดียวที่อ้วน (fat record) หลายฟิลด์ บันทึกดังกล่าวอาจมีขนาด 1000 ไบต์ ส่งผ่าน 50 ฟิลด์ Line items ของออเดอร์ถูกกำหนดเป็นชุดฟิลด์ที่ซ้ำ (repeating group) ฝังใน master record การรับข้อมูลนี้บนคอมพิวเตอร์มีประโยชน์มาก แต่เราเรียนรู้บทเรียนพื้นฐานบางอย่างเกี่ยวกับการจัดเก็บและจัดการข้อมูลอย่างรวดเร็ว

ชื่อและที่อยู่ของผู้ใช้ปรากฏหลายครั้ง เพราะข้อมูลนี้ซ้ำทุกครั้งที่มีออเดอร์ใหม่ ความไม่สอดคล้องของข้อมูลไม่ได้รับควบคุม เพราะบาง instance ของที่อยู่ผู้ใช้เป็นอิสระ และการอัปเดตที่อยู่ผู้ใช้เป็นธุรกรรมที่ "สกปรก" (dirty transaction)

ระบบซอฟต์แวร์ที่ใช้สำหรับดึงและปฏิบัติต่อข้อมูลกลายเป็นซับซ้อนและไม่เป็นระบบ เพราะต้องการการพิจารณาอย่างระมัดระวังต่ออัลกอริทึมการประมวลผลสำหรับเชื่อมโยงกลุ่มตารางเหล่านี้ ต้องการระบบฐานข้อมูลที่เก่งในการ join ตาราง นี่ปูทางให้การปฏิวัติฐานข้อมูลสัมพันธ์ (relational database revolution) ที่ฐานข้อมูลเกี่ยวข้องกับงานนี้อย่างเดียว

Entity-relationship modeling เป็นวินัยที่เน้นความสัมพันธ์ระดับไมโครสโคปิก (microscopic relationships) ระหว่างองค์ประกอบข้อมูล รูปแบบการออกแบบขนาดใหญ่ที่สุดของ entity-relationship modeling คือกำจัดความซ้ำซ้อนทั้งหมดในข้อมูล นี่มีประโยชน์มากต่อ transaction processing เพราะมันทำให้ธุรกรรมเรียบง่ายและ deterministic (แน่นอน)

ธุรกรรมการอัปเดตที่อยู่ผู้ใช้สามารถดุลยพินิจได้เป็นการค้นหาบันทึกเดียวใน master table ที่อยู่ผู้ใช้ การค้นหานี้ถูกจองโดย key ที่อยู่ผู้ใช้ ที่แทนความเฉพาะเจาะจงของบันทึกที่อยู่ผู้ใช้ และเปิดใช้งาน indexed lookup ที่เร็วสมบูรณ์ ปลอดภัยที่จะพูดว่าความสำเร็จของ transaction processing ใน relational databases โดยทั่วไปเกิดจากการพัฒนา entity-relationship modeling

Entity-relationship model สำหรับ enterprise มี logical entities หลายพัน High-end ERP systems เช่น SAP มี entities หลายพัน แต่ละ entity โดยทั่วไปกลายเป็น physical table เมื่อฐานข้อมูลถูกดำเนินการ

End users ไม่สามารถเรียนรู้หรือเข้าใจ entity-relationship model ได้ End users ไม่สามารถจัดการ entity-relationship model ได้ ไม่มี GUI (graphical user interface) ที่รับ entity-relationship model ทั่วไปและทำให้เข้าถึงได้โดย end-users

ซอฟต์แวร์ไม่สามารถสืบค้น entity-relationship model ทั่วไปได้อย่างมากนoble Cost-based optimizers ที่พยายามทำเช่นนี้ โด่งดังในการเลือกผิด ที่มีผลลัพธ์ร้ายแรงต่อประสิทธิภาพ ความต้องการของเทคนิค entity-relationship modeling ทำลายเป้าหมายของ data warehousing รวมถึง intuitive และ high-performance recovery ของข้อมูล