Vinnaren i pepparkakshustävlingen!
2012-02-29, 15:56
  #1
Medlem
Sitter och leker med ett litet projekt, det är så att jag har en teori fråga(lite praktisk hjälp kanske också behövs, är hyffsat ny på sql).
Låt säga att på min sida vill jag som admin lägga in en nyhet, då lägger mitt script automatiskt nyheten i en databas. Men om jag nu vill att användarna ska kunna kommentera nyheten så kan man lägga till nya kollumner i databasen för kommentarerna, eller ska man skapa ett helt nytt table för den nyheten?
Citera
2012-02-29, 16:13
  #2
Medlem
ozzles avatar
Skapa en tabell för nyheterna och en tabell för kommentarerna. Sen skapar du en kolumn i tabellen för kommentarerna som pekar mot ett nyhets id.

Lycka till!
__________________
Senast redigerad av ozzle 2012-02-29 kl. 16:18.
Citera
2012-02-29, 16:15
  #3
Moderator
Protons avatar
Citat:
Ursprungligen postat av thaiTakeAway
Sitter och leker med ett litet projekt, det är så att jag har en teori fråga(lite praktisk hjälp kanske också behövs, är hyffsat ny på sql).
Låt säga att på min sida vill jag som admin lägga in en nyhet, då lägger mitt script automatiskt nyheten i en databas. Men om jag nu vill att användarna ska kunna kommentera nyheten så kan man lägga till nya kollumner i databasen för kommentarerna, eller ska man skapa ett helt nytt table för den nyheten?
Läs på om databasnormalisering så ser du att den där iden inte var nån vidare bra ide, för att inte tala om vilka orealistiskt långa sql-er du skulle behöva skriva för att få tag på alla kommentarer till en nyhet, dessutom kommer du inte på ett enkelt sätt veta hur många kommentarer det finns till en nyhet, dvs hur många kolumner du skulle behöva ha med i frågan. Det finns ungefär 10 andra argument emot den här idén, minst. Det är en idé du genast bör överge ärligt talat.

En betydligt mer gångbar design är från ett normaliserings och designperspektiv att du skapar en till tabell i din databas som du kallar comments(eller något sådant).

Denna tabell bör förutom ett kommentarid innehålla ett nyhetsid (för att du ska kunna veta vilken komentar som hör till vilken nyhet), samt en kolumn för kommentaren själv och kanske en till kolumn för en datumstämpel när komentaren lades.

Förstår du varför du bör göra på detta sätt och förstår du hur jag menar?

Edit: ovanstående talare skrev kortformen av det jag just skrev
Citera
2012-02-29, 22:32
  #4
Medlem
Tack för svaren!

Ja det ni säger låter väldigt lågiskt, tänkte faktiskt inte på det sättet. Stort tack, frågan löstes ordentligt med korta meningar i första posten, inte alltid sånt händer!
Citera
2012-03-01, 17:19
  #5
Medlem
ojns avatar
Citat:
Ursprungligen postat av thaiTakeAway
Stort tack, frågan löstes ordentligt med korta meningar i första posten, inte alltid sånt händer!
Det gjorde den iofs, men Protons inlägg är väldigt viktigt i det avseendet att grundläggande kunskaper inom normalisering är a och o för att komma vidare. Annars kommer du märka att du ständigt fastnar på även de mest grundläggande databasstrukturfrågorna (finns det ett sådant ord) som dessa.
Citera

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback