Skip to main content

ఎ గైడ్ టు అండర్ స్టాండింగ్ డేటాబేస్ డిపెండెన్సీస్

Anonim

ఒక డిపెండెన్సీ అనేది లక్షణాల మధ్య సంబంధానికి వర్తిస్తుంది లేదా నిర్వచిస్తుంది. అదే డేటాబేస్ టేబుల్లో నిల్వ చేసిన సమాచారం ప్రత్యేకంగా అదే పట్టికలో నిల్వ చేసిన ఇతర సమాచారాన్ని నిర్దేశించినప్పుడు ఇది ఒక డేటాబేస్లో సంభవిస్తుంది. ఒక లక్షణం యొక్క విలువను (లేదా గుణాల సమూహం) తెలుసుకోవడం అదే పట్టికలో మరొక లక్షణం (లేదా లక్షణాల సమితి) యొక్క విలువను మీకు తెలియజేయడానికి సరిపోతుంది.

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

డేటాబేస్ డిపెండెన్సీలు మరియు ఫంక్షనల్ డిపెండెన్సీలు

ఒక పట్టికలో లక్షణాల మధ్య ఆధారపడటం అనేది ఆ లక్షణాల మధ్య ఫంక్షనల్ డిపెండెన్సీ ఉందని చెపుతూ ఉంటుంది. ఒక డేటాబేస్లో డిపెండెన్సీ ఉంటే ఆ లక్షణం B లక్షణం A మీద ఆధారపడి ఉంటుంది, మీరు ఈ విధంగా వ్రాస్తారు:

A -> B

ఉదాహరణకు, సోషల్ సెక్యూరిటీ నంబర్ (SSN) మరియు పేరుతో పట్టిక జాబితా ఉద్యోగి లక్షణాల్లో, ఇది పేరు SSN (లేదా SSN -> పేరు) పై ఆధారపడి ఉంటుందని చెప్పవచ్చు ఎందుకంటే ఉద్యోగి పేరు ఒక SSN నుండి ప్రత్యేకంగా నిర్ణయించబడుతుంది. అయితే, రివర్స్ స్టేట్మెంట్ (పేరు -> SSN) నిజం కాదు ఎందుకంటే ఒకటి కంటే ఎక్కువ ఉద్యోగులకు ఒకే పేరు ఉంటుంది కానీ ఎల్లప్పుడూ వివిధ SSN లు కలిగి ఉంటాయి.

ట్రివియాల్ ఫంక్షనల్ డిపెండెన్సీలు

అసలైన లక్షణాన్ని కలిగి ఉన్న గుణాల సముదాయంలో ఒక లక్షణం యొక్క క్రియాత్మక పరాధీనతను మీరు వివరించినప్పుడు ఒక చిన్న పనితీరు ఆధారపడటం జరుగుతుంది. ఉదాహరణకు, {A, B} -> B ఒక చిన్నవిషయం ఫంక్షనల్ డిపెండెన్సీ, {పేరు, SSN} -> SSN. ఫంక్షనల్ డిపెండెన్సీ ఈ రకమైన చిన్నవిషయం అని పిలుస్తారు, ఎందుకంటే ఇది సాధారణ అర్థంలో నుండి పొందవచ్చు. మీరు B యొక్క విలువను ఇప్పటికే తెలిసినట్లయితే, B యొక్క విలువ ప్రత్యేకంగా ఆ జ్ఞానంతో నిర్ణయించబడుతుంది.

పూర్తి ఫంక్షనల్ డిపెండెన్సీలు

ఫంక్షనల్ డిపెండెన్సీ స్టేట్మెంట్ యొక్క ఎడమ వైపున క్రియాత్మక పరాధీనత మరియు లక్షణాల సమితి కోసం మీరు ఇప్పటికే అవసరాలను తీర్చినప్పుడు పూర్తి క్రియాత్మక ఆధారపడటం సంభవిస్తుంది. ఉదాహరణకు, {SSN, age} -> పేరు ఒక క్రియాత్మక పరాధీనత, కానీ ఇది పూర్తిగా పనిచేసే ఆధారపడటం కాదు, ఎందుకంటే మీరు డిపెందెన్సీ సంబంధాన్ని ప్రభావితం చేయకుండా ప్రకటన యొక్క ఎడమ వైపు నుండి వయస్సును తీసివేయవచ్చు.

సంభావ్య ఆధారాలు

క్రియాత్మక పరాధీనతకు కారణమయ్యే పరోక్ష సంబంధం ఉన్నప్పుడు ట్రాన్సిమిటివ్ డిపెండెన్సీలు సంభవిస్తాయి. A -> B మరియు B -> C రెండూ కూడా నిజం అయినందున A -> C అనేది ఒక సత్యమైన డిపెండెన్సీ.

మల్టీవిలైటెడ్ డిపెండెన్సీలు

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

ఆధారాల యొక్క ప్రాముఖ్యత

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

  • రెండవ సాధారణ రూపం (2NF) లో ఒక టేబుల్ కోసం, అభ్యర్థి కీ యొక్క ఉపసమితిపై క్రియాశీలంగా ఆధారపడిన టేబుల్లో నాన్ప్రైమ్ లక్షణం యొక్క ఎటువంటి కేసు లేదు.
  • మూడవ సాధారణ రూపం (3NF) లో ఒక టేబుల్ కోసం, ప్రతి నాన్ప్రైమ్ లక్షణానికి ప్రతి అభ్యర్ధన కీపై నోట్రన్సియానిటివ్ ఫంక్షనల్ డిపెండెన్సీ ఉండాలి.
  • ఒక పట్టిక కోసం బోయ్స్-కోడెడ్ నార్మల్ ఫారం (BCNF) లో, ప్రతి ఫంక్షనల్ డిపెండెన్సీ (ట్రివియాల్ డిపెండెన్సీల కంటే ఇతర) ఒక సూపర్కీయంలో ఉండాలి.
  • ఒక టేబుల్ నాల్గవ సాధారణ రూపంలో (4NF) ఉండాలి, దీనికి మల్టివిలుడు డిపెండెన్సీలు ఉండకూడదు.