Skip to main content

ఒక డేటాబేస్ సంబంధం అంటే ఏమిటి?

Anonim

ఒక పట్టిక మరొక టేబుల్ యొక్క ప్రాథమిక కీని సూచించే విదేశీ కీని కలిగి ఉన్నప్పుడు రెండు డేటాబేస్ పట్టికల మధ్య ఒక సంబంధం ఏర్పడింది. రిలేషనల్ డేటాబేస్ అనే పదానికి ఇది ప్రాథమిక భావన.

ఒక సంబంధాన్ని స్థాపించడానికి ఒక విదేశీ కీ ఎలా పనిచేస్తుంది

ప్రాథమిక మరియు విదేశీ కీల ప్రాథమికాలను సమీక్షించండి. పట్టికలో ప్రతి రికార్డును ప్రాథమిక కీ ప్రత్యేకంగా గుర్తిస్తుంది. ఇది సాధారణంగా ఒక పట్టికలోని మొదటి నిలువు వరుస యొక్క అభ్యర్థి కీ మరియు ఇది ప్రత్యేకమైనదని నిర్ధారించడానికి స్వయంచాలకంగా డేటాబేస్ ద్వారా సృష్టించబడుతుంది.

ఒక విదేశీ కీ మరొక టేబుల్ లో డేటా రికార్డు లింక్ ఉపయోగిస్తారు మరొక అభ్యర్థి కీ (కాదు ప్రాథమిక కీ కాదు).

ఉదాహరణకు, బోధి 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_IDTeacher_Name
Teacher_001కార్మెన్
Teacher_002వేరోనికా
Teacher_003జార్జ్

Teacher_ID విదేశీ కీని స్థాపించడానికి సహాయపడిందని మేము చెప్పగలను సంబంధం కోర్సులు మరియు టీచర్స్ టేబుల్స్ మధ్య.

డేటాబేస్ సంబంధాల రకాలు

విదేశీ కీలను లేదా ఇతర అభ్యర్థి కీలను ఉపయోగించి, మీరు పట్టికల మధ్య మూడు రకాల సంబంధాలను అమలు చేయవచ్చు:

ముఖాముఖి: సంబంధం యొక్క ఈ రకమైన సంబంధం ప్రతి వైపు ఒకే రికార్డు అనుమతిస్తుంది.

ప్రాధమిక కీ మరొక పట్టికలో ఒకటి లేదా ఏదీ కాదు. ఉదాహరణకు, ఒక వివాహం లో, ప్రతి జీవిత భాగస్వామికి మాత్రమే మరొక భార్య ఉంది. ఈ విధమైన సంబంధం ఒకే పట్టికలో అమలు చేయబడుతుంది మరియు అందువలన ఒక విదేశీ కీని ఉపయోగించదు.

ఒకటి నుండి అనేక: ఒక నుండి అనేక సంబంధాలు ఒక టేబుల్ లో ఒకే పట్టికలో మరొక పట్టికలో బహుళ రికార్డులకు సంబంధించి అనుమతిస్తుంది.

కస్టమర్లు మరియు ఆర్డర్స్ పట్టికలు కలిగిన డేటాబేస్తో వ్యాపారాన్ని పరిగణించండి.

ఒక్క కస్టమర్ బహుళ ఆర్డర్లను కొనుగోలు చేయవచ్చు, కానీ ఒకే ఆర్డర్ బహుళ వినియోగదారులకు లింక్ చేయబడదు. అందువల్ల ఆర్డర్స్ టేబుల్లో వినియోగదారుల పట్టిక యొక్క ప్రాథమిక కీతో సరిపోయే విదేశీ కీని కలిగి ఉంటుంది, అయితే వినియోగదారుల పట్టికలో ఆర్డర్స్ పట్టికకు ఎటువంటి విదేశీ కీలు ఉండవు.

అనేక నుండి అనేక: ఇది ఒక పట్టికలో అనేక రికార్డులు మరొక పట్టికలో అనేక రికార్డులకు లింక్ చేయగల క్లిష్టమైన సంభాషణ. ఉదాహరణకు, మా వ్యాపారం బహుశా వినియోగదారుడు మరియు ఆర్డర్స్ పట్టికలు మాత్రమే అవసరం, కానీ దీనికి కూడా ఉత్పత్తులు పట్టిక అవసరం.

మళ్ళీ, వినియోగదారుల మరియు ఆర్డర్స్ పట్టిక మధ్య సంబంధం ఒకటి నుండి అనేక ఉంది, కానీ ఆర్డర్స్ మరియు ఉత్పత్తులు పట్టిక మధ్య సంబంధం పరిగణలోకి. ఒక ఆర్డర్ బహుళ ఉత్పత్తులను కలిగి ఉంటుంది మరియు ఒక ఉత్పత్తిని పలు ఆదేశాలతో అనుసంధానించవచ్చు: అనేక మంది వినియోగదారులు ఒకే ఉత్పత్తులను కలిగి ఉన్న ఆర్డర్ను సమర్పించవచ్చు. ఈ రకమైన సంబంధం కనీస మూడు పట్టికలలో అవసరం.

డేటాబేస్ సంబంధాలు ముఖ్యమైనవి ఏమిటి?

డేటాబేస్ పట్టికల మధ్య స్థిరమైన సంబంధాలను ఏర్పరచడం డేటా సమగ్రతను నిర్ధారించడానికి సహాయపడుతుంది, ఇది డేటాబేస్ సాధారణీకరణకు దోహదపడుతుంది. ఉదాహరణకు, మేము ఏదైనా విదేశీ పట్టికను ఉపయోగించి ఏ పట్టికలను కలుపకపోతే మరియు అలాంటి కోర్సులను మరియు ఉపాధ్యాయుల పట్టికలో డేటాను కలిపి ఉంటే,

ఉపాధ్యాయులు మరియు కోర్సులు
Teacher_IDTeacher_Nameకోర్సు
Teacher_001కార్మెన్బయాలజీ, మఠం
Teacher_002వేరోనికామఠం
Teacher_003జార్జ్ఇంగ్లీష్

ఈ డిజైన్ కఠినమైనది మరియు డేటాబేస్ సాధారణీకరణ, మొదటి సాధారణ రూపం (1NF) యొక్క మొదటి సిద్ధాంతాన్ని ఉల్లంఘిస్తుంది, ఇది ప్రతి పట్టిక కణంలో ఒక వివిక్త డేటాను కలిగి ఉండాలి.

లేదా బహుశా మేము 1NF ను అమలు చేయడానికి, కార్మెన్ కోసం రెండవ రికార్డ్ను జోడించాలని నిర్ణయించుకున్నాము:

ఉపాధ్యాయులు మరియు కోర్సులు
Teacher_IDTeacher_Nameకోర్సు
Teacher_001కార్మెన్బయాలజీ
Teacher_001కార్మెన్మఠం
Teacher_002వేరోనికామఠం
Teacher_003జార్జ్ఇంగ్లీష్

ఇది ఇప్పటికీ ఒక బలహీన రూపకల్పన, అనవసరమైన నకలు మరియు పిలవబడే పరిచయం డేటా చొప్పించడం అతిక్రమణలు , అనగా అది అస్థిరమైన డేటాకు దోహదపడుతుందని అర్థం.

ఉదాహరణకు, ఒక ఉపాధ్యాయుడు బహుళ రికార్డులను కలిగి ఉంటే, కొన్ని డేటా సవరించాల్సిన అవసరం ఉంటే, కానీ డేటా సవరణను ప్రదర్శించే వ్యక్తి బహుళ రికార్డులను గుర్తించలేదా? ఈ టేబుల్ తరువాత అదే వ్యక్తికి వేర్వేరు డేటాను కలిగి ఉంటుంది, గుర్తించడానికి లేదా నివారించడానికి ఎలాంటి స్పష్టమైన మార్గాన్ని లేకుండా.

ఈ పట్టికను రెండు పట్టికలు, ఉపాధ్యాయులు మరియు కోర్సులు (పైన ఊహించినట్లుగా) బ్రేకింగ్ చేయడం, డేటా మధ్య సరైన సంబంధాన్ని సృష్టిస్తుంది మరియు అందువల్ల డేటా స్థిరత్వం మరియు ఖచ్చితత్వాన్ని నిర్ధారించడానికి సహాయపడుతుంది.