MattiMedlem sedan dec. 19996 592 inlägg Hej
Jag tänkte slänga ihop en databas med en massa länkar till olika övningar. Det skall vara möjligt att söka på övningar genom att välja kroppsdel eller genom att skriva in ett sökord. Typ:
id | namn | kroppsdel | typ | lankar | kommentar
(1|knäböj, benböj, squat | ben | basövning | länk1, länk2, länk3, länk4, | Mycket bra övning för benen)
Hur går man till väga när man ska dela upp informationen i olika tabeller? Vad ska jag tänka på och hur lidande blir prestandan om jag slänger in allt i en tabell?
Tips på länkar till sidor / tutorials som handlar om själva struktureringen av innehållet? (vet inte riktigt vad jag ska söka på)
LAMPMedlem sedan mars 2002777 inlägg Sökte lite här på wF och jag fann lite om databasnormalisering:
http://www.webforum.nu/showthread.php?s=&postid=322547#post322547
host, host, undvik kommaseparerade strängar i kolumner.
MattiMedlem sedan dec. 19996 592 inlägg Tack! Nu vet jag vad jag ska söka på. :)
wee..
PicklezzMedlem sedan jan. 2002414 inlägg Varför ska man undvika kommaseparerade strängar?
PicklezzMedlem sedan jan. 2002414 inlägg Hur skall man göra istället om man vill ha flera världen som i detta exemplet som finns ovan???
LAMPMedlem sedan mars 2002777 inlägg Man gör en egen relationstabell till det, där varje värde blir en egen rad i tabellen. Det är aldrig att föredra att kommaseparerade data i en kolumn, det resulterar bara i problem, förr eller senare.
LarsGMedlem sedan dec. 200012 464 inlägg
Varför ska man undvika kommaseparerade strängar?
Därför att sökningar och uppdateringar blir mycket långsammare eftersom det inte går att använda index. Frågorna blir också mer komplexa att skriva.
LAMPMedlem sedan mars 2002777 inlägg Här är en tråd där detta diskuterats innan. Jag vet att det varit uppe många många gånger och att det finns en bättre tråd. Men hittar tyvärr inte den jag letade efter. :(
http://www.webforum.nu/showthread.php?s=&threadid=12979&highlight=kommaseparerad
MattiMedlem sedan dec. 19996 592 inlägg Nu vet jag hur jag ska lägga upp databasen i exemplet ovan. Men jag har ett annat problem, eller jag skulle vilja ha lite synpunkter. Det är så att jag håller på att översätta ett skript från ASP till PHP på jobbet. Det är ett skript där man via ett webbgränssnitt skapar ett formulär som sedan studenter använder när de utvärderar kursen.
Han som hade gjort ASP-varianten hade helt enkelt gjort en tabell där han hade fält som hette svar1-120 och kommentar1-120 (det totala antalet frågor kunde alltså vara 120 och eleverna ska kunna kommentera frågorna om de vill).
Jag har börjat med att skapa en tabell för svaren och en tabell för kommentarerna. Nu är jag inte helt säker på hur jag ska fortsätta. Jag kunde ju göra såhär:
user | svar1 | svar2 | svar3 | svar4 | osv. men problemet är ju att man måste skapa en massa fält på förhand, fält som kanske aldrig kommer att användas. Det är ju i och för sig inget problem, men finns det något snyggare sätt? Fördelen är ju att man direkt ser vad "user" har svarat på frågorna om man tittar på databasen med t.ex. phpmyadmin.
LAMPMedlem sedan mars 2002777 inlägg Jag hade gjort en kommentartabell, en svartabell och en usertabell, där svaren och kommentarerna är relaterade till en användare med ett userid från usertabellen. Sedan blir ju varje svar och kommentar en egen rad (post). Då behöver du bara ett fält som har något nummer mellan 1-120 som identifierar vilket svar det är i ordningen.