DBMS లో ప్రాథమిక కీ మరియు విదేశీ కీ మధ్య వ్యత్యాసం
విషయము
కీలు ఒక స్కీమాలోని పట్టికల మధ్య సంబంధాన్ని గుర్తించడానికి మరియు స్థాపించడానికి ఉపయోగించే DBMS యొక్క కీలకమైన భాగం. ఇప్పుడు, ఈ రోజు మనం DBMS యొక్క రెండు ముఖ్యమైన కీలను చర్చించబోతున్నాము, అంటే ప్రాథమిక కీ మరియు విదేశీ కీ, మరియు ప్రాధమిక కీ మరియు విదేశీ కీ మధ్య వ్యత్యాసాన్ని కూడా చర్చిస్తాము. ప్రాధమిక మరియు విదేశీ కీల మధ్య ప్రాథమిక వ్యత్యాసాన్ని డేటాబేస్ డిజైనర్ ఎంచుకున్న అభ్యర్థి కీలలో ఒకటిగా చెప్పగలను, అయితే, విదేశీ కీ అనేది మరొక సంబంధం యొక్క ప్రాధమిక కీని సూచించే కీ.
ఈ రెండింటి మధ్య చాలా ఇతర తేడాలు ఉన్నాయి, క్రింద చూపిన పోలిక చార్ట్ సహాయంతో ఆ తేడాలను గుర్తించండి.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | ప్రాథమిక కీ | విదేశీ కీ |
---|---|---|
ప్రాథమిక | ప్రాధమిక కీ అనేది ఎంచుకున్న అభ్యర్థి కీ, ఇది సంబంధంలో ఒక టుపుల్ను ప్రత్యేకంగా నిర్వచిస్తుంది. | పట్టికలోని విదేశీ కీ ఇతర పట్టిక యొక్క ప్రాధమిక కీని సూచిస్తుంది. |
శూన్య | ప్రాథమిక కీ విలువ ఎప్పటికీ NULL కాదు. | విదేశీ కీ NULL విలువను అంగీకరిస్తుంది. |
నకిలీ | ప్రాధమిక కీ లక్షణం కోసం సంబంధంలో రెండు టుపుల్స్ నకిలీ విలువలను కలిగి ఉండవు. | టూపుల్స్ విదేశీ కీ లక్షణం కోసం నకిలీ విలువను కలిగి ఉంటాయి. |
రేంజ్ | సంబంధం యొక్క ఒక ప్రాధమిక కీ మాత్రమే ఉంటుంది. | సంబంధంలో బహుళ విదేశీ కీలు ఉండవచ్చు. |
తాత్కాలిక పట్టిక | ప్రాథమిక పట్టికను తాత్కాలిక పట్టికలలో నిర్వచించవచ్చు. | విదేశీ పట్టిక పరిమితిని తాత్కాలిక పట్టికలలో నిర్వచించలేము. |
క్లస్టర్డ్ ఇండెక్స్ | అప్రమేయంగా, ఒక ప్రాధమిక కీ క్లస్టర్డ్ ఇండెక్స్ చేయబడింది. | విదేశీ కీ స్వయంచాలకంగా సూచించబడదు; ఇది మానవీయంగా చేయాలి. |
చొప్పించడం | ప్రస్తావించే విదేశీ కీ దాని కాలమ్లో ఆ విలువను కలిగి లేనప్పటికీ, ప్రాధమిక కీ లక్షణానికి మేము విలువను చొప్పించగలము. | ప్రస్తావించబడిన ప్రాధమిక కీ కాలమ్లో ఆ విలువ లేకపోతే, మేము విదేశీ కీకి విలువను చేర్చలేము. |
తొలగింపు | మీరు ప్రాధమిక కీ విలువను తొలగించే ముందు, రిఫరెన్సింగ్ పట్టిక యొక్క విదేశీ కీ కాలమ్లో సూచించే విలువ ఇప్పటికీ లేదని నిర్ధారించుకోండి. | ప్రస్తావించబడిన సంబంధం యొక్క ప్రాధమిక కీ కాలమ్లో ఆ విలువ ఉందా అని మీరు ఇబ్బంది పడకుండా విదేశీ కీ కాలమ్ నుండి విలువను తొలగించవచ్చు. |
ప్రాథమిక కీ యొక్క నిర్వచనం
ప్రాధమిక కీ ప్రత్యే సంబంధంలో టుపుల్స్ నిర్వచిస్తుంది. ఇది సంబంధంలో ఒకే లక్షణం కావచ్చు లేదా ఇది సంబంధంలో లక్షణాల సమితి కావచ్చు. ప్రాధమిక కీ లక్షణం యొక్క విలువ ఉండాలి ఎప్పుడూ లేదా అరుదుగా మార్చబడలేదు. ఇది ప్రిన్సిపాల్ అయినందున, డేటాబేస్లో ఏదైనా రికార్డును గుర్తించడం. ప్రాధమిక కీ యొక్క ఏదైనా లక్షణ విలువలో మార్పు గందరగోళాన్ని సృష్టిస్తుంది.
డేటాబేస్ డిజైనర్ ఒకదాన్ని ఎంచుకుంటుంది అభ్యర్థి కీలు ప్రాధమిక కీగా, కొన్ని అంశాలను పరిగణనలోకి తీసుకుంటుంది. మొదటి పరిశీలన ప్రాధమిక కీ లక్షణ విలువ ఎప్పుడూ కలిగి ఉండదు శూన్య విలువ. ఎందుకంటే, ప్రాధమిక కీ లక్షణ విలువ NULL ను కలిగి ఉంటే, మేము ఆ రికార్డును పట్టికలో గుర్తించలేము. ఇది ఎంటిటీ సమగ్రత అడ్డంకిని కూడా ఉల్లంఘిస్తుంది. రెండవ పరిశీలన, రెండు టుపుల్స్ లేవు పట్టికలో కలిగి ఉంటుంది అదే ప్రాధమిక కీ లక్షణానికి విలువ, ఎందుకంటే ఇది టుపుల్స్ మధ్య ప్రత్యేకతను ఉల్లంఘిస్తుంది.
మాత్రమే ఉంటుంది ఒక ప్రాధమిక కీ దేనికైనా సంబంధించి. ప్రాధమిక కీ అప్రమేయంగా ఉంటుంది క్లస్టర్-సూచిక, అంటే ప్రాధమిక కీల లక్షణాల విలువలను బట్టి పట్టికలోని అన్ని టుపుల్స్ క్రమబద్ధీకరించబడతాయి. ప్రాధమిక కీ అడ్డంకిని నిర్వచించవచ్చు a తాత్కాలిక పట్టిక. ప్రశ్న అమలు సమయంలో సృష్టించబడిన మధ్యవర్తిత్వ పట్టికలను తాత్కాలిక పట్టికలు అంటారు.
అయితే తొలగించడం సంబంధం నుండి ఒక టుపుల్, తొలగించబడిన టుపుల్ యొక్క ప్రాధమిక కీ విలువ, రిలేషన్ రిఫరెన్స్ యొక్క విదేశీ కీ కాలమ్లో ఇప్పటికీ లేనట్లు జాగ్రత్త వహించాలి. కాగా చొప్పించడం ప్రాధమిక కీపై ఎటువంటి అడ్డంకులు లేవు.
వేరే పట్టికలో ఉపయోగించినప్పుడు పట్టిక యొక్క ప్రాధమిక కీ అప్పుడు ఆ పట్టికకు విదేశీ కీ అవుతుంది. విదేశీ కీ పరిమితులు క్రింద చర్చించబడ్డాయి.
విదేశీ కీ యొక్క నిర్వచనం
ఒక సంబంధం ఉన్నప్పుడు R1, దాని లక్షణాలలో, a ప్రాథమిక కీ ఇతర సంబంధం R2, అప్పుడు ఆ లక్షణం అంటారు విదేశీ కీ సంబంధం కోసం R1. సంబంధం R1 విదేశీ కీని కలిగి ఉంటుంది సంబంధాన్ని సూచిస్తుంది ఇది రిలేషన్ R2 మరియు రిలేషన్ యొక్క ప్రాధమిక కీని సూచిస్తుంది R2 అంటారు ప్రస్తావించబడిన సంబంధం.
ప్రాధమిక కీ కాకుండా, విదేశీ కీ అంగీకరించగలదు శూన్య విలువలు ఎందుకంటే, దీనికి సంబంధించి ఒక ప్రాధమిక కీని కలిగి ఉన్నందున, రికార్డులో ఒక సంబంధాన్ని స్పష్టంగా గుర్తించే పని దీనికి లేదు. అదే విధంగా, విదేశీ కీ కూడా అంగీకరిస్తుంది నకిలీ విలువలు.
ఒక సంబంధం కలిగి ఉంటుంది బహుళ విదేశీ కీలు, ఎందుకంటే ఇది వేర్వేరు సంబంధాలలో ప్రాధమిక కీలుగా విభిన్న లక్షణాలను కలిగి ఉంటుంది. విదేశీ కీ అడ్డంకి చేయవచ్చు కాదు పై నిర్వచించబడతాయి తాత్కాలిక పట్టికలు, లేదా విదేశీ కీ a క్లస్టర్-సూచిక గుణం.
అయితే చేరిక రిఫరెన్స్ రిలేషన్ యొక్క విదేశీ కీ కాలమ్లోకి విలువ, ప్రస్తావించిన సంబంధం యొక్క ప్రాధమిక కీ కాలమ్లో చొప్పించే విలువ తప్పనిసరిగా ఉండేలా చూసుకోండి. అయితే, అయితే అడ్డంకులు లేవు తొలగించడం విదేశీ కీ కాలమ్ నుండి విలువ.
- ప్రాధమికం అనేది లక్షణాల సమితి / అభ్యర్థి కీ, ఇది సంబంధంలో రికార్డును స్పష్టంగా గుర్తిస్తుంది. అయితే, పట్టికలోని విదేశీ కీ మరొక పట్టిక యొక్క ప్రాధమిక కీని సూచిస్తుంది.
- ప్రాధమిక కీ గుణాలు ఏవీ NULL విలువలను కలిగి ఉండవు, అయితే, విదేశీ కీ లక్షణం NULL విలువను అంగీకరించగలదు.
- ఒక ప్రాధమిక కీ ప్రత్యేకమైన లక్షణ విలువలను కలిగి ఉండాలి, అయితే, విదేశీ కీ నకిలీ లక్షణ విలువలను కలిగి ఉండవచ్చు.
- సంబంధంలో బహుళ విదేశీ కీలు ఉండవచ్చు, కానీ సంబంధానికి ఒక ప్రాధమిక కీ మాత్రమే ఉంటుంది.
- ప్రాధమిక కీ అడ్డంకి తాత్కాలిక పట్టికలకు వర్తించవచ్చు. అయితే, తాత్కాలిక పట్టికలకు విదేశీ కీ పరిమితి వర్తించదు.
- ప్రాధమిక కీ అప్రమేయంగా క్లస్టర్డ్ ఇండెక్స్ చేయబడి ఉంటుంది, అయితే, విదేశీ కీ స్వయంచాలకంగా క్లస్టర్-ఇండెక్స్ చేయబడదు, కానీ ఇది మానవీయంగా చేయవచ్చు.
- విలువను విదేశీ కీ కాలమ్లోకి చొప్పించేటప్పుడు, సూచించిన ప్రాధమిక కీ కాలమ్లో చొప్పించే లక్షణ విలువ ఉందని నిర్ధారించుకోండి. అయితే, ప్రాధమిక కీ కాలమ్లో చొప్పించడానికి ఎటువంటి పరిమితి లేదు.
- ప్రాధమిక కీ కాలమ్ నుండి విలువను తొలగించేటప్పుడు, తొలగించబడిన లక్షణ విలువ సూచించే విదేశీ కీ కాలమ్లో లేదని నిర్ధారించుకోండి. అయితే, విదేశీ కీ కాలమ్ నుండి విలువను తొలగించడంలో ఎటువంటి అడ్డంకులు లేవు.
ముగింపు:
ప్రాథమిక కీ మరియు విదేశీ కీ రెండూ స్కీమాకు అవసరం. ఒక ప్రాధమిక కీ ప్రతి సంబంధాన్ని ప్రత్యేకంగా నిర్వచిస్తుంది, అయితే రెండు సంబంధాల మధ్య సంబంధాన్ని సృష్టించడానికి ఒక విదేశీ కీ ఉపయోగించబడుతుంది.