Last updated
Was this helpful?
Last updated
Was this helpful?
För databasdesign brukar det pratas om normalisering, eller normalform. Det Àr ett antal regler som behöver efterföljas. Det Àr bra att kÀnna till men hÀr kommer det vara nÄgot förenklat.
NÀr du ska designa tabeller sÄ börja med att fundera pÄ hur den data som ska sparas kommer att se ut.
UtifrÄn detta sÄ vÀljs sedan datatyper för de olika kolumnerna.
Författare, text med ett namn, hur mÄnga tecken kan behövas, varchar(200)
Titel, text med ett begrÀnsat antal tecken, varchar(150)
Text, detta kan vara en lÀngre text, text
Datum, timestamp
Den fÀrdiga tabellen.
Med tabellen skapad sÄ kan sedan data skapas i den.
Kör frÄgan ovan ett antal gÄnger. VÀlj sedan all data med en select frÄga.
Detta fungerar okej Àn sÄ lÀnge och följer viss normalform(vi har bara ett vÀrde i varje fÀlt, jÀmför med att vi hade sparat email i author tillsammans med namn) men det visar ocksÄ nÄgra problem.
Data i author tabellen upprepas ofta, det Àr nÄgot som bryter mot normalformen.
Det finns inget bra sÀtt att vÀlja data. Om du vill hÀmta en rad ur denna databas, hur bestÀmmer du vilken?
För att normalisera tabellen behöver först varje rad ett ID sÄ att de gÄr att identifiera. VÀrdet i denna ID kolumn sköter databasen med auto_increment. Det andra som ska göras Àr anvÀnda en relation för författarkolumnen.
Den data som tabellen innehÄller ser nu ut som följer.
Det som saknas nu Àr en tabell för författaren. Likt föregÄende exempel sÄ börjar det med en planering av vilken data som tabellen bör innehÄlla.
Vilka datatyper passar och vilka kolumner behövs?
Tabellen kan sedan skapas. Notera att typen för id kolumen stÀmmer med author_id ur blog tabellen.
Med data.
Med data delat pÄ flera tabeller sÄ kommer relationsdatabasens styrkor fram. Genom att koppla author_id till ett id ur users tabellen sÄ gÄr det nu att vÀlja data frÄn bÄda tabellerna med join.
Eftersom tabellerna nu har ID fÀlt sÄ gÄr det Àven att vÀlja specifika fÀlt genom att identifiera dem med ID vÀrdet.
Samt att det enkelt gÄr att vÀlja poster skapade av en specifik författare.