3.1 డేటాబేస్ సాధారణీకరణ

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

డేటాబేస్ సంబంధాలను సాధారణ రూపాలకు అనుగుణంగా ఉండే రూపానికి మార్చే ప్రక్రియను సాధారణీకరణ అంటారు. సాధారణీకరణ అనేది డేటాబేస్ యొక్క నిర్మాణాన్ని కనిష్ట లాజికల్ రిడెండెన్సీని అందించే ఫారమ్‌కి తీసుకురావడానికి ఉద్దేశించబడింది మరియు పనితీరును తగ్గించడం లేదా పెంచడం లేదా డేటాబేస్ యొక్క భౌతిక పరిమాణాన్ని తగ్గించడం లేదా పెంచడం కోసం ఉద్దేశించబడలేదు .

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

  • కొన్ని రకాల రిడెండెన్సీని మినహాయించడం;
  • కొన్ని నవీకరణ క్రమరాహిత్యాలను పరిష్కరించండి;
  • వాస్తవ ప్రపంచానికి తగినంత "అధిక-నాణ్యత" ప్రాతినిధ్యం ఉన్న డేటాబేస్ ప్రాజెక్ట్ అభివృద్ధి, సహజమైనది మరియు తదుపరి విస్తరణకు మంచి ఆధారం;
  • అవసరమైన సమగ్రత పరిమితులను వర్తింపజేయడానికి విధానాన్ని సులభతరం చేయడం.

రిడెండెన్సీ సాధారణంగా ప్రతి సంబంధంలో ప్రాథమిక వాస్తవాలు మాత్రమే నిల్వ చేయబడే విధంగా సంబంధాలను విచ్ఛిన్నం చేయడం ద్వారా తొలగించబడుతుంది (అనగా, ఇతర నిల్వ చేయబడిన వాస్తవాల నుండి తీసుకోని వాస్తవాలు).

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

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

సాధారణీకరణ కొన్నిసార్లు "ఇది కేవలం ఇంగితజ్ఞానం" అనే కారణంతో విమర్శించబడుతుంది మరియు ఏ సమర్థుడైన ప్రొఫెషనల్ అయినా డిపెండెన్సీ సిద్ధాంతాన్ని వర్తింపజేయకుండానే పూర్తిగా సాధారణీకరించిన డేటాబేస్‌ను "సహజంగా" రూపొందిస్తారు.

అయినప్పటికీ, ప్రొఫెసర్ క్రిస్టోఫర్ డేట్ గుర్తించినట్లుగా, సాధారణీకరణ అనేది పరిణతి చెందిన డిజైనర్‌కు అతని మనస్సులో మార్గనిర్దేశం చేసే ఇంగితజ్ఞానం యొక్క సూత్రాలు, అంటే సాధారణీకరణ సూత్రాలు సాధారణ జ్ఞానాన్ని అధికారికీకరించాయి . ఇంతలో, ఇంగితజ్ఞానం యొక్క సూత్రాలను గుర్తించడం మరియు అధికారికీకరించడం చాలా కష్టమైన పని, మరియు దానిని పరిష్కరించడంలో విజయం ఒక ముఖ్యమైన విజయం.

3.2 మొదటి సాధారణ రూపం

మొదటి సాధారణ రూపం (1NF) అనేది రిలేషనల్ డేటా మోడల్‌లో సంబంధం యొక్క ప్రాథమిక సాధారణ రూపం.

రిలేషన్ వేరియబుల్ మొదటి సాధారణ రూపంలో ఉంటుంది మరియు ఆ వేరియబుల్ యొక్క ఏదైనా చెల్లుబాటు అయ్యే విలువలో, ప్రతి రిలేషన్ టుపుల్ ప్రతి లక్షణాలకు ఖచ్చితంగా ఒక విలువను కలిగి ఉంటే మాత్రమే.

రిలేషనల్ మోడల్‌లో, సంబంధం యొక్క భావన యొక్క నిర్వచనం ప్రకారం, సంబంధం ఎల్లప్పుడూ మొదటి సాధారణ రూపంలో ఉంటుంది.

వివిధ పట్టికల కొరకు, అవి సంబంధాల యొక్క సరైన ప్రాతినిధ్యాలు కాకపోవచ్చు మరియు తదనుగుణంగా, 1NFలో ఉండకపోవచ్చు. అటువంటి సందర్భానికి క్రిస్టోఫర్ డేట్ యొక్క నిర్వచనం ప్రకారం, పట్టిక సాధారణీకరించబడుతుంది (సమానంగా, మొదటి సాధారణ రూపంలో ఉంటుంది) మరియు అది కొంత సంబంధానికి ప్రత్యక్ష మరియు నిజమైన ప్రాతినిధ్యం అయితే మాత్రమే. మరింత ప్రత్యేకంగా, సందేహాస్పద పట్టిక క్రింది ఐదు షరతులను తప్పక సంతృప్తిపరచాలి:

  • పై నుండి క్రిందికి అడ్డు వరుసల క్రమం లేదు (మరో మాటలో చెప్పాలంటే, అడ్డు వరుసల క్రమం ఎటువంటి సమాచారాన్ని అందించదు).
  • నిలువు వరుసలను ఎడమ నుండి కుడికి క్రమం చేయడం లేదు (మరో మాటలో చెప్పాలంటే, నిలువు వరుసల క్రమం ఎటువంటి సమాచారాన్ని కలిగి ఉండదు).
  • నకిలీ పంక్తులు లేవు.
  • అడ్డు వరుస మరియు నిలువు వరుస యొక్క ప్రతి ఖండన సంబంధిత డొమైన్ నుండి ఖచ్చితంగా ఒక విలువను కలిగి ఉంటుంది (మరియు మరేమీ లేదు).
  • అన్ని నిలువు వరుసలు "రెగ్యులర్".

పట్టికలోని అన్ని నిలువు వరుసల "క్రమబద్ధత" అంటే సాధారణ నిలువు వరుస పేర్లను సూచించే బదులు కొన్ని ప్రత్యేక ఆపరేటర్‌ల ఆహ్వానంలో మాత్రమే యాక్సెస్ చేయగల "దాచిన" భాగాలు ఏవీ లేవు లేదా అడ్డు వరుసలకు దుష్ప్రభావాలకు దారితీస్తాయి. లేదా ప్రామాణిక ఆపరేటర్లను ప్రారంభించేటప్పుడు పట్టికలు.

అసలైన నాన్-నార్మలైజ్డ్ (అంటే కొంత రిలేషన్ యొక్క సరైన ప్రాతినిధ్యం కాదు) టేబుల్:

ఉద్యోగి ఫోను నంబరు
ఇవనోవ్ I.I.

283-56-82

390-57-34

పెట్రోవ్ P.P. 708-62-34
సిడోరోవ్ S.S.

పట్టిక 1NFకి తగ్గించబడింది, ఇది కొంత సంబంధానికి సరైన ప్రాతినిధ్యం:

ఉద్యోగి ఫోను నంబరు
ఇవనోవ్ I.I. 283-56-82
ఇవనోవ్ I.I. 390-57-34
పెట్రోవ్ P.P. 708-62-34

3.3 రెండవ సాధారణ రూపం

రిలేషన్ వేరియబుల్ అది మొదటి సాధారణ రూపంలో ఉన్నట్లయితే మరియు ప్రతి నాన్-కీ అట్రిబ్యూట్ (ప్రతి) దాని క్యాండిడేట్ కీపై పూర్తిగా ఆధారపడి ఉంటే మాత్రమే రెండవ సాధారణ రూపంలో ఉంటుంది .

ఇర్రెడసిబిలిటీ అంటే పొటెన్షియల్ కీలో ఈ ఫంక్షనల్ డిపెండెన్సీ కూడా ఉత్పన్నమయ్యే లక్షణాల యొక్క చిన్న ఉపసమితి ఉండదు. తగ్గించలేని ఫంక్షనల్ డిపెండెన్సీ కోసం, "పూర్తి ఫంక్షనల్ డిపెండెన్సీ" యొక్క సమానమైన భావన తరచుగా ఉపయోగించబడుతుంది.

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

సంబంధాన్ని రెండవ సాధారణ రూపానికి మార్చడానికి ఒక ఉదాహరణ

{కంపెనీ బ్రాంచ్, పొజిషన్} గుణాల జత కింది రిలేషన్‌లో ప్రాథమిక కీని ఏర్పరుస్తుంది:

ఆర్
కంపెనీ శాఖ ఉద్యోగ శీర్షిక జీతం కంప్యూటర్ లభ్యత
టామ్స్క్‌లోని శాఖ క్లీనర్ 20000 నం
మాస్కోలో శాఖ ప్రోగ్రామర్ 40000 తినండి
టామ్స్క్‌లోని శాఖ ప్రోగ్రామర్ 25000 తినండి

జీతం బ్రాంచ్ మరియు పొజిషన్‌పై ఆధారపడి ఉంటుందని మరియు కంప్యూటర్ లభ్యత స్థానంపై మాత్రమే ఆధారపడి ఉంటుందని చెప్పండి.

ఒక ఫంక్షనల్ డిపెండెన్స్ పొజిషన్ ఉంది -> కంప్యూటర్‌ను కలిగి ఉండటం, దీనిలో ఎడమ వైపు (నిర్ధారణ) ప్రాథమిక కీలో ఒక భాగం మాత్రమే, ఇది రెండవ సాధారణ రూపం యొక్క స్థితిని ఉల్లంఘిస్తుంది.

2NFకి తగ్గించడానికి, అసలు సంబంధాన్ని రెండు సంబంధాలుగా విభజించాలి:

R1
కంపెనీ శాఖ ఉద్యోగ శీర్షిక జీతం
టామ్స్క్‌లోని శాఖ క్లీనర్ 20000
మాస్కోలో శాఖ ప్రోగ్రామర్ 40000
టామ్స్క్‌లోని శాఖ ప్రోగ్రామర్ 25000
R2
ఉద్యోగ శీర్షిక కంప్యూటర్ లభ్యత
క్లీనర్ నం
ప్రోగ్రామర్ తినండి
ప్రోగ్రామర్ తినండి

3.4 మూడవ సాధారణ రూపం (3NF)

రిలేషన్ వేరియబుల్ R 3NFలో ఉంటే మరియు కింది షరతులు నిజమైతే మాత్రమే:

  • ఆర్రెండవ సాధారణ రూపంలో ఉంది.
  • నాన్-కీ లక్షణం లేదుఆర్అభ్యర్థి కీపై ట్రాన్సిటివ్ ఫంక్షనల్ డిపెండెన్స్‌లో లేదుఆర్.

నిర్వచనం కోసం వివరణలు:

సంబంధం R యొక్క నాన్-కీ అట్రిబ్యూట్ అనేది R యొక్క అభ్యర్థి కీలలో దేనికీ చెందని లక్షణం.

X లక్షణాల సమితిపై Z (X → Z అని వ్రాశారు, “xని నిర్ణయిస్తుంది z” అని ఉచ్ఛరిస్తారు) యొక్క క్రియాత్మక ఆధారపడటం Y ఆ X → Y మరియు Y → Z. ఇందులో సందర్భంలో, X, Y మరియు Z సెట్‌లలో ఏదీ మరొకదాని యొక్క ఉపసమితి కాదు, అనగా ఫంక్షనల్ డిపెండెన్సీలు X → Z, X → Y మరియు Y → Z లు అల్పమైనవి కావు మరియు Y → X అనే ఫంక్షనల్ డిపెండెన్సీ కూడా లేదు.

3NF యొక్క నిర్వచనం, కాడ్‌కి సమానం, కానీ విభిన్నంగా పదాలు, 1982లో కార్లో జానియోలో అందించారు. దాని ప్రకారం, రిలేషన్ వేరియబుల్ 3NFలో ఉంటుంది మరియు దాని యొక్క ప్రతి ఫంక్షనల్ డిపెండెన్సీలు X → A కింది షరతుల్లో కనీసం ఒకదానిని సంతృప్తిపరిచినట్లయితే మాత్రమే:

  • Xలో A ఉంది (అనగా, X → A అనేది ట్రివియల్ ఫంక్షనల్ డిపెండెన్సీ)
  • X - సూపర్ కీ
  • A అనేది కీలక లక్షణం (అంటే, A అనేది అభ్యర్థి కీలో భాగం).

జానియోలో యొక్క నిర్వచనం 3NF మరియు మరింత కఠినమైన బోయ్స్-కాడ్ సాధారణ ఫారమ్ (BCNF) మధ్య వ్యత్యాసాన్ని స్పష్టంగా నిర్వచిస్తుంది: BCNF మూడవ షరతును మినహాయించింది ("A అనేది ఒక ముఖ్య లక్షణం").

కాడ్ యొక్క 3NF నిర్వచనం యొక్క చిరస్మరణీయమైన మరియు సాంప్రదాయకంగా వివరణాత్మక సారాంశం బిల్ కెంట్ ద్వారా అందించబడింది: ప్రతి నాన్-కీ లక్షణం "కీ గురించి సమాచారాన్ని అందించాలి, పూర్తి కీ మరియు కీ తప్ప మరేమీ కాదు " .

నాన్-కీ గుణాల యొక్క "పూర్తి కీ"పై ఆధారపడే పరిస్థితి సంబంధం రెండవ సాధారణ రూపంలో ఉందని నిర్ధారిస్తుంది; మరియు వారు "కీలకము తప్ప మరేమీ కాదు"పై ఆధారపడవలసిన పరిస్థితి ఏమిటంటే వారు మూడవ సాధారణ రూపంలో ఉన్నారు.

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

కెంట్ యొక్క 3NF డెఫినిషన్ వెర్షన్ డేటా సూత్రీకరణ యొక్క బోయ్స్-కాడ్ సాధారణ ఫారమ్ వెర్షన్ కంటే తక్కువ కఠినమైనది, ఎందుకంటే మునుపటిది నాన్-కీ అట్రిబ్యూట్‌లు కీలపై ఆధారపడి ఉంటుందని మాత్రమే పేర్కొంది.

ప్రాథమిక గుణాలు (కీలు లేదా వాటి భాగాలు) క్రియాత్మకంగా అస్సలు ఆధారపడవలసిన అవసరం లేదు; వాటిలో ప్రతి ఒక్కటి కీని స్వయంగా లేదా దానిలో కొంత భాగాన్ని అందించడం ద్వారా కీ గురించి సమాచారాన్ని అందిస్తుంది. ఈ నియమం నాన్-కీ అట్రిబ్యూట్‌లకు మాత్రమే చెల్లుబాటు అవుతుందని ఇక్కడ గమనించాలి, ఎందుకంటే దీన్ని అన్ని లక్షణాలకు వర్తింపజేయడం వలన అన్ని సంక్లిష్ట ప్రత్యామ్నాయ కీలు పూర్తిగా నిలిపివేయబడతాయి, ఎందుకంటే అటువంటి కీలోని ప్రతి మూలకం "పూర్తి కీ" షరతును ఉల్లంఘిస్తుంది.

రిలేషన్ వేరియబుల్ R1ని ఉదాహరణగా పరిగణించండి:

R1
ఉద్యోగి శాఖ టెలిఫోన్
గ్రిషిన్ అకౌంటింగ్ 11-22-33
వాసిలీవ్ అకౌంటింగ్ 11-22-33
పెట్రోవ్ సరఫరా 44-55-66

ప్రతి ఉద్యోగి ప్రత్యేకంగా ఒక విభాగానికి చెందినవాడు; ప్రతి విభాగానికి ఒకే టెలిఫోన్ ఉంది. ఉద్యోగి లక్షణం ప్రాథమిక కీ. ఉద్యోగులకు వ్యక్తిగత ఫోన్‌లు లేవు మరియు ఉద్యోగి ఫోన్ నంబర్ డిపార్ట్‌మెంట్‌పై మాత్రమే ఆధారపడి ఉంటుంది.

ఉదాహరణలో, కింది ఫంక్షనల్ డిపెండెన్సీలు ఉన్నాయి: ఉద్యోగి → విభాగం, విభాగం → ఫోన్, ఉద్యోగి → ఫోన్.

రిలేషన్ వేరియబుల్ R1 రెండవ సాధారణ రూపంలో ఉంది ఎందుకంటే ప్రతి లక్షణం సంభావ్య కీ ఉద్యోగిపై తగ్గించలేని ఫంక్షనల్ డిపెండెన్సీని కలిగి ఉంటుంది.

సంబంధం ఉద్యోగి → ఫోన్ ట్రాన్సిటివ్, కాబట్టి సంబంధం మూడవ సాధారణ రూపంలో లేదు.

R1ని విభజించడం వలన 3NFలో ఉన్న రెండు రిలేషన్ వేరియబుల్స్ ఏర్పడతాయి:

R2
శాఖ టెలిఫోన్
అకౌంటింగ్ 11-22-33
సరఫరా 44-55-66

R3
ఉద్యోగి శాఖ
గ్రిషిన్ అకౌంటింగ్
వాసిలీవ్ అకౌంటింగ్
పెట్రోవ్ సరఫరా

ప్రారంభ సంబంధం R1, అవసరమైతే, R2 మరియు R3 సంబంధాలలో చేరిన ఆపరేషన్ ఫలితంగా సులభంగా పొందవచ్చు.