Hem Personliga finanser Och abnorm form - dummies

Och abnorm form - dummies

Innehållsförteckning:

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

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

Efter att en SQL-databas finns i tredje normala form har du eliminerat de flesta men inte alla chanser att ändra anomalier. Normala former utöver den tredje definieras för att squash de få kvarvarande buggarna.

Domännyckel normal form (DK / NF)

Boyce-Codd normal form (BCNF), fjärde normal form (4NF) och femte normal form (5NF) är exempel på sådana former. Varje formulär eliminerar en eventuell modifieringsanomali men garanterar inte förebyggande av alla möjliga modifieringsanomalier. Domännyckelens normala form ger dock en sådan garanti.

En relation är i domännyckel normal form (DK / NF) om varje begränsning på relationen är en logisk följd av definitionen av nycklar och domäner. En begränsning i denna definition är en regel som är exakt nog att du kan utvärdera om det är sant. En nyckel är en unik identifierare för en rad i en tabell. En domän är uppsättningen tillåtna värden för ett attribut.

Titta på den här databasen, som finns i 1NF, för att se vad du måste göra för att sätta den databasen i DK / NF.

Tabell: FÖRSÄLJNING (Kund_ID, Produkt, Pris)

Nyckel: Kund_ID

Begränsningar:

  • Customer_ID bestämmer Produkt

  • Produkten bestämmer Pris

  • Customer_ID måste vara ett heltal > 1000

För att genomdriva begränsning 3 (att Customer_ID måste vara ett heltal större än 1000) kan du helt enkelt definiera domänen för Customer_ID för att införliva denna begränsning. Det gör begränsningen en logisk följd av domänen i CustomerID-kolumnen. Produkten beror på Customer_ID, och Customer_ID är en nyckel, så du har inga problem med Constraint 1, vilket är en logisk följd av definitionen av nyckeln.

Begränsning 2 är ett problem. Priset beror på (är en logisk följd av) Produkt och Produkt är inte en nyckel. Lösningen är att dela försäljningsbordet i två tabeller. En tabell använder Customer_ID som en nyckel, och den andra använder Produkt som en nyckel. Databasen, förutom att vara i 3NF, finns också i DK / NF.

Designa dina databaser så att de är i DK / NF om möjligt. Om du kan göra det, gör att alla nyckelbegränsningar och domänbegränsningar får alla begränsningar att uppfyllas, och förändringsavvikelser är inte möjliga. Om en databas struktur är utformad för att förhindra att du lägger den in i DK / NF, måste du bygga begränsningarna i det applikationsprogram som använder databasen. Databasen själv garanterar inte att begränsningarna kommer att uppfyllas.

Onormal form

Som i livet, så i databaser: Ibland är det onormalt att betala.Du kan få bäras bort med normalisering och gå för långt. Du kan bryta upp en databas i så många tabeller att hela saken blir ojämn och ineffektiv. Prestanda kan dunkla. Ofta är den optimala strukturen för din databas lite denormaliserad.

Faktum är att praktiska databaser (i allra högsta grad, i alla fall) nästan aldrig normaliseras hela vägen till DK / NF. Du vill dock normalisera de databaser som du utformar så mycket som möjligt, för att eliminera möjligheten till datakorruption som uppstår på grund av modifieringsavvikelser.

Efter att du har normaliserat databasen så långt du kan kan du göra några återvinningar som en torr körning. Om prestanda inte är tillfredsställande, undersök din design för att se huruvida selektiv denormalisering skulle förbättra prestanda utan att offra integritet. Genom att noga lägga till redundans på strategiska platser och denormaliserande just enough , kan du komma fram till en databas som är både effektiv och säker från anomalier.

Och abnorm form - dummies

Redaktörens val

Hur man justerar inställningar för din bakgrund i Gamestar Mechanic - dummies

Hur man justerar inställningar för din bakgrund i Gamestar Mechanic - dummies

När du har lagt till en Bakgrund till ditt spel kan du ytterligare anpassa bakgrunden i Gamestar Mechanic genom att använda två ytterligare alternativ i dialogrutan Nivåinställningar: Bakgrundsrullning och Bakgrundsstil. Bakgrundsrullning Parallaxen är en viktig egenskap hos bakgrunden i spel där alternativet Fler skärm är valt. Redigerbar ...

Hur man balanserar svårigheten hos ett Gamestar Mechanic Game - dummies

Hur man balanserar svårigheten hos ett Gamestar Mechanic Game - dummies

Det vanligaste exemplet på balansering ett spel i Gamestar Mechanic balanserar svårigheten: Gör inte spelet så lätt att det är tråkigt och gör det inte så svårt att det är frustrerande. För att finjustera spelets svårighet måste du göra små förändringar utan att bli förbunden till ...

För att kalibrera accelerometern för ditt HTML5-spel - dummies

För att kalibrera accelerometern för ditt HTML5-spel - dummies

Som standard antar HTML5-spelaccelerometern Det neutrala läget är perfekt horisontellt - det vill säga enheten ligger platt på ett bord. Men det här är mobila enheter, och spelare vill ofta ha det neutrala stället att vara någon annanstans. Grundläggande tekniken för att kalibrera tiltkontrollen är att hålla koll på en ...

Redaktörens val

Gör äta rena förändringar i livet - dummies

Gör äta rena förändringar i livet - dummies

Rena ätförändringar i ditt liv är inte svåra att göra, men de tar lite gumption, uthållighet och övning. När du gör en koncentrerad insats för att äta lägre på livsmedelskedjan, märka hur detta beslut påverkar andra delar av ditt liv. För att vara framgångsrik måste du tänka på mat och äta annorlunda, vilka ...

Köttfri måndag och hållbarhet - dummies

Köttfri måndag och hållbarhet - dummies

Köttfri måndag är ett ganska nytt koncept som ofta nämns på Facebook och Twitter. Allt det betyder är att en dag i veckan väljer du att äta vegetarian eller vegan. Inte bara kan Meatless Monday spara pengar (eftersom kött är dyrt), men planen hjälper miljön (eftersom stora kött-, fläsk- och kycklingsanläggningar skapar nitrat ...

5 Hälsofördelar Kopplade till Medelhavsdiet - dummies

5 Hälsofördelar Kopplade till Medelhavsdiet - dummies

Medelhavsdieten har länge varit prydnad för vilket ger hälsoeffekter, såsom att minska kranskärlssjukdom och minska risken för vissa cancerformer. Inklusive färska grönsaker och frukter, baljväxter och hälsosamma fetter i din kost kan hjälpa dig att förbättra din hälsa på många sätt. Forskning visar att en traditionell medelhavsdiet minskar ...

Redaktörens val

Hur man arbetar med Nikon D3300-minneskort - dummies

Hur man arbetar med Nikon D3300-minneskort - dummies

Som mediet som lagrar dina bildfiler , Nikon D3300s minneskort är en viktig del av din kamera. Följ dessa tips för att köpa och behålla kort: Köpkort: När du handlar för ett SD-minneskort är den enda specifikationen som noterar annat än kortkapaciteten kort hastighet, vilket indikerar hur snabbt data ...

Timerfotografering: Nikon D5200-dummies med Nikon D5200

Timerfotografering: Nikon D5200-dummies med Nikon D5200

Med intervall Timer Fotografering på Nikon D5200, du kan ställa in kameran för att automatiskt släppa avtryckaren med intervall som sträcker sig från sekunder till timmar från varandra. Med den här funktionen kan du fånga upp ett ämne eftersom det förändras över tiden - en teknik som är känd som fotografering med tidsfördröjning - utan att behöva stå runt på ...

JPEG Filer på Nikon D3300-dummies

JPEG Filer på Nikon D3300-dummies

Uttalad "jay-peg", det här formatet är standardinställningen på din Nikon D3300, som det är på de flesta digitalkameror. JPEG är populär av två huvudorsaker: Omedelbar användbarhet: Alla webbläsare och e-postprogram kan visa JPEG-filer, så att du kan dela bilder online direkt efter att du har tagit dem. Du kan också få en ...