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

Hvordan man håndterer SQL Modification Anomalies and Normal Forms - dummies

Video: How To Install MySQL on Windows 10 2024

Video: How To Install MySQL on Windows 10 2024
Anonim

En lang række problemer - kaldet modifikationsanomalier - kan plage en database, hvis du ikke strukturerer SQL database korrekt. For at forhindre disse problemer kan du normalisere databasestrukturen. Normalisering indebærer generelt opdeling af en database tabel i to enklere tabeller.

Modifikationsanomalier er så navngivet, fordi de genereres ved at tilføje, ændre til eller slette data fra en database tabel.

Antag for eksempel at din virksomhed sælger rengøringsprodukter til husholdningerne, og du opkræver alle kunder samme pris for hvert produkt. SALES bordet holder styr på alt for dig. Antag at kunde 1001 bevæger sig væk og ikke længere er kunde. Du er ligeglad med hvad han har købt i fortiden, fordi han ikke vil købe noget fra dig igen. Du vil slette sin række fra bordet.

Hvis du gør det, mister du ikke bare det faktum, at kunden 1001 har købt vaskemiddel; du mister også det faktum, at vaskemiddel koster $ 12. Denne situation kaldes en sletningsanomali. Ved at slette en kendsgerning (at kunden 1001 købte vaskemiddel), fjerner du utilsigtet en anden kendsgerning (det vaskemiddel koster $ 12).

Du kan bruge det samme bord til at illustrere en indsætningsanomali. Antag for eksempel at du vil tilføje stok deodorant til din produktlinje til en pris på $ 2. Du kan ikke tilføje disse data til SALES-bordet, før en kunde køber stick deodorant.

Problemet med SALES-tabellen er, at denne tabel beskæftiger sig med mere end én ting: Det dækker ikke kun hvilke produkter kunderne køber, men også hvad produkterne koster. For at eliminere uregelmæssighederne skal du opdele SALES-tabellen i to tabeller, der kun omhandler et tema eller en ide.

  • CUST_PURCH, der omhandler den eneste ide om kundekøb.

  • PROD_PRICE, der beskæftiger sig med den enkeltes idé om produktpriser.

Du kan nu slette rækken for kunde 1001 fra CUST_PURCH uden at miste det faktum, at vaskemiddel koster $ 12. (Vaskene til vaskemiddel opbevares nu i PROD_PRICE.) Du kan også tilføje stok deodorant til PROD_PRICE, uanset om nogen har købt produktet. Købsoplysningerne gemmes andre steder i CUST_PURCH-tabellen.

Processen med at opdele et bord i flere tabeller, der hver har et enkelt tema, kaldes normalisering. En normalisering, der løser et problem, kan ikke påvirke andre problemer.Du skal muligvis udføre flere på hinanden følgende normaliseringsoperationer for at reducere hver resulterende tabel til et enkelt tema.

Hver database tabel skal omhandle et - og kun et hovedtema. Nogle gange (som du sandsynligvis gættede) at bestemme, at en tabel virkelig omhandler to eller flere temaer kan være svært.

Du kan klassificere tabeller i henhold til de typer af modifikationsanomalier, som de er underlagt. I et 1970-dokument identificerede E. F. Codd tre kilder til modifikationsanomalier og definerede første, anden og tredje normale former (1NF, 2NF, 3NF) som retsmidler til disse typer af anomalier. I de efterfølgende år opdagede Codd og andre yderligere typer af anomalier og specificerede nye normale former for at håndtere dem.

Den normale form for Boyce-Codd (BCNF), den fjerde normale form (4NF) og den femte normale form (5NF) gav hver især en højere grad af beskyttelse mod modifikationsanomalier. Men først i 1981 beskriver et papir, skrevet af Ronald Fagin, domæne-nøgleformularen eller DK / NF. Ved hjælp af denne sidste normale form kan du garantere , at et bord er fri for ændringer i anomalier.

De normale formularer er indlejret i den forstand, at en tabel der er i 2NF automatisk også i 1NF. Tilsvarende er et bord i 3NF automatisk i 2NF og så videre. For de fleste praktiske applikationer er det tilstrækkeligt at sætte en database i 3NF for at sikre en høj grad af integritet. For at være helt sikker på dens integritet skal du sætte databasen i DK / NF.

Når du har normaliseret en database så meget som muligt, vil du måske gøre udvalgte denormaliseringer for at forbedre ydeevnen. Hvis du gør det, skal du være opmærksom på de typer af anomalier, der nu kan lade sig gøre.

Hvordan man håndterer SQL Modification Anomalies and Normal Forms - dummies

Valg af editor

Fuld redigeringsfunktion i Photoshop Elements 10 - dummies

Fuld redigeringsfunktion i Photoshop Elements 10 - dummies

Fuld fotoredigeringsfunktion tilbyder bundter af værktøjer, som du kan bruge at redigere dine billeder, fra korrektionsværktøjer til fastsættelse af farve og klarhed til filtre, lag og meget mere for at ændre eksisterende fotos eller skabe helt originale billeder fra bunden. Men alle disse værktøjer gør også Komplet fotoredigeringstilstand kompleks. Du kan flytte ind i ...

Generelle blandingsformer i Photoshop Elements - dummies

Generelle blandingsformer i Photoshop Elements - dummies

Elementer spænder over 25 blandingstilstande. Blend modes påvirker hvordan farver interagerer mellem lag og også hvordan farver interagerer, når du anvender maling på et lag. Ikke alene gør blandingstilstande interessante effekter, men du kan også nemt anvende, redigere eller fjerne blandingsfunktioner uden at røre dine billedpixel. De forskellige blandingstilstande ...

Geometriske formindstillinger i Photoshop Elements - dummies

Geometriske formindstillinger i Photoshop Elements - dummies

Geometriindstillinger hjælpe med at definere, hvordan dine figurer ser ud. Klik på nedpegepilen i værktøjsindstillingerne i Elements for at få adgang til de geometriske indstillinger, der beskrives i det følgende. Rektangulære og afrundede rektangel geometriske indstillinger Her er geometriske indstillinger for rektangel og afrundede rektangelformer: Ubegrænset: Giver dig mulighed for at få fri tøj til at tegne en ...

Valg af editor

Sådan bygger du tabeller i HTML5 - dummies

Sådan bygger du tabeller i HTML5 - dummies

Sommetider indeholder din webside data bedst fremlagt i et bord . Du kan bruge HTML5's komplette bordsystem til at oprette tabeller som den i dette eksempel: Den grundlæggende struktur i et bord i HTML-format er rimeligt let at forstå; Tjek koden, der oprettede tabellen i eksemplet:

Hvordan man ændrer gentagne baggrunde på CSS3-steder - dummier

Hvordan man ændrer gentagne baggrunde på CSS3-steder - dummier

Der er situationer, hvor man kun vil en enkelt kopi af et baggrundsbillede på dit CSS3-websted. Det kan være, at billedet du har brugt er noget, der ikke gentager sig godt eller er stort nok til, at du virkelig ikke vil have det gentaget. Følgende procedure viser en teknik, du kan bruge til at fortælle ...

Hvordan man opbygger en webside skabelon fra scratch-dummies

Hvordan man opbygger en webside skabelon fra scratch-dummies

Standardværktøjet på tværs af digitalt agenturer og interne afdelinger til opbygning af website grafik er Adobe Photoshop. Selvom fyrværkeri er optimeret og målrettet til at producere web-grafiske kildefiler, er det bare ikke fanget, sandsynligvis på grund af den massive genoplæringsindsats ville det medføre, at hele afdelinger gør omskifteren. At oprette et nyt ...

Valg af editor

Sådan godkendes medlemmer til din LinkedIn Group - dummier

Sådan godkendes medlemmer til din LinkedIn Group - dummier

Som flere og flere mennesker finder ud af din ny LinkedIn-gruppe, og som medlemmer begynder at deltage, kan du opleve, at nogle af de personer, der har klikket på linket for at deltage, ikke er på din forhåndsgodkendte liste. Måske er de mennesker, du ikke har forstået var på LinkedIn, eller du var ikke klar over, at de var gyldige grupper ...

Hvordan man tilføjer billeder til kroppen i din LinkedIn-profil til Visual Social Marketing - dummies

Hvordan man tilføjer billeder til kroppen i din LinkedIn-profil til Visual Social Marketing - dummies

Ud over et profilbillede giver LinkedIn brugere mulighed for at forbedre de visuelle sociale markedsføringselementer i deres profiler ved at tilføje billeder til deres profilprofil. Du kan tilføje billeder til ethvert afsnit i din LinkedIn-profil. Tilføjelse af billeder til din profil kan hjælpe dig med at fortælle din historie visuelt og ...

Sådan tilføjer du en virksomhedsside til LinkedIn - dummies

Sådan tilføjer du en virksomhedsside til LinkedIn - dummies

, Når du har opfyldt kravene til oprettelse en virksomhedsside på LinkedIn, er det tid til at komme i gang ved at tilføje selskabets side til Linkedins system. For at oprette din virksomhedsside skal du blot følge disse trin: