Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL FKs के लिए उचित नामकरण परंपरा क्या है?

MySQL में, विदेशी कुंजी बाधाओं को प्रतीकात्मक नाम देने की आवश्यकता नहीं है। यदि कोई नाम नहीं दिया गया है, तो InnoDB स्वचालित रूप से एक अद्वितीय नाम बनाता है।

किसी भी मामले में, यह वह परंपरा है जिसका मैं उपयोग करता हूं:

fk_[referencing table name]_[referenced table name]_[referencing field name]

उदाहरण:

CREATE TABLE users(
    user_id    int,
    name       varchar(100)
);

CREATE TABLE messages(
    message_id int,
    user_id    int
);

ALTER TABLE messages ADD CONSTRAINT fk_messages_users_user_id 
    FOREIGN KEY (user_id) REFERENCES users(user_id);

मैं संदर्भ और संदर्भित तालिकाओं में समान फ़ील्ड नामों के साथ रहने की कोशिश करता हूं, जैसा कि user_id में है उपरोक्त उदाहरण में। जब यह व्यावहारिक नहीं है, तो मैं संदर्भित फ़ील्ड नाम को विदेशी कुंजी नाम में भी जोड़ देता हूं।

यह नामकरण परंपरा मुझे केवल तालिका परिभाषाओं को देखकर प्रतीकात्मक नाम का "अनुमान" लगाने की अनुमति देती है, और इसके अलावा यह अद्वितीय नामों की भी गारंटी देता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में REGEXP_LIKE () फ़ंक्शन कैसे काम करता है

  2. mysql डेटाबेस में डुप्लिकेट प्रविष्टि से बचने का सबसे अच्छा तरीका

  3. SQLAlchemy के `create_engine` में `वर्णसेट` और `एन्कोडिंग` का उपयोग कैसे करें (पांडा डेटाफ्रेम बनाने के लिए)?

  4. PHP/mySQL - नेस्टेड पंक्तियों को बहुआयामी सरणी में कैसे लाया जाए

  5. मैं किसी फ़ील्ड के डिफ़ॉल्ट मान को '0000-00-00 00:00:00' के रूप में कैसे सेट कर सकता हूं?