మీ డేటాబేస్ను సాధారణీకరిస్తోంది: రెండవ సాధారణ ఫారం (2NF)

రెండవ సాధారణ ఫారం లో ఒక డేటాబేస్ ఉంచడం

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

2NF యొక్క సాధారణ అవసరాలు గుర్తుకు తెచ్చుకోండి:

ఈ నియమాలు ఒక సరళమైన ప్రకటనలో సంగ్రహించబడతాయి: 2NF ఒక టేబుల్లో ఉపసంహరించే డేటాను తగ్గించి, దానిని కొత్త టేబుల్ (లు) లో ఉంచడం మరియు ఆ పట్టికల మధ్య సంబంధాలను సృష్టించడం ద్వారా ప్రయత్నిస్తుంది .

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

ఈ పట్టికలో క్లుప్త పరిశీలన కొద్దిమంది పునరావృత డేటాను వెల్లడిస్తుంది. మేము "సీ క్లిఫ్, NY 11579" మరియు "మయామి, FL 33157" ప్రవేశాలను రెండుసార్లు నిల్వ చేస్తున్నాము. ఇప్పుడు, మా సాధారణ ఉదాహరణలో ఎక్కువ-జోడించిన నిల్వలా కనిపించకపోవచ్చు, కానీ మా పట్టికలో వేల వరుసలు ఉన్నట్లయితే వ్యర్థ ఖాళీని ఊహించండి. అదనంగా, సముద్ర క్లిప్ కోసం జిప్ కోడ్ మార్చబడితే, మేము డేటాబేస్ అంతటా అనేక ప్రదేశాల్లో ఆ మార్పును చేయవలసి ఉంటుంది.

ఒక 2NF- కంప్లైంట్ డేటాబేస్ నిర్మాణంలో, ఈ పునరావృత సమాచారం ప్రత్యేక పట్టికలో సేకరించబడుతుంది మరియు నిల్వ చేయబడుతుంది. మా కొత్త పట్టిక (దీనిని జిప్స్ అని పిలుద్దాం) క్రింది ఖాళీలను కలిగి ఉండవచ్చు:

మేము సూపర్-సమర్థవంతంగా ఉండాలనుకుంటే, ముందుగా ఈ పట్టికను కూడా పూరించవచ్చు - పోస్ట్ ఆఫీస్ అన్ని చెల్లుబాటు అయ్యే జిప్ సంకేతాలు మరియు వారి నగరం / రాష్ట్ర సంబంధాల డైరెక్టరీని అందిస్తుంది. ఖచ్చితంగా, మీరు డేటాబేస్ ఈ రకం ఉపయోగించిన పరిస్థితి ఎదుర్కొంది. ఒక ఆర్డర్ తీసుకొని ఎవరైనా మొదటి మీ జిప్ కోడ్ కోసం మీరు అడిగారు మరియు మీరు నుండి కాల్ చేస్తున్న నగరం మరియు రాష్ట్ర తెలుసు. ఈ రకమైన అమరిక ఆపరేటర్ లోపాన్ని తగ్గిస్తుంది మరియు సామర్థ్యాన్ని పెంచుతుంది.

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

మేము ఇప్పుడు డేటాబేస్లో నిల్వచేసిన పునరావృత సమాచారం యొక్క మొత్తంను తగ్గించింది మరియు మా నిర్మాణం రెండవ సాధారణ రూపంలో ఉంది!

మీరు మీ డాటాబేస్ సాధారణీకరించబడాలని నిర్థారించదలిస్తే, ఈ సిరీస్లో మా ఇతర వ్యాసాలను అన్వేషించండి: