Hjem Personlig finansiering Hvordan å håndtere SQL Modification Anomalies and Normal Forms - dummies

Hvordan å håndtere SQL Modification Anomalies and Normal Forms - dummies

Video: Web Programming - Computer Science for Business Leaders 2016 2024

Video: Web Programming - Computer Science for Business Leaders 2016 2024
Anonim

En rekke problemer - kalt modifikasjonsanomalier - kan plage en database hvis du ikke strukturerer SQL database riktig. For å forhindre disse problemene kan du normalisere databasestrukturen. Normalisering innebærer generelt å dele en databastabell i to enklere tabeller.

Modifikasjonsanomalier er oppkalt fordi de genereres ved å legge til, endre til eller slette data fra en databasetabell.

Anta at firmaet ditt selger rengjøringsprodukter til husholdningen, og du belaster alle kunder samme pris for hvert produkt. SALES-bordet holder styr på alt for deg. Anta at kunde 1001 beveger seg bort og ikke lenger er kunde. Du bryr deg ikke hva han har kjøpt tidligere, fordi han ikke kommer til å kjøpe noe fra deg igjen. Du vil slette sin rad fra bordet.

Hvis du gjør det, mister du ikke bare det faktum at kunden 1001 har kjøpt vaskemiddel; du mister også det faktum at vaskemiddel koster $ 12. Denne situasjonen kalles sletting avvik. Ved å slette et faktum (at kunden 1001 kjøpte vaskemiddel), sletter du et annet faktum (dette vaskemiddel koster $ 12).

Du kan bruke det samme tabellen for å illustrere en innføringsanomali. For eksempel, anta at du vil legge til deodorant til din produktlinje til en pris på $ 2. Du kan ikke legge til disse dataene i SALES-tabellen til en kunde kjøper stikk deodorant.

Problemet med SALES-tabellen er at denne tabellen omhandler mer enn én ting: Det dekker ikke bare hvilke produkter kundene kjøper, men også hva produktene koster. For å eliminere uregelmessighetene må du dele SALES-tabellen i to tabeller, som hver omhandler bare ett tema eller en ide.

  • CUST_PURCH, som omhandler den eneste ideen om kundekjøp.

  • PROD_PRICE, som omhandler den enkle ideen om produktprising.

Du kan nå slette raden for kunde 1001 fra CUST_PURCH uten å miste at vaskemiddel koster $ 12. (Kostnaden for vaskemiddel er nå lagret i PROD_PRICE.) Du kan også legge til deodorant til PROD_PRICE om noen har kjøpt produktet. Kjøpsinformasjon lagres andre steder, i CUST_PURCH-tabellen.

Prosessen med å bryte opp et bord i flere tabeller, som hver har et enkelt tema, kalles normalisering. En normaliseringsoperasjon som løser et problem, kan ikke påvirke andre problemer.Det kan hende du må utføre flere påfølgende normaliseringsoperasjoner for å redusere hver resulterende tabell til et enkelt tema.

Hver databasetabell skal omhandle ett - og bare ett - hovedtema. Noen ganger (som du sikkert gjettet) bestemmer deg for at et bord virkelig omhandler to eller flere temaer kan være vanskelig.

Du kan klassifisere tabeller i henhold til de typer modifikasjonsanomalier som de er underlagt. I et 1970-dokument identifiserte E. F. Codd tre kilder til modifikasjonsanomalier og definerte første, andre og tredje normale former (1NF, 2NF, 3NF) som rettsmidler for disse typer anomalier. I de påfølgende årene oppdaget Codd og andre flere typer anomalier og angav nye normale former for å håndtere dem.

Den normale form for Boyce-Codd (BCNF), den fjerde normale form (4NF) og den femte normalformen (5NF) gir hver en høyere grad av beskyttelse mot modifikasjonsanomalier. Først i 1981 skrev imidlertid et papir, skrevet av Ronald Fagin, domene-nøkkelform eller DK / NF. Ved å bruke denne siste vanlige skjemaet kan du garantere at et bord er fritt for endringsforstyrrelser.

De vanlige skjemaene er nestet i den forstand at en tabell som er i 2NF automatisk også i 1NF. Tilsvarende er et bord i 3NF automatisk i 2NF, og så videre. For de fleste praktiske applikasjoner er det å sette en database i 3NF tilstrekkelig for å sikre en høy grad av integritet. For å være helt sikker på integriteten, må du sette databasen til DK / NF.

Når du normaliserer en database så mye som mulig, vil du kanskje gjøre valgte denormaliseringer for å forbedre ytelsen. Hvis du gjør det, vær oppmerksom på hvilke typer anomalier som nå kan bli mulig.

Hvordan å håndtere SQL Modification Anomalies and Normal Forms - dummies

Redaktørens valg

Topp 5 Fantasy Baseball Sites - Dummies

Topp 5 Fantasy Baseball Sites - Dummies

Hvis du er en stor fantasy baseball fan og ser ut til å bli med i verden av online fantasy sport, så se ikke lenger. Følgende liste inneholder de fem beste fantasybaseball-nettstedene i henhold til nettstedslayout, oppdatert statistikk, utenfor råd og hjelp og teamstyringsalternativer.

Hva skal man gjøre som en baseball coach - dummies

Hva skal man gjøre som en baseball coach - dummies

Som en baseball trener, du ikke bare må lede teamet ditt, du må ta med forsyninger for å praktisere. Du vil kanskje øke følgende liste, men den inneholder grunnleggende for å få til alle baseballpraksis: Riktig lager førstehjelpsutstyr Ekstra vann Øvelsesplan for dagen, oppdelt etter tid ...

Får utrustet til å spille baseball - dummies

Får utrustet til å spille baseball - dummies

Når du tar baseballfeltet, bør du ta med det beste utstyret som er tilgjengelig. Du trenger ikke å bruke store summer til å kjøpe toppkvalitets tilbehør så lenge du vet hva du skal se etter og hvor du skal finne den. Med mindre du er under 10 år, kjøp utstyr som oppfyller alle de store ligaspesifikasjonene. ...

Redaktørens valg

Hvordan du finner ditt nivå av oppmerksomhet - dummies

Hvordan du finner ditt nivå av oppmerksomhet - dummies

Du kan sikkert ta noen form for ikke-tradisjonell trening og dump det i en tønne merket "mind-body. "Det er greit hvis du foretrekker enkelhet og ikke vil bli innpakket med kategorisering og vurdering. Men du kan også kikke på treningsprogrammer på et dypere nivå, vurdere omfanget av oppmerksomhet i en ...

Hvordan du får mest mulig ut av din meditasjon - dummies

Hvordan du får mest mulig ut av din meditasjon - dummies

For å få mest mulig ut av meditasjonspraksis må forplikte seg til det. Når du begynner å meditere regelmessig, kan du høste utallige fordeler - fra lavere stress og kolesterol til høyere nivåer av tilfredshet og lykke. Her er noen tips for å maksimere meditasjonspraksis: Meditere jevnlig - helst hver dag. Sett bort en ...

Redaktørens valg

Slik bruker du det nye perspektivet i Adobe Illustrator CS6 - dummies

Slik bruker du det nye perspektivet i Adobe Illustrator CS6 - dummies

I Adobe Illustrator CS6 Du kan opprette og redigere kunstverk basert på perspektivgitterfunksjonen (introdusert i CS5). Gitteret er en stor hjelp i å skape vellykkede perspektivillustrasjoner. For å vise eller skjule standardperspektivruten, trykk Ctrl + Shift + I (Windows) eller Kommando + Skift + I (Mac). Du kan bruke verktøyet Perspective Grid på verktøylinjen til å ...

Hvordan å pakke inn tekst ved hjelp av AdobeCS5 Illustrator - dummies

Hvordan å pakke inn tekst ved hjelp av AdobeCS5 Illustrator - dummies

Ved hjelp av en tekstbrytestil i Adobe Creative Suite 5 (Adobe CS5) Illustrator-prosjektet er en enkel måte å legge til litt kreativitet. En tekstpakke tvinger tekst til å vikle rundt en grafikk.

Hvordan du bruker Life Paint-funksjonen i Adobe Illustrator CS6 - dummies

Hvordan du bruker Life Paint-funksjonen i Adobe Illustrator CS6 - dummies

Ikke bekymre deg om å fylle lukkede figurer eller la filler flykte fra objekter med hull i uønskede områder. Ved å bruke Live Paint-funksjonen til Adobe Illustrator CS6, kan du lage det bildet du ønsker og fylle ut regioner med farge. Live Paint-bøtta registrerer automatisk regioner som er sammensatt av uavhengige kryssende baner og fyller dem tilsvarende. Malingen ...