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

एकाधिक मानों के साथ एक विदेशी कुंजी सम्मिलित करना

दुर्भाग्य से आपने अभी-अभी पुराना प्रश्न पूछा है;

उत्तर, ज़ाहिर है, कि आप नहीं; आपके पास दो कॉलम हैं। अपने कर्मचारी उदाहरण का विस्तार करने के लिए आपकी कर्मचारी तालिका बन जाएगी:

create table employees (
   id number
 , name varchar2(4000)
 , skill_1 number
 , skill_2 number
 , constraint employee_pk primary key (id)
 , constraint employee_skill_1_fs 
      foreign key ( skill_1 ) 
   references skills(skillid)
 , constraint employee_skill_2_fs 
      foreign key ( skill_2 ) 
   references skills(skillid) 
   );

जैसा कि आप देख सकते हैं कि यह करने के लिए विशेष रूप से सुंदर चीज नहीं है और सामान्यीकरण को तोड़ता है; क्या होगा यदि आप चाहते हैं कि आपका कर्मचारी (या आपका कर्मचारी निश्चित रूप से चाहता है) के पास 3 कौशल हों? या 10?.

तीसरी तालिका बनाना और अपने सभी जॉइन को एक प्राथमिक और विदेशी कुंजी द्वारा करना बेहतर होगा; तो आपके पास होगा

employees ( employee_id, ..., pk employee_id);
employee_skills ( employee_id, skill_id, ..., pk employee_id, skill_id, fk skill_id );
skills ( skill_id, description, ..., pk skill_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. अखंडता बाधाओं के साथ 'सबसेट' संबंध लागू करने का सबसे अच्छा तरीका क्या है

  2. Oracle में कस्टम रिकॉर्ड प्रकारों की सूची लाने के लिए MyBatis मैपिंग

  3. ओरेकल को ओआरए-12704 फेंकने के लिए ईएफ क्वेरी:चरित्र सेट मेल नहीं खाता

  4. पीएल/एसक्यूएल में अल्पविराम सीमित स्ट्रिंग का विश्लेषण कैसे करें?

  5. Oracle ODP.Net विद एंटिटी फ्रेमवर्क 6 - ORA-00955 ऑन सेलेक्ट फ्रॉम टेबल व्यू