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
ये उदाहरण केवल एक मानक आंतरिक जुड़ाव दिखाते हैं, अन्य प्रकार के जुड़ाव हैं जो आपकी आवश्यकताओं के अनुरूप बेहतर हो सकते हैं।