డేటాబేస్ సంబంధాలు అన్ని సంబంధిత డేటాబేస్ల వెన్నెముక
ఒక పట్టిక మరొక టేబుల్ యొక్క ప్రాథమిక కీని సూచించే విదేశీ కీని కలిగి ఉన్నప్పుడు రెండు డేటాబేస్ పట్టికల మధ్య ఒక సంబంధం ఏర్పడింది. రిలేషనల్ డేటాబేస్ అనే పదానికి ఇది ప్రాథమిక భావన.
ఒక సంబంధాన్ని స్థాపించడానికి ఒక విదేశీ కీ ఎలా పనిచేస్తుంది
ప్రాథమిక మరియు విదేశీ కీల ప్రాథమికాలను సమీక్షించండి. పట్టికలో ప్రతి రికార్డును ప్రాథమిక కీ ప్రత్యేకంగా గుర్తిస్తుంది. ఇది సాధారణంగా ఒక పట్టికలోని మొదటి నిలువు వరుస యొక్క అభ్యర్థి కీ మరియు ఇది ప్రత్యేకమైనదని నిర్ధారించడానికి స్వయంచాలకంగా డేటాబేస్ ద్వారా సృష్టించబడుతుంది.
ఒక విదేశీ కీ మరొక టేబుల్ లో డేటా రికార్డు లింక్ ఉపయోగిస్తారు మరొక అభ్యర్థి కీ (కాదు ప్రాథమిక కీ కాదు).
ఉదాహరణకు, బోధి 0 చే బోధిని ఏ రె 0 డు పట్టికలను పరిశీలి 0 చ 0 డి.
ఇక్కడ, కోర్సులు పట్టిక యొక్క ప్రాథమిక కీ Course_ID. దాని విదేశీ కీ Teacher_ID:
Course_ID | కోర్సు పేరు | Teacher_ID |
---|---|---|
Course_001 | బయాలజీ | Teacher_001 |
Course_002 | మఠం | Teacher_001 |
Course_003 | ఇంగ్లీష్ | Teacher_003 |
మీరు కోర్సుల్లో విదేశీ కీలు టీచర్స్లో ప్రాథమిక కీతో సరిపోలుతున్నారని మీరు చూడవచ్చు:
Teacher_ID | Teacher_Name |
---|---|
Teacher_001 | కార్మెన్ |
Teacher_002 | వేరోనికా |
Teacher_003 | జార్జ్ |
టీచర్_ఐడ్ విదేశీ కీ కోర్సులు మరియు టీచర్స్ టేబుల్స్ మధ్య సంబంధాన్ని ఏర్పరచటానికి సహాయపడిందని మేము చెప్పగలను.
డేటాబేస్ సంబంధాల రకాలు
విదేశీ కీలను లేదా ఇతర అభ్యర్థి కీలను ఉపయోగించి, మీరు పట్టికల మధ్య మూడు రకాల సంబంధాలను అమలు చేయవచ్చు:
ఒకరికి ఒకటి : ఈ రకమైన సంబంధం సంబంధం యొక్క ప్రతి వైపు ఒకే ఒక రికార్డు అనుమతిస్తుంది.
ప్రాధమిక కీ మరొక పట్టికలో ఒకటి లేదా ఏదీ కాదు. ఉదాహరణకు, ఒక వివాహం లో, ప్రతి జీవిత భాగస్వామికి మాత్రమే మరొక భార్య ఉంది. ఈ విధమైన సంబంధం ఒకే పట్టికలో అమలు చేయబడుతుంది మరియు అందువలన ఒక విదేశీ కీని ఉపయోగించదు.
ఒకరికి చాలామంది : ఒకరి నుండి అనేక సంబంధాలు ఒకే పట్టికలో ఒక టేబుల్ లో మరొక పట్టికలో బహుళ రికార్డులకు సంబంధించటానికి అనుమతిస్తుంది.
కస్టమర్లు మరియు ఆర్డర్స్ పట్టికలు కలిగిన డేటాబేస్తో వ్యాపారాన్ని పరిగణించండి.
ఒక్క కస్టమర్ బహుళ ఆర్డర్లను కొనుగోలు చేయవచ్చు, కానీ ఒకే ఆర్డర్ బహుళ వినియోగదారులకు లింక్ చేయబడదు. అందువల్ల ఆర్డర్స్ టేబుల్లో వినియోగదారుల పట్టిక యొక్క ప్రాథమిక కీతో సరిపోయే విదేశీ కీని కలిగి ఉంటుంది, అయితే వినియోగదారుల పట్టికలో ఆర్డర్స్ పట్టికకు ఎటువంటి విదేశీ కీలు ఉండవు.
అనేక నుండి అనేక : ఇది ఒక పట్టికలో అనేక రికార్డులు మరొక పట్టికలో అనేక రికార్డులకు లింక్ చేయగల క్లిష్టమైన సంభాషణ. ఉదాహరణకు, మా వ్యాపారం బహుశా వినియోగదారుడు మరియు ఆర్డర్స్ పట్టికలు మాత్రమే అవసరం, కానీ దీనికి కూడా ఉత్పత్తులు పట్టిక అవసరం.
మళ్ళీ, వినియోగదారుల మరియు ఆర్డర్స్ పట్టిక మధ్య సంబంధం ఒకటి నుండి అనేక ఉంది, కానీ ఆర్డర్స్ మరియు ఉత్పత్తులు పట్టిక మధ్య సంబంధం పరిగణలోకి. ఒక ఆర్డర్ బహుళ ఉత్పత్తులను కలిగి ఉంటుంది మరియు ఒక ఉత్పత్తిని పలు ఆదేశాలతో అనుసంధానించవచ్చు: అనేక మంది వినియోగదారులు ఒకే ఉత్పత్తులను కలిగి ఉన్న ఆర్డర్ను సమర్పించవచ్చు. ఈ రకమైన సంబంధం కనీస మూడు పట్టికలలో అవసరం.
డేటాబేస్ సంబంధాలు ముఖ్యమైనవి ఏమిటి?
డేటాబేస్ పట్టికల మధ్య స్థిరమైన సంబంధాలను ఏర్పరచడం డేటా సమగ్రతను నిర్ధారించడానికి సహాయపడుతుంది, ఇది డేటాబేస్ సాధారణీకరణకు దోహదపడుతుంది. ఉదాహరణకు, మేము ఏదైనా విదేశీ పట్టికను ఉపయోగించి ఏ పట్టికలను కలుపకపోతే మరియు అలాంటి కోర్సులను మరియు ఉపాధ్యాయుల పట్టికలో డేటాను కలిపి ఉంటే,
Teacher_ID | Teacher_Name | కోర్సు |
---|---|---|
Teacher_001 | కార్మెన్ | బయాలజీ, మఠం |
Teacher_002 | వేరోనికా | మఠం |
Teacher_003 | జార్జ్ | ఇంగ్లీష్ |
ఈ డిజైన్ కఠినమైనది మరియు డేటాబేస్ సాధారణీకరణ, మొదటి సాధారణ రూపం (1NF) యొక్క మొదటి సిద్ధాంతాన్ని ఉల్లంఘిస్తుంది, ఇది ప్రతి పట్టిక కణంలో ఒక వివిక్త డేటాను కలిగి ఉండాలి.
లేదా బహుశా మేము 1NF ను అమలు చేయడానికి, కార్మెన్ కోసం రెండవ రికార్డ్ను జోడించాలని నిర్ణయించుకున్నాము:
Teacher_ID | Teacher_Name | కోర్సు |
---|---|---|
Teacher_001 | కార్మెన్ | బయాలజీ |
Teacher_001 | కార్మెన్ | మఠం |
Teacher_002 | వేరోనికా | మఠం |
Teacher_003 | జార్జ్ | ఇంగ్లీష్ |
ఇది ఇప్పటికీ బలహీన రూపకల్పన, అనవసరమైన నకలును పరిచయం చేయడం మరియు డేటా ఇన్సరక్షన్ యాదృచ్ఛికంగా పిలవబడుతుంది, అంటే ఇది అస్థిరమైన డేటాకు దోహదపడగలదని అర్థం.
ఉదాహరణకు, ఒక ఉపాధ్యాయుడు బహుళ రికార్డులను కలిగి ఉంటే, కొన్ని డేటా సవరించాల్సిన అవసరం ఉంటే, కానీ డేటా సవరణను ప్రదర్శించే వ్యక్తి బహుళ రికార్డులను గుర్తించలేదా? ఈ టేబుల్ తరువాత అదే వ్యక్తికి వేర్వేరు డేటాను కలిగి ఉంటుంది, గుర్తించడానికి లేదా నివారించడానికి ఎలాంటి స్పష్టమైన మార్గాన్ని లేకుండా.
ఈ పట్టికను రెండు పట్టికలు, ఉపాధ్యాయులు మరియు కోర్సులు (పైన ఊహించినట్లుగా) బ్రేకింగ్ చేయడం, డేటా మధ్య సరైన సంబంధాన్ని సృష్టిస్తుంది మరియు అందువల్ల డేటా స్థిరత్వం మరియు ఖచ్చితత్వాన్ని నిర్ధారించడానికి సహాయపడుతుంది.