2012-11-12 12 views
6

MySQL अनुक्रमणिका नाम और विदेशी कुंजी नाम अलग-अलग तालिकाओं के लिए अलग होना चाहिए?MySQL अनुक्रमणिका नाम और विदेशी कुंजी नाम अलग-अलग तालिकाओं के लिए अलग होना चाहिए?

उदाहरण के लिए,

दो तालिकाओं दोनों एक ही क्षेत्र (PROFILE_ID) जो एक तिहाई तालिका (प्रोफ़ाइल) से संबंधित होते हैं। इसलिए मैं प्रोफाइल_आईडी को अनुक्रमित करना चाहता हूं और इसे एक विदेशी कुंजी के रूप में रोकना चाहता हूं।

क्या दोनों नामों में इंडेक्स नाम "profile_id_idx" नाम दिया जा सकता है?

और "profile_id_fk" दोनों के लिए विदेशी कुंजी के नाम के रूप में भी?

+0

नहीं, –

+1

के लिए विदेशी कुंजी क्या हैं, भले ही वह काम करे, जोखिम क्यों लें? बस इसे अलग-अलग नाम दें और इसके साथ किया जाए – mvp

उत्तर

6

विदेशी कुंजी नाम सभी डेटाबेस में सभी तालिकाओं में अद्वितीय होना चाहिए। विभिन्न तालिकाओं में इंडेक्स नामों का पुन: उपयोग किया जा सकता है।

+0

तो स्पष्ट रूप से विदेशी कुंजी बाधाओं का नामकरण करने से नाम विवादों की ओर जाता है या डेटाबेस और तालिका ('db_tbl_col_fk') द्वारा उपसर्ग करने की आवश्यकता होती है जिससे कोड डुप्लिकेशन हो जाता है। –

संबंधित मुद्दे