Enkla databaser kanske inte behöver normalisering , komplexa förmodligen göra . Om du har hört ordet " normalisering " men aldrig såg det , kanske du upptäcker att din databas kan använda normalisering . Innan man börjar på ett äventyr i normalisering , är det viktigt att känna till fördelar och nackdelar med att organisera tabellerna i en databas . Data Organisation
En databas liknar ett arkivskåp . Du har möjlighet att gruppera liknande objekt och placera dem i separata lådor eller slänga allt i en enda låda måfå . Välj den första organisationen metoden , och du kommer förmodligen att upptäcka att trinket du letar efter snabbt eftersom du kommer att ha en aning om var du ska leta . Databaser arbetar utefter en liknande princip . En databas designer kan kasta alla dataelement i en enda tabell eller grupp relaterade poster i flera tabeller . Normalisering hänvisar till den metod du använder för att gruppera relaterade databas poster .
Normalisering
En viktig normalisering mål är att eliminera dubbla uppgifter . Till exempel , om din försäljning tabellen innehåller en " Customer City" objekt , och din kund bordet har en identisk produkt , innehåller din databas dubbla uppgifter . Databasen är inte normaliseras . Ett annat normalisering mål är avskaffandet av beroenden som är inkonsekvent att öka effektiviteten i dina metoder dataåtkomst . Du bör också eliminera data beroenden som är oförenliga . En inkonsekvent beroende uppstår när till exempel lägga till en bil färg till en tabell som innehåller uppgifter om anställda .
Strucutural Nackdelar
Att bli av redundanta data och inkonsekventa beroenden kan minska storleken på databasen . Men , kan du drabbas av en ny kostnad när du omstrukturera dina data bord . Du eller en data analytiker måste förstå normalisering och utföra detaljerad analys innan ens börjar normalisera dina data om du har ett komplext system . Det är också möjligt att över - normalisera en databas och dela upp det i alltför många granulära tabeller . Till exempel kan du ha en helt normaliserad Employee tabell som innehåller fält för namn , ID och e-postadress . Om detta inträffar , måste du kanske skapa mer komplexa frågor för att koppla data spridda över flera tabeller .
Minskad effektivitet
Eftersom data finns i flera tabeller i en korrekt normaliserad databas , krävs det ibland mer arbete för att extrahera data och producera rapporter . Om en försäljning rapport kräver data från en Produkt bord , ett pris bord och en kund bord , måste en fråga med samtliga tre tabeller för att utarbeta rapporten . Processorer och hårddiskar måste arbeta hårdare för att utföra sådana frågor . Å andra sidan , om alla dina data finns i en enda tabell som inte normaliseras , skulle din fråga bara för att hämta data från den tabellen . Normalisera tabellerna effektivt att maximera bearbetning effektivitet .