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 2025

Video: How To Install MySQL on Windows 10 2025
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

Få hjælp til din kodependency - dummies

Få hjælp til din kodependency - dummies

Hvis du mener, at du måske er afhængig af hinanden, har du brug for hjælp til at ændre din adfærd. Her er nogle kilder til hjælp til dem, der lider af kodependens: Læs alt hvad du kan om kodependency (men læsning alene er utilstrækkelig til at ændre). Gå til et tolv-trinsmøde for kodependenter, f.eks. Codependents Anonym, kaldet CoDA eller Al-Anon for ...

Helbredelse Depression med Mindfulness er muligt - men det tager tid - dummies

Helbredelse Depression med Mindfulness er muligt - men det tager tid - dummies

Med den rigtige støtte , er opsving fra depression med mindfulness muligt. Det er nyttigt at huske at enhver helbredelse gennem depression tager tid og ofte mødes med en op og ned proces af lows, højder, stabile perioder, lavt niveau igen, så mere stabile tider, der fører til en anden forbedring og følelse bedre. Så meget som du ...

Sunde alternativer til loathsome Personal Labels - dummies

Sunde alternativer til loathsome Personal Labels - dummies

Du kan forandre hvordan du føler ved at ændre den måde du tænker og snakker om dig selv. Nedenstående tabel opdeler mellem negative selvdæmpende etiketter, som du måske siger højt eller indadtil tænker på dig selv og konstruktive sundere bekræftelser, som du kan vælge at sige og føle i stedet. At skifte dine ord på denne måde kan hjælpe dig ...

Valg af editor

Sådan oprettes dit DSLR-filmprojekt - dummier

Sådan oprettes dit DSLR-filmprojekt - dummier

Det er nemt at starte et DSLR-filmprojekt. Bare gå til Fil → Ny → Projekt for at lave en ny. Derefter skal du give det et navn, helst en der har noget at gøre med filmen. Du kan kalde det The Last Kiss eller Debbie. Det er ligegyldigt. Bare navngiv det og klik på OK. Udnyt ...

Sådan skaber du dramatisk lys til din DSLR-film - dummier

Sådan skaber du dramatisk lys til din DSLR-film - dummier

Forstå begrebet dramatisk belysning er en start, men teori får dig kun så langt. Det hjælper ikke medmindre du kan bruge din DSLR til at skabe overbevisende belysning. Traditionelt trepunkts lys giver et godt udgangspunkt. Derefter bliver tingene mere interessante. Filmlys som Rembrandt Når du tænker på det mest dramatiske ...

Hvordan man laver magiske film med flip video - dummier

Hvordan man laver magiske film med flip video - dummier

En magisk film er magisk, primært fordi du er overlader det til FlipShare til at redigere sammen tilfældige segmenter af dine klip og billeder i en endelig forkortet film, der fanger den overordnede essens af dine klip. Nogle vigtige beslutninger Magic Movie-funktionen gør med hensyn til dine klip, når du opretter en Magic Movie ...

Valg af editor

Hvordan man arbejder med CSS3-moduler - dummier

Hvordan man arbejder med CSS3-moduler - dummier

For at gøre det enklere, kan CSS3-modulerne adskilles i ti kategorier: grænser, baggrunde, skrifttyper, teksteffekter, flere kolonner, overgange, 2D overgange, 3D overgange, animationer og brugergrænseflade. Tag et kort kig på hvert modul for at se, hvad det kan gøre. Grænser: Grænsemodulet udvider kapaciteterne i grænsekategorien ved at tilføje valgmuligheder ...

Sådan arbejder du med CSS3 Pattern Selectors - dummies

Sådan arbejder du med CSS3 Pattern Selectors - dummies

I nogle tilfælde et valg du har brug for make in CSS3 har intet at gøre med enten tags eller attributter, men mønsteret, hvor objekterne vises på siden. Du kan f.eks. Kun vælge det første objekt, uanset hvad det pågældende objekt kan være. I nogle tilfælde vil du ...

Hvordan man arbejder med skyder i CSS3 - dummies

Hvordan man arbejder med skyder i CSS3 - dummies

Skydere giver brugeren mulighed for at indtaste en værdi visuelt - som en del af en helhed. I CSS3 sikrer en skyder, at brugeren indtaster en korrekt værdi inden for en række værdier, så du behøver ikke bekymre dig om sikkerhedsproblemer eller forkerte værdier. Som et resultat giver skyderen et værdifuldt middel til ...