3NF మరియు BCNF మధ్య వ్యత్యాసం
విషయము
నార్మలైజేషన్ తొలగించే పద్ధతి పునరుక్తి ఒక సంబంధం నుండి డేటాబేస్ల పనితీరును దిగజార్చే చొప్పించడం, తొలగించడం మరియు నవీకరణ క్రమరాహిత్యాలను తగ్గిస్తుంది. ఈ వ్యాసంలో, మేము రెండు అధిక సాధారణ రూపాల మధ్య విభేదిస్తాము, అనగా 3NF మరియు BCNF. 3NF మరియు BCNF మధ్య ప్రాథమిక వ్యత్యాసం ఏమిటంటే 3NF ఒక సంబంధం నుండి ట్రాన్సిటివ్ డిపెండెన్సీని మరియు బిసిఎన్ఎఫ్లో ఉండవలసిన పట్టికను తొలగిస్తుంది, ఒక సంబంధంలో అల్పమైన ఫంక్షనల్ డిపెండెన్సీ X-> Y కలిగి ఉండాలి, X సూపర్ కీ అయితే మాత్రమే.
క్రింద చూపిన పోలిక చార్ట్ సహాయంతో 3NF మరియు BCNF మధ్య తేడాలను చర్చిద్దాం.
- పోలిక చార్ట్
- నిర్వచనం
- కీ తేడాలు
- ముగింపు
పోలిక చార్ట్
పోలిక కోసం ఆధారం | 3NF | BCNF |
---|---|---|
కాన్సెప్ట్ | నాన్-ప్రైమ్ గుణం అభ్యర్థి కీపై సక్రమంగా ఆధారపడి ఉండకూడదు. | R లో ఏదైనా చిన్నవిషయ పరతంత్రత కోసం X-> Y అని చెప్పండి, X రిలేషన్ R యొక్క సూపర్ కీగా ఉండాలి. |
డిపెండెన్సీ | అన్ని డిపెండెన్సీలను త్యాగం చేయకుండా 3 ఎన్ఎఫ్ పొందవచ్చు. | బిసిఎన్ఎఫ్లో డిపెండెన్సీలు భద్రపరచబడవు. |
కుళ్ళిన | 3NF లో లాస్లెస్ కుళ్ళిపోవడం సాధించవచ్చు. | లాస్లెస్ కుళ్ళిపోవడం బిసిఎన్ఎఫ్లో సాధించడం కష్టం. |
3NF యొక్క నిర్వచనం
ఒక పట్టిక లేదా సంబంధం ఉన్నట్లు పరిగణించబడుతుంది మూడవ సాధారణ రూపం పట్టిక ఇప్పటికే ఉంటేనే 2NF మరియు లేదు కాని ప్రధాన గుణం transitively ఆధారపడి ఉంటుంది అభ్యర్థి కీ సంబంధం.
కాబట్టి, నేను 3NF లో పట్టికను సాధారణీకరించే విధానాన్ని పరిష్కరించే ముందు, అభ్యర్థి కీని చర్చించడానికి నన్ను అనుమతించండి. ఒక అభ్యర్థి కీ ఉంది కనిష్ట సూపర్ కీ అనగా సంబంధం యొక్క అన్ని లక్షణాలను నిర్వచించగల కనీస లక్షణాలతో కూడిన సూపర్ కీ. కాబట్టి, మీ పట్టికను సాధారణీకరించే ప్రక్రియలో, మొదట, మీరు ఇచ్చిన సంబంధం యొక్క అభ్యర్థి కీని గుర్తిస్తారు. అభ్యర్థి కీలో భాగమైన లక్షణాలు ప్రధాన లక్షణాలు, మరియు అభ్యర్థి కీలో భాగం కాని లక్షణాలు నాన్-ప్రైమ్ గుణాలు.
ఇప్పుడు మనకు R (A, B, C, D, E, F) సంబంధం ఉంటే మరియు R సంబంధం కోసం మేము క్రింది ఫంక్షన్ డిపెండెన్సీలను కలిగి ఉన్నాము.
ఫంక్షనల్ డిపెండెన్సీలను గమనిస్తే, మేము దానిని ముగించవచ్చు AB రిలేషన్ R కోసం అభ్యర్థి కీ ఎందుకంటే కీ AB ని ఉపయోగించి మేము రిలేషన్ R. లోని అన్ని లక్షణాల విలువను శోధించవచ్చు. కాబట్టి ఎ, బి అవుతుంది ప్రధాన లక్షణాలు వారు కలిసి అభ్యర్థి కీ చేస్తారు. గుణాలు సి, డి, ఇ, ఎఫ్ అవుతుంది కాని ప్రధాన గుణాలు ఎందుకంటే వాటిలో ఏవీ అభ్యర్థి కీ యొక్క భాగం కాదు.
ప్రధానం కాని లక్షణం అభ్యర్థి కీపై పాక్షికంగా ఆధారపడనందున పట్టిక 2NF లో ఉంది
కానీ, లక్షణంగా, అందించిన ఫంక్షనల్ డిపెండెన్సీలలో ట్రాన్సిటివ్ డిపెండెన్సీని గమనించవచ్చు F అభ్యర్థి కీపై నేరుగా ఆధారపడి ఉండదు AB. బదులుగా, లక్షణం F ఉంది transitively అభ్యర్థి కీపై ఆధారపడి ఉంటుంది AB లక్షణం ద్వారా D. లక్షణం D వరకు అభ్యర్థి కీ AB నుండి F యొక్క విలువను ఆపాదించడానికి మేము కొంత విలువను కలిగి ఉన్నాము. D లక్షణం యొక్క విలువ NULL అయితే, అభ్యర్థి కీ AB సహాయంతో F యొక్క విలువను మనం ఎప్పటికీ కనుగొనలేము / శోధించలేము. 3NF సంబంధాల నుండి ట్రాన్సిటివ్ డిపెండెన్సీని తొలగించాలని డిమాండ్ చేయడానికి ఇది కారణం.
కాబట్టి, ఈ ట్రాన్సిటివ్ డిపెండెన్సీని తొలగించడానికి, మేము రిలేషన్ R ను విభజించాలి. రిలేషన్ను విభజించేటప్పుడు ఎల్లప్పుడూ అభ్యర్థి కీని ఉంచండి మరియు మొదటి రిలేషన్లో ఆ అభ్యర్థి కీపై ఆధారపడే అన్ని లక్షణాలను ఉంచండి. తదుపరి విభజించబడిన సంబంధంలో, మేము ట్రాన్సిటివ్ డిపెండెన్సీకి కారణమయ్యే లక్షణాన్ని మరియు దానిపై ఆధారపడిన లక్షణాలను రెండవ సంబంధంలో ఉంచుతాము.
ఇప్పుడు, R1 మరియు R2 పట్టికలు 3NF లో ఉన్నాయి, ఎందుకంటే దీనికి పాక్షిక మరియు ట్రాన్సిటివ్ డిపెండెన్సీలు లేవు. రిలేషన్ R1 (A, B, C, D, E) అభ్యర్థి కీ ఉంది AB అయితే, సంబంధం R2 (D, E) ఉంది D దాని అభ్యర్థి కీగా.BCNF యొక్క నిర్వచనం
బిసిఎన్ఎఫ్ 3 ఎన్ఎఫ్ కంటే బలంగా పరిగణించబడుతుంది. బిసిఎన్ఎఫ్లో ఉండటానికి R సంబంధం ఉండాలి 3NF. మరియు ఎక్కడైనా a చిన్నవిషయం కాని ఫంక్షనల్ డిపెండెన్సీ A -> B. రిలేషన్ R లో ఉంటుంది ఒక తప్పక ఉండాలి superkey సంబంధం R. యొక్క మనకు తెలిసినట్లుగా, సూపర్ కీ అనేది ఒక లక్షణం లేదా ఒక లక్షణం యొక్క సమితిని కలిగి ఉంటుంది, ఇది సంబంధం యొక్క మొత్తం లక్షణాలను నిర్ణయిస్తుంది.
ఇప్పుడు, బిసిఎన్ఎఫ్ ను మంచి మార్గంలో అర్థం చేసుకోవడానికి ఒక ఉదాహరణకి వెళ్దాం. మనకు సంబంధం ఉందని అనుకుందాం R (A, B, C, D, F), ఇవి క్రింది ఫంక్షనల్ డిపెండెన్సీలను కలిగి ఉంటాయి.
R సంబంధాన్ని గమనించడం ద్వారా, మేము దానిని చెప్పగలం ఒక మరియు BF ఉన్నాయి అభ్యర్థి కీలు రిలేషన్ R యొక్క, ఎందుకంటే అవి మాత్రమే రిలేషన్ R. లోని అన్ని లక్షణాల కోసం విలువను శోధించగలవు. కాబట్టి ఎ, బి, ఎఫ్ ఉన్నాయి ప్రధాన లక్షణాలు అయితే, సి మరియు D ఉన్నాయి కాని ప్రధాన గుణాలు. పైన ఉన్న ఫంక్షనల్ డిపెండెన్సీలలో ట్రాన్సిటివ్ డిపెండెన్సీ గమనించబడదు. అందువల్ల, టేబుల్ R 3NF లో ఉంది.కానీ ఒక ఫంక్షనల్ డిపెండెన్సీ అనగా. డి -> ఎఫ్ BCNF యొక్క నిర్వచనాన్ని ఉల్లంఘిస్తోంది, దీని ప్రకారం, D -> F ఉంటే D ఉండాలి సూపర్ కీ ఇది ఇక్కడ కాదు. కాబట్టి మేము రిలేషన్ R ను విభజిస్తాము.
ఇప్పుడు, పట్టికలు R1 nd R2 BCNF లో ఉన్నాయి. రిలేషన్ R1 రెండు ఉంది అభ్యర్థి కీలు ఒక మరియు B, R1 యొక్క అల్పమైన ఫంక్షనల్ డిపెండెన్సీ అనగా A-> BCD మరియు B -> ACD, BCNF కొరకు A మరియు B గా పట్టుకోండి. రిలేషన్ R2 ఉంది D దాని వలె అభ్యర్థి కీ మరియు ఫంక్షనల్ డిపెండెన్సీ D -> F కూడా BCNF కొరకు D ను సూపర్ కీగా కలిగి ఉంటుంది.- 3NF ప్రకారం, నాన్-ప్రైమ్ గుణం సంబంధం యొక్క అభ్యర్థి కీపై సక్రమంగా ఆధారపడకూడదు. మరోవైపు, బిసిఎన్ఎఫ్ ఒక చిన్నవిషయ ఫంక్షనల్ డిపెండెన్సీ X -> Y సంబంధం కోసం ఉంటే; అప్పుడు X తప్పనిసరిగా సూపర్ కీ అయి ఉండాలి.
- రిలేషన్ యొక్క డిపెండెన్సీని త్యాగం చేయకుండా 3 ఎన్ఎఫ్ పొందవచ్చు. అయినప్పటికీ, బిసిఎన్ఎఫ్ పొందేటప్పుడు డిపెండెన్సీ భద్రపరచబడదు.
- పాత పట్టిక నుండి ఎటువంటి సమాచారాన్ని వదులుకోకుండా 3NF సాధించవచ్చు, అయితే BCNF పొందేటప్పుడు మేము పాత పట్టిక నుండి కొంత సమాచారాన్ని కోల్పోవచ్చు.
ముగింపు:
బిసిఎన్ఎఫ్ 3 ఎన్ఎఫ్ కంటే చాలా పరిమితం, ఇది పట్టికను మరింత సాధారణీకరించడంలో సహాయపడుతుంది. 3NF లోని సంబంధం కనీస పునరుక్తిని కలిగి ఉంది, ఇది BCNF చేత తొలగించబడుతుంది.