డేటాబేస్లలో అతి ముఖ్యమైన అంశాలు ఒకటి డేటాబేస్ పట్టికల మధ్య సంబంధాలను సృష్టిస్తుంది. ఈ సంబంధాలు బహుళ పట్టికలలో నిల్వ చేయబడిన డేటాను లింక్ చేయడం మరియు సమర్థవంతమైన పద్ధతిలో దాన్ని తిరిగి పొందడం కోసం ఒక యంత్రాంగాన్ని అందిస్తాయి. రెండు పట్టికల మధ్య లింక్ని సృష్టించడానికి, మీరు ఒక టేబుల్లో ఒక విదేశీ కీని మరొక టేబుల్లో ఒక నిలువు వరుసను సూచించాలి.
డేటాబేస్ టేబుల్స్ అండ్ రిలేషన్షిప్స్
మీరు డేటాబేస్లు మాత్రం వరుస పట్టికల శ్రేణి మాత్రమే అని మీరు ఇప్పటికే తెలుసుకోవచ్చు, Microsoft Excel వంటి స్ప్రెడ్షీట్ ప్రోగ్రామ్లో మీరు ఇప్పటికే ఉపయోగించిన దాన్ని పోలి ఉంటుంది. నిజానికి, మీరు కూడా ఒక డేటాబేస్ ఒక Excel స్ప్రెడ్ షీట్ మార్చవచ్చు. డేటాబేస్లు స్ప్రెడ్షీట్ల నుండి వేరు చేసేటప్పుడు, పట్టికలు మధ్య శక్తివంతమైన సంబంధాలను నిర్మించటానికి వచ్చినప్పుడు ఇది.
ఉదాహరణకు, మానవ వనరుల సమాచారం ట్రాక్ చేయడానికి ఒక సంస్థ ఉపయోగించే డేటాబేస్ను పరిగణించండి. ఆ డేటాబేస్ కంపెనీ సిబ్బంది ప్రతి సభ్యునికి కింది సమాచారాన్ని కలిగి ఉద్యోగులు అని ఒక పట్టిక కలిగి ఉండవచ్చు:
- ఉద్యోగ గుర్తింపు
- మొదటి పేరు
- చివరి పేరు
- OfficePhone
- ఇంటి ఫోన్
- PositionID
ఈ ఉదాహరణలో, ఉద్యోగి ID ఒక ప్రత్యేకమైన ఉత్పత్తి పూర్ణాంకం, ఇది ప్రతి ఉద్యోగికి డేటాబేస్లో చేర్చబడినప్పుడు కేటాయించబడుతుంది. స్థాన ID అనేది ఉద్యోగి యొక్క స్థానానికి సంస్థలో సూచించే ఉద్యోగ కోడ్. ఈ పథకంలో, ఒక ఉద్యోగికి ఒకే స్థానం ఉంటుంది, కానీ బహుళ (లేదా ఉద్యోగులు) ఉద్యోగులు ప్రతి స్థానాన్ని పూరించవచ్చు. ఉదాహరణకు, మీరు "కాషియర్" స్థానంతో వందలాది మంది ఉద్యోగులను కలిగి ఉండవచ్చు.
డేటాబేస్లో ప్రతి స్థానాన్ని గురించి క్రింది అదనపు సమాచారంతో పదాలను పిలువబడే పట్టిక కలిగి ఉండవచ్చు:
- PositionID
- శీర్షిక
- JobLevel
- SkillCategory
- స్థానం
ఈ పట్టికలోని స్థాన ID ఫీల్డ్ ఉద్యోగుల పట్టికలోని Employee ID ఫీల్డ్ వలె ఉంటుంది - డేటాబేస్లో ఒక స్థానం జోడించబడినప్పుడు ఇది సృష్టించబడిన ప్రత్యేకంగా రూపొందించబడిన పూర్ణాంకం.
మేము డేటాబేస్ నుండి ఉద్యోగుల జాబితాను లాగడానికి వెళ్లినప్పుడు, ప్రతి వ్యక్తి పేరు మరియు వారి శీర్షికను అభ్యర్థించడం సహజంగా ఉంటుంది. ఏదేమైనా, ఈ సమాచారం బహుళ డేటాబేస్ టేబుల్స్లో నిల్వ చేయబడుతుంది, కాబట్టి ఇది పట్టికలో మధ్య సంబంధాన్ని కలిగి ఉన్న JOIN ప్రశ్న ఉపయోగించి మాత్రమే పొందబడుతుంది.
మీరు పట్టికలు నిర్మాణం చూస్తున్నప్పుడు, సంబంధం నిర్వచించడం రంగంలో స్పష్టంగా ఉంటుంది - స్థానం ID ఫీల్డ్. ప్రతి ఉద్యోగి ఒక్క స్థానం మాత్రమే కలిగి ఉంటాడు, ఆ స్థానానికి పద స్థానాల సంబంధిత స్థానం నుండి స్థాన ID ని చేర్చడం ద్వారా ఆ స్థానం గుర్తించబడుతుంది. పదాల పట్టికకు ప్రాథమిక కీ కాకుండా, ఈ ఉదాహరణలో, స్థాన ID ఫీల్డ్ ఉద్యోగులు పట్టిక నుండి పదాల పట్టికకు కూడా ఒక విదేశీ కీ. సమాచార పట్టికను ఈ పట్టికను బహుళ పట్టికల నుండి పరస్పరం అనుసంధానించడానికి మరియు డేటాబేస్కు ఏవైనా మార్పులు లేదా చేర్పులు రిఫరెన్షియల్ యింటిగ్రిటీని అమలు చేయటాన్ని కొనసాగించటానికి ఉపయోగించుకోవచ్చు.
మీరు విదేశీ కీని గుర్తించిన తర్వాత, మీరు ఈ క్రింది ప్రశ్నని ఉపయోగించి డేటాబేస్ నుండి కావలసిన సమాచారాన్ని పొందవచ్చు.
SQL సర్వర్ లో విదేశీ కీలను సృష్టిస్తోంది
సాంకేతికంగా, పైన పేర్కొన్న ప్రశ్నలను నిర్వహించడానికి మీరు స్పష్టంగా సంబంధాన్ని నిర్వచించవలసిన అవసరం లేదు. అయితే, ఒక విదేశీ కీ అడ్డంకిని ఉపయోగించి మీరు స్పష్టంగా నిర్వచించబడితే, డేటాబేస్ మీకు కొన్ని గృహస్థుల పనిని చేయగలదు:
- మీరు ఎంప్లాయీస్ పట్టికకు క్రొత్త రికార్డు జతచేసినప్పుడు, మీరు ప్రవేశ పెట్టిన స్థాన ID స్థానాల్లో పట్టికలో చెల్లుబాటు అయ్యే ప్రాధమిక కీ అని డేటాబేస్ నిర్ధారిస్తుంది.
- మీరు స్థానాల పట్టికలో స్థాన ID ని మార్చినట్లయితే, డేటాబేస్ అనుగుణతను సంరక్షించడానికి ఉద్యోగుల పట్టికకు అవసరమైన నవీకరణలను నిర్వహించవచ్చు.
- సంబంధిత ఉద్యోగి ఎంట్రీలతో ఉన్న స్థానాన్ని తొలగించడం లేదా అన్ని సంబంధిత ఉద్యోగుల క్యాస్కేడింగ్ తొలగింపును చేయకుండా నిరాకరించడం ద్వారా స్థాన పట్టిక నుండి ఒక స్థానం యొక్క తొలగింపు ప్రభావానికి వ్యతిరేకంగా డేటాబేస్ రక్షణ పొందవచ్చు.
మీరు SQL సర్వర్ లో విదేశీ కీని ఎలా సృష్టించాలో ఇక్కడ ఉంది:
బదులుగా TABLE ఉద్యోగులు విదేశీ కీ (ADDID) రిఫరెన్సెస్ పదవులు (PositionID) చేర్చునిబంధనను జోడించడం ద్వారా పట్టికను సృష్టించినప్పుడు మీరు విదేశీ కీని సృష్టించవచ్చు:
విదేశీ కీ సూచనలు పదవులు (PositionID)విదేశీ కీ కాలమ్ కోసం కాలమ్ డెఫినిషన్ ముగింపు వరకు.