మీ డేటాబేస్ సాధారణీకరణ: మొదటి సాధారణ రూపం

ఈ రెండు సాధారణ నియమాలు మీ డేటాబేస్ను సాధారణీకరించడంలో సహాయపడతాయి

మొదటి సాధారణ రూపం (1NF) ఒక వ్యవస్థీకృత డేటాబేస్ కోసం ప్రాథమిక నియమాలను అమర్చుతుంది:

ఒక డేటాబేస్ యొక్క ఆచరణ రూపకల్పనను ధ్యానించినప్పుడు ఈ నియమాలు ఏమిటి? ఇది నిజంగా చాలా సులభం.

1. నకిలీని తొలగించండి

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

Intuitively, ఈ సమాచారం ట్రాక్ ఒక జాబితా లేదా స్ప్రెడ్షీట్ సృష్టిస్తున్నప్పుడు, మేము క్రింది ఖాళీలను తో పట్టిక సృష్టించవచ్చు:

అయితే, 1NF విధించిన మొదటి నియమాన్ని గుర్తుకు తెచ్చుకోండి: ఒకే పట్టిక నుండి నకిలీ స్తంభాలను తొలగించండి. స్పష్టంగా, Subordinate1-Subordinate4 నిలువు నకలు. ఈ సందర్భంలో లేవనెత్తిన సమస్యలను కొంత సమయాన్ని పరిశీలించండి. నిర్వాహకుడికి మాత్రమే ఒక అధీనమైన ఉంటే, Subordinate2-Subordinate4 నిలువు కేవలం నిల్వ స్థలాన్ని (విలువైన డేటాబేస్ వస్తువు) వృధా చేస్తాయి. అంతేకాక, ఒక నిర్వాహకుడు ఇప్పటికే 4 సహచరులను కలిగి ఉన్న కేసును ఊహించుకోండి - మరొక ఉద్యోగి తీసుకుంటే ఏమి జరుగుతుంది? మొత్తం పట్టిక నిర్మాణం మార్పు అవసరం అవుతుంది.

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

మరియు సబార్డినేట్స్ ఫీల్డ్ రూపంలో పలు ఎంట్రీలను కలిగి ఉంటుంది "మేరీ, బిల్, జో."

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

1NF యొక్క మొదటి నియమాన్ని సంతృప్తిపరిచే పట్టిక ఇక్కడ ఉంది:

ఈ సందర్భంలో, ప్రతి అధీనంలో ఒక ఎంట్రీ ఉంటుంది, కానీ నిర్వాహకులు బహుళ ఎంట్రీలను కలిగి ఉండవచ్చు.

2. ప్రాథమిక కీని గుర్తించండి

ఇప్పుడు, రెండో నియమం గురించి: ఒక ప్రత్యేక కాలమ్ లేదా నిలువు వరుసల సెట్ ( ప్రాధమిక కీ ) తో ప్రతి వరుసను గుర్తించాలా? పైన ఉన్న టేబుల్ వద్ద మీరు పరిశీలించి, ప్రాథమిక కీలాగా నిరంతర కాలమ్ యొక్క ఉపయోగాన్ని సూచించవచ్చు. వాస్తవానికి, అధీకృత నిలువు వరుస అనేది ఒక ప్రాథమిక కీ కోసం మంచి అభ్యర్ధిగా ఉంటుంది, ఎందుకంటే మా వ్యాపార నియమాలు ప్రతి అధీనంలోని ఒకే ఒక్క నిర్వాహకుడిని మాత్రమే కలిగి ఉన్నాయని పేర్కొన్నారు. అయినప్పటికీ, మన పట్టికలో నిల్వ చేయడానికి ఎంచుకున్న డేటా ఆదర్శవంతమైన పరిష్కారం కంటే తక్కువగా ఉంటుంది. మేము జిమ్ అనే మరో ఉద్యోగిని నియమించినట్లయితే ఏమి జరుగుతుంది? ఎలా మేము డేటాబేస్ లో తన మేనేజర్-అధీన సంబంధం నిల్వ లేదు?

ఒక ప్రాథమిక కీ వలె నిజమైన ఏకైక ఐడెంటిఫైయర్ (ఉద్యోగుల ID వంటిది) ను ఉపయోగించడం ఉత్తమం. మా చివరి పట్టిక ఇలా ఉంటుంది:

ఇప్పుడు, మా పట్టిక మొదటి సాధారణ రూపంలో ఉంది! మీరు సాధారణీకరణ గురించి నేర్చుకోవాలనుకుంటే, ఈ శ్రేణిలోని ఇతర వ్యాసాలను చదవండి: