ใช้หรือไม่ใช้คลาสความสัมพันธ์?


12

ฉันกำลังสร้างฐานข้อมูลรัฐบาลจากข้อมูลจำนวนมหาศาล ตอนนี้ฉันกำลังติดตามแนวทางมาตรฐานของรูปแบบข้อมูลรัฐบาลท้องถิ่นของ ESRI แต่ปรับเปลี่ยนให้เหมาะกับความต้องการและความต้องการของรัฐบาลเฉพาะ

ฉันสังเกตเห็นว่าในรูปแบบข้อมูลรัฐบาลท้องถิ่น ESRI ใช้คลาสความสัมพันธ์จำนวนมาก ฉันเคยใช้คลาสความสัมพันธ์ในอดีต แต่มีแนวโน้มที่จะหลีกเลี่ยงพวกเขา นี่เป็นเพราะฉันมักจะไม่เห็นเหตุผลว่าทำไมฉันต้องการคุณลักษณะเกี่ยวกับรูปร่างในตารางแยกต่างหากจากคลาสคุณลักษณะ

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

ตอนนี้เพื่อความชัดเจนฉันจะใช้คลาสความสัมพันธ์เพื่ออ้างอิงคลาสคุณสมบัติกับคลาสคุณสมบัติคำถามนี้มีการระบุเพิ่มเติมว่าทำไมฉันจะเก็บข้อมูลในตารางที่ไม่ใช่เชิงพื้นที่ที่สามารถจัดเก็บในคลาสคุณลักษณะได้อย่างง่ายดาย

ขอบคุณมากสำหรับทุกคนที่เข้ามา!

คำตอบ:


17

เหตุผลที่คนจัดระเบียบข้อมูลในตารางแยกเป็นเพราะหลักการ Normalization ฐานข้อมูล (ตามลิงค์เหตุผลทั้งหมดอยู่ที่นั่น) ดังที่กล่าวไปแล้วคลาสความสัมพันธ์ของ ESRI เป็นการนำ GeoDatabase ไปใช้ในระดับของหลักการเหล่านั้น สุจริตฉันจะใช้พวกเขาในสองกรณีเท่านั้น:

  • เมื่อคุณมีข้อมูลบางอย่างที่ถูกทำให้เป็นมาตรฐานในฐานข้อมูลและคุณต้องการใช้ประโยชน์จากเครื่องมือแก้ไข ArcMap ArcMap ช่วยให้คุณ (เนื้อหา) ได้อย่างง่ายดายสำรวจความสัมพันธ์ในการใช้เครื่องมือของพวกเขา

  • เมื่อคุณใช้ GeoDatabase Abstraction ที่ต้องการการส่งข้อความ GeoDatabase (เช่นคำอธิบายประกอบที่เชื่อมโยงกับฟีเจอร์, คุณสมบัติของคลาสที่กำหนดเอง ฯลฯ )

แม้ว่าผู้คนอาจอ้างว่า Referential Integrity เป็นหนึ่งในผลประโยชน์ แต่ความจริงก็คือมันสามารถหลีกเลี่ยงได้ด้วย SQL พรอมต์ดังนั้นประโยชน์ของสิ่งนี้ขึ้นอยู่กับเวิร์กโฟลว์ที่คุณมีสำหรับการปรับเปลี่ยนนั้น (เช่นผู้ใช้ ArcMap เท่านั้น คน vs แก้ไขทำยังแก้ไขด้วยแบบสอบถาม SQL หรือเครื่องมือที่ไม่ใช่ ESRI)


2
ว้าวคำตอบที่ดี โลกที่ยิ่งใหญ่ของทฤษฎีฐานข้อมูลทำให้ฉันลืม ขอบคุณตันสำหรับการป้อนข้อมูล!
โคดี้บราวน์

8

ลองคิดถึงภาพรวมที่ใหญ่กว่า - ข้อมูล GIS เป็นเพียงจุดสิ้นสุดสำหรับคนส่วนใหญ่โดยเฉพาะอย่างยิ่งเมื่อมาถึงหน่วยงานของรัฐ ประสบการณ์ของผมได้ที่เรียนความสัมพันธ์ที่มีประโยชน์เป็นหลัก (และความเหมาะสม) เมื่อคุณจำเป็นต้องรวมข้อมูลที่ไม่ใช่เชิงพื้นที่กับหนึ่ง: ความสัมพันธ์จำนวนมากเพื่อข้อมูลเชิงพื้นที่ของคุณโดยเฉพาะอย่างยิ่งถ้ามันเป็นจากแหล่งภายนอกหรือการเปลี่ยนแปลงอย่างต่อเนื่อง ตัวอย่างในโลกแห่งความจริงที่ฉันพบกับหน่วยงานของรัฐอาจช่วยอธิบายเรื่องนี้:

  • การจัดเก็บหลายระเบียนที่ไม่ใช่เชิงพื้นที่เกี่ยวกับคุณสมบัติ (เช่นบันทึกการตรวจสอบรายเดือนสำหรับก๊อกน้ำหรือวาล์ว)
  • การอ้างอิงระเบียนที่เกี่ยวข้องจากแหล่งข้อมูลที่คุณไม่ได้ควบคุม (เช่นการอ่านบันทึกการบำรุงรักษาจากฐานข้อมูลของโปรแกรมการจัดการสินทรัพย์บุคคลที่สาม)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.