Hjem Personlig finansiering SQL Domain-Key Normal Form (DK / NF) og Abnorm Form - dummies

SQL Domain-Key Normal Form (DK / NF) og Abnorm Form - dummies

Indholdsfortegnelse:

Video: DBMS - Domain Key Normal Form (DKNF) and Sixth Normal Form (6NF) 2025

Video: DBMS - Domain Key Normal Form (DKNF) and Sixth Normal Form (6NF) 2025
Anonim

Efter at en SQL-database er i tredje normale form, har du elimineret de fleste, men ikke alle, chancerne for ændring af anomalier. Normale former ud over tredje er defineret til at squash de få resterende bugs.

Domæne-nøgle normal form (DK / NF)

Boyce-Codd normal form (BCNF), fjerde normal form (4NF) og femte normal form (5NF) er eksempler på sådanne former. Hver formular eliminerer en mulig ændring af anomali, men garanterer ikke forebyggelse af alle mulige modifikationsanomalier. Domæne-nøgleformularen giver dog en sådan garanti.

En relation er i domæne-nøgleformel (DK / NF) hvis enhver begrænsning på forholdet er en logisk konsekvens af definitionen af ​​nøgler og domæner. En begrænsning i denne definition er en regel, der er præcis nok til, at du kan vurdere, hvorvidt det er sandt eller ej. En nøgle er en unik identifikator af en række i en tabel. Et domæne er sætet af tilladte værdier af en attribut.

Kig på denne database, som er i 1NF, for at se, hvad du skal gøre for at sætte databasen i DK / NF.

Tabel: SALG (Customer_ID, Product, Price)

Nøgle: Customer_ID

Begrænsninger:

  • Customer_ID bestemmer Produkt

  • Produkt bestemmer Pris

  • Customer_ID skal være et helt tal > 1000

For at håndhæve begrænsning 3 (at Customer_ID skal være et helt tal større end 1000), kan du simpelthen definere domænet for Customer_ID for at indarbejde denne begrænsning. Det gør begrænsningen til en logisk konsekvens af domænet i CustomerID-kolonnen. Produktet afhænger af Customer_ID, og ​​Customer_ID er en nøgle, så du har ikke noget problem med Begrænsning 1, hvilket er en logisk konsekvens af definitionen af ​​nøglen.

Begrænsning 2 er et problem. Pris afhænger af (er en logisk konsekvens af) Produkt, og Produkt er ikke en nøgle. Løsningen er at opdele SALES bordet i to tabeller. Én tabel bruger Customer_ID som en nøgle, og den anden bruger Produkt som en nøgle. Databasen er udover at være i 3NF, også i DK / NF.

Design dine databaser, så de er i DK / NF, hvis det er muligt. Hvis du kan gøre det, vil håndhævelse af nøgle- og domænerestriktioner medføre, at alle begrænsninger er opfyldt, og ændringer i anomalier er ikke mulige. Hvis en databasestruktur er designet til at forhindre dig i at sætte den ind i DK / NF, så skal du opbygge begrænsningerne i applikationsprogrammet, der bruger databasen. Databasen selv garanterer ikke, at begrænsningerne vil blive opfyldt.

Unormal form

Som i livet, så i databaser: Nogle gange er unormal lønnet.Du kan blive båret væk med normalisering og gå for langt. Du kan opdele en database i så mange tabeller, at hele sagen bliver uhåndterlig og ineffektiv. Ydeevne kan dæmpe. Ofte er den optimale struktur for din database noget denormaliseret.

Faktisk er praktiske databaser (de virkelig store) alligevel aldrig normaliseret helt til DK / NF. Du vil dog normalisere de databaser, du designer så meget som muligt, for at eliminere muligheden for datakorruption, der skyldes ændringer i anomalier.

Når du har normaliseret databasen, så vidt du kan, gør du nogle hentninger som et tørt løb. Hvis ydeevnen ikke er tilfredsstillende, skal du undersøge dit design for at se, om selektiv denormalisering vil forbedre ydeevnen uden at ofre integriteten. Ved omhyggeligt at tilføje redundans på strategiske steder og denormaliserende lige nok , kan du komme til en database, der er både effektiv og sikker mod uregelmæssigheder.

SQL Domain-Key Normal Form (DK / NF) og Abnorm Form - 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 ...