webForumDet fria alternativet

Max antal

Webbutveckling

6 svar · 225 visningar · startad av westman

Medlem sedan aug. 2004249 inlägg
Frågan#1

Någon som vet ifall det finns några rekomendationer för hur många kolumner en tabell maximalt kan innehålla, och isf hur många?
Jag tänkte skapa en tabell med ca 30st kolumner, är det en dum idé eller är det bara att tuta å köra. Ca 25 av dem kommer endast innehålla poster á 1-3 st INT...

Medlem sedan dec. 20003 563 inlägg
#2

Det är bara att köra på.

En sak du ska tänka på är att försöka fylla ut alla fält i varje post om möjligt. Det är alltså ingen bra idé ifall 20 av de 30 kommer vara tomma på många poster.

Medlem sedan aug. 2004249 inlägg
#3

ok. hmm, tyvärr så kommer säkert åtminstone 8-10 fält vara tomma på ungefär 30-40% av posterna. Dessutom kommer det röra sig om många poster, säkert uppemot 100 så småningom... Vad är kruxet med att ha många tomma fält, jag kan ju lägga in ett standardvärde kanske..?

Medlem sedan dec. 20003 563 inlägg
#4

Är 100 st många poster?

Det handlar om att det tar mycket plats i onödan. I en god databasdesign skriver man "aldrig" samma sak två ggr.
Istället skriver man det en gång i en egen tabell och länkar till dess ID, t.ex.

Vad handlar tabellen om och vad vill du göra?

Medlem sedan aug. 2004249 inlägg
#5

Ok, vi gör en djupdykning..
Jag har gjort ett bokningssystem där man kan boka olika sorters lokaler i olika långa tider. jag har bla en tabell som hanterar lokalerna och skall nu skapa en tabell som sköter lokalernas tider. Lokalerna kan nämligen ha olika längder, olika första tider, olika sista tider på olika veckodagar. Tex kan Lokal 1 ha sin första tid kl 06:00 och ha tidsintervaller på 3h medan Lokal 2 har första tid kl 09:00 och tidsintervaller på 5h...osv. Men antalet tider per lokal kommer på samtliga vara mellan 3-6.
Jag tänkte då att tabellen för tiderna kan ha 6st tidskolumner för vardera veckodag... Kanske är en helt idiotisk idé, jag har inte fundrat så värst mkt på alternativ... Ge mig gärna förslag!

PS. Blev en fel skrivning i föregående inlägg, saknas två 0:or på antalet poster. 100, hah.. 10000 ska d vara.

Medlem sedan dec. 20003 563 inlägg
#6

Nej men det ska nog gå att göra lite smidigare.
Om man inte arbetat mycket med databaser kanske det inte ser enklare ut men prestandamässigt och för utrymmet göra det säkert något rätt. :)

Säg att du har en tabell för alla lokaler. *Antar poster kommer bli lika många som ni äger lokaler.*
För varje post anger du första möjliga bokningstid, sista tid samt tillåten bokningslängd.
Hur du vill föra in första resp sista möjliga tid här är en smaksak. Det enklaste ur mänsklig synpunkt är att skapa 14 kolumner med första/sista tiden för varje veckodag.
Ur utrymmessynpunkt kan man skapa ytterligare en tabell och referare till de ID av aktuella tidpunkter som man bara behöver skriva en gång. Eftersom ni förhoppningsvis inte handhar oändligt många lokaler så är förlusten av att använda första metoden inte av betydelse skulle jag tro. Inte så vacker men...
* Detta förutsätter att man endast får boka en bestämd längd för respektive lokal 3tim t.ex.*

Sen har du ytterligare en tabell där du lägger in bokningarna där du referarar till ID för den aktuella lokalen i första tabellen. Här skriver du även starttiden.
Eftersom du redan skrivit längden av bokningen i första tabellen behövs här bara två kolumner plus eventuell referens till kundID. Inte så många kolumner i den kommande stora tabellen. * Antal poster kommer bli detsamma som antal bokningar *

Medlem sedan aug. 2004249 inlägg
#7

mm, det låter ju som en bra lösning. Jag ska ha den i åtanke. Men saken är den att tidslängden (tex 3h) kan vara olika lång beroende på vilken tid på dygnet det är. Tex så kan den första tiden vara längre än den sista... Jag vet, krångligt värre.. :e

1168 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
1019 ms — deklarationer (db)
0 ms — hämta statistik (cache)
141 ms — hämta tråd, inlägg och bilagor (db)
1024 ms — ändringar (db)