เมื่อใดที่ปลอดภัยที่จะใช้ ObjectID เป็นคีย์ในคลาสความสัมพันธ์


14

ฉันมักจะหลีกเลี่ยงการใช้ ObjectID เมื่อกำหนดคลาสความสัมพันธ์ ฉันเข้าใจว่าการกระทำบางอย่างในฐานข้อมูลภูมิศาสตร์จะตั้งค่า objectID อีกครั้ง (เช่นการนำเข้า / ส่งออก) อย่างไรก็ตามฉันเห็นผู้คนมากมายใช้มัน

ฉันเพิ่งเป็นคนหวาดระแวงหรือมีกรณีที่จะปลอดภัยที่จะใช้ ObjectID เมื่อกำหนดระดับความสัมพันธ์?

คำตอบ:


16

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


4

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

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

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