webForumDet fria alternativet
Logga in / Bli medlem

Förlängd tabell

Databaser & SQL

3 svar · 377 visningar · startad av kalaserc

Medlem sedan apr. 20047 inlägg
Trådstart#1

Hej alla där ute!

Jag ska bygga upp en trädstruktur i min MySQL5-databas. Detta är inget problem så länge man har gemensamt data för alla löv och noder i trädet. Nu är det så att jag har tänkt mig att för varje nod och/eller löv i träder ska finnas inviduella fält med data som bara hör till denna nod-/lövtyp dessa ska då ligga i en inviduell tabell som bara är till för just den nod-/lövtypen.

Nu är frågan bara hur jag ska bygga upp mina SELECT-satser för att få ut data ur mina tabeller. Just nu gör jag det genom att ta ut varje rad och köra en inviduell SELECT för varje rad. Det här ser jag som en helt oacceptabel lösning och jag antar att det finns något smartare sätt att lösa detta.

| id | time | parentId | table |
| 1  | time | NULL     | t1    |   --> en tabell t1 med data för id 1 osv
| 2  | time | 1        | t2    |   --> en tabell t2 med data för id 2,3 osv
| 3  | time | 1        | t2    |

När jag frågar databasen så vill jag ha tillbaka data1, data2, data3 osv för varje fält i den extra tabellen för varje rad(t1,t2 osv).

Går detta och hur gör man i så fall?

Hoppas ni förstår vad jag är ute efter.

MVH Joakim Ekberg

Medlem sedan dec. 200012 464 inlägg
#2

Det där är ingen bra design. Att blanda data och metadata blir aldrig bra.

Medlem sedan apr. 20047 inlägg
#3

Det här är en förenklad bild, metadatat ligger i sin tur utanför i en annan tabell. Problemet är att varje nod i trädet ska kunna innehålla olika typer av data. Hur gör man en bra sådan design?

Medlem sedan dec. 19995 876 inlägg
#4

Vad är det för data du skall lagra egentligen?

374 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
246 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
246 ms — ändringar (db)