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

एसोसिएशन टेबल लागू करना

Locations . के बीच संबंध और Events 1-से-अनेक संबंध का एक उदाहरण है। इसका मतलब है कि प्रत्येक व्यक्तिगत स्थान के साथ कई घटनाएं जुड़ी हो सकती हैं। इस प्रकार के संबंध आमतौर पर 'कई' तालिका (घटनाओं) में एक विदेशी कुंजी जोड़कर कार्यान्वित किए जाते हैं जो 'एक' तालिका (स्थानों) की प्राथमिक कुंजी को संदर्भित करता है।

'स्थान' और 'प्रकार' के बीच संबंध कई-से-अनेक संबंध का एक उदाहरण है। इसका मतलब है कि एक स्थान के कई प्रकार हो सकते हैं और एक प्रकार कई स्थानों से संबंधित हो सकता है। इस प्रकार के संबंध आमतौर पर एक लिंक तालिका के साथ कार्यान्वित किए जाते हैं, जिसमें संबंधित पंक्तियों के लिए विदेशी कुंजी होती है। लिंक तालिका में आमतौर पर दो विदेशी कुंजियों की एक संयुक्त प्राथमिक कुंजी होती है, जिसका अर्थ है कि एक स्थान को 'बार' प्रकार से दो बार लिंक नहीं किया जा सकता है।

तो, निम्न तालिका संरचनाएं आपके लिए उपयुक्त हो सकती हैं:

Location: ID (primary key), LocationName, ...
Events: ID (primary key), LocationID (foreign key), Date, Name, ...
LocationTypes: LocationID (fk), TypeID (fk)
Types: ID (pk), Name, ...

कई तालिकाओं में जानकारी को क्वेरी करने के लिए, आपको जॉइन का उपयोग करना होगा। 1-से-अनेक संबंध के लिए, निम्न क्वेरी काम करेगी:

SELECT
    l.LocationName, e.Name, e.Date
FROM Location l
    JOIN Events e ON l.ID = e.LocationID

अनेक-से-अनेक संबंध के लिए, निम्न क्वेरी जानकारी को एक साथ जोड़ देगी।

SELECT
    l.LocationName, t.Name as TypeName
FROM Location l
    JOIN LocationTypes lt ON l.ID = lt.LocationID
    JOIN Types t ON lt.TypeID = t.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. PHP का उपयोग करके MySQL तालिका को JSON में कैसे बदलें?

  2. WooCommerce में product_type की जाँच करने के लिए SQL क्वेरी

  3. AWS पर एक Oracle डेटाबेस को MySQL में माइग्रेट करना, भाग 1

  4. त्रुटि 1452 (23000):एक चाइल्ड पंक्ति को जोड़ या अद्यतन नहीं कर सकता:एक विदेशी कुंजी बाधा विफल हो जाती है

  5. वाइल्डफ्लाई और ऑटो डेटाबेस से फिर से जुड़ते हैं