डेटाबेस संबंध

डेटाबेस संबंध सर्व संबंधपरक डाटाबेसचे मुख्य आधार आहेत

एका टेबलची परदेशी किल्ली असते जी दुसर्या टेबलची प्राथमिक की दर्शवते. टर्म रिलेशनल डेटाबेसमध्ये ही मूळ संकल्पना आहे.

परस्पर संबंध नाते निर्माण करण्यासाठी कसे कार्य करते?

प्राथमिक आणि परदेशी कळीच्या मूलभूत गोष्टींचे पुनरावलोकन करू या. प्राथमिक की विशिष्टपणे टेबलमधील प्रत्येक रेकॉर्डची ओळख करते. ही उमेदवार की एक प्रकार आहे जी सामान्यतः सारणीमधील प्रथम स्तंभ असते आणि डेटाबेस अद्वितीय आहे हे सुनिश्चित करण्यासाठी ते स्वयंचलितपणे व्युत्पन्न केले जाऊ शकते.

परदेशी की दुसर्या उमेदवाराची की आहे (प्राथमिक की नाही) दुसर्या टेबलमधील डेटाला जोडण्यासाठी वापरली जाते

उदाहरणार्थ, या दोन तक्त्या विचारात घ्या की कोणत्या शिक्षकाने कोणते शिक्षण दिले आहे हे ओळखणे

येथे, पाठ्यक्रमांची प्राथमिक की आहे कोर्स_आयडी. त्याची विदेशी की आहे शिक्षक_आयडी:

अभ्यासक्रम
कोर्स_आयडी Course_Name शिक्षक_आयडी
कोर्स_001 जीवशास्त्र शिक्षक_001
कोर्स_002 गणित शिक्षक_001
कोर्स_003 इंग्रजी शिक्षक_003

आपण अभ्यास करू शकता की अभ्यासक्रमातील परदेशी किल्ली शिक्षकांमध्ये प्राथमिक कीशी जुळते:

शिक्षक
शिक्षक_आयडी Teacher_Name
शिक्षक_001 कारमेन
शिक्षक_002 वेरोनिका
शिक्षक_003 होर्हे

आम्ही असे म्हणू शकतो की Teacher_ID विदेशी कीने अभ्यासक्रम आणि शिक्षकांची सारणी यांच्यातील संबंध प्रस्थापित करण्यासाठी मदत केली आहे.

डेटाबेस संबंधांचे प्रकार

परदेशी की वापरणे, किंवा इतर उमेदवार की, आपण टेबल दरम्यान तीन प्रकारचे संबंध अंमलबजावणी करू शकता:

एक-एक-करिता : या प्रकारचे संबंध संबंधांच्या प्रत्येक बाजूला केवळ एक रेकॉर्डस अनुमती देते.

प्राथमिक की केवळ एका रेकॉर्डशी संबंधित आहे - किंवा काहीही नाही - दुसर्या सारणीमध्ये उदाहरणार्थ, एखाद्या विवाहात, प्रत्येक जोडीदाराकडे फक्त एक अन्य पती आहे या प्रकारचे संबंध एका टेबलमध्ये लागू केले जाऊ शकतात आणि त्यामुळे परदेशी की वापरत नाही.

एक ते अनेक : एक ते अनेक संबंध एका टेबलमधील एका रेकॉर्डस दुसर्या सारणीतील एकाधिक रेकॉर्डशी संबंधित परवानगी देते.

ग्राहक आणि ऑर्डर तक्ते असलेल्या डेटाबेससह व्यवसायाचा विचार करा.

एकच ग्राहक अनेक ऑर्डर खरेदी करू शकतो, परंतु एकापेक्षा अधिक ग्राहकांशी एकच ऑर्डर जोडली जाऊ शकली नाही. म्हणून ऑर्डर्स टेबलमध्ये परदेशी की असेल जी ग्राहकांच्या प्राथमिक बाबीशी जुळते, तर ग्राहकांच्या टेबलमध्ये ऑर्डर्ड टेबलसाठी इंगित करणार्या परदेशी की नाही.

अनेक-अनेक : हे एक जटिल संबंध आहे ज्यामध्ये सारणीतील अनेक रेकॉर्ड दुसर्या सारणीतील बर्याच नोंदींशी दुवा साधू शकतात. उदाहरणार्थ, आमच्या व्यवसायाला कदाचित फक्त ग्राहक आणि ऑर्डर तक्तेच नसतील, परंतु त्यास कदाचित एक उत्पाद सारणीची आवश्यकता असते.

पुन्हा, ग्राहक आणि आज्ञेच्या टेबलमधील संबंध एक ते अनेक असतात, परंतु ऑर्डर आणि उत्पादने सारणीतील संबंध विचारात घ्या. एका ऑर्डरमध्ये अनेक उत्पादने असू शकतात आणि एक उत्पादन एकाधिक ऑर्डरशी जोडले जाऊ शकते: अनेक ग्राहक कदाचित त्या उत्पादनांचे काही ऑर्डर सादर करू शकतात. या प्रकारच्या संबंधाना किमान तीन सारण्या आवश्यक आहेत

डाटाबेस संबंध महत्वाचे काय आहेत?

डेटाबेस सारण्यांदरम्यान सुसंगत संबंधांची स्थापना करणे डेटा एकाग्रता निश्चित करण्यासाठी, डेटाबेस सामान्यीकरण मध्ये योगदान देणे हे सुनिश्चित करते. उदाहरणार्थ, जर आम्ही परदेशी की माध्यमातून कोणत्याही तक्त्याशी संबंध जोडत नाही आणि त्याऐवजी फक्त अभ्यासक्रम आणि शिक्षक टेबल सारख्या डेटा एकत्र केले तर काय:

शिक्षक आणि अभ्यासक्रम
शिक्षक_आयडी Teacher_Name कोर्स
शिक्षक_001 कारमेन जीवशास्त्र, गणित
शिक्षक_002 वेरोनिका गणित
शिक्षक_003 होर्हे इंग्रजी

हे डिझाईम अविलनीय आहे आणि डेटाबेस सामान्यीकरण, प्रथम नॉर्मल फॉर्म (1 एनएफ) च्या पहिल्या अधिसूचनाचे उल्लंघन करते, जे असे दर्शवते की प्रत्येक सारणी सेलमध्ये डेटाचा एक स्वतंत्र विभाग असावा.

किंवा 1 9एफची अंमलबजावणी करण्यासाठी आम्ही कार्मेनसाठी फक्त दुसरा रेकॉर्ड जोडण्याचा निर्णय घेतला आहे:

शिक्षक आणि अभ्यासक्रम
शिक्षक_आयडी Teacher_Name कोर्स
शिक्षक_001 कारमेन जीवशास्त्र
शिक्षक_001 कारमेन गणित
शिक्षक_002 वेरोनिका गणित
शिक्षक_003 होर्हे इंग्रजी

हे अजूनही एक कमकुवत डिझाइन आहे, अनावश्यक पुनरावृत्ती ओळख करून देणे आणि डेटा समाविष्ट करणे असंवेदनशीलता म्हणतात, ज्याचा अर्थ म्हणजे विसंगत डेटामध्ये योगदान देणे.

उदाहरणार्थ, जर एखाद्या शिक्षकाने अनेक रेकॉर्ड केले असतील, तर काही डेटा संपादित करणे आवश्यक आहे, परंतु डेटा संपादन करणाऱ्या व्यक्तीला असे आढळत नाही की अनेक रेकॉर्ड अस्तित्वात आहेत? तक्ता नंतर त्यास ओळखण्यासाठी किंवा ती टाळण्यासाठी स्पष्टपणे न करता त्याच व्यक्तीसाठी वेगवेगळे डेटा असतो.

या सारणीला दोन सारण्यांमध्ये, शिक्षक आणि अभ्यासक्रमांमध्ये (वरील दृश्यमान म्हणून) लावून डेटामध्ये योग्य नाते निर्माण करतो आणि म्हणून डेटा संयम व अचूकता सुनिश्चित करण्यात मदत होते.