En oikein keksinyt, että mikä tämän tyyppisen tietokannan nimi on mitä haen, niin laitoin vain "dynaaminen" tuohon otsikkoon.
Tarkoitan siis sellaista tietokantaa, joka kävisi monelle eri käyttäjälle ilman että tarvitsisi eri sarakkeita eri käyttäjille tehdä tauluihin.
Parempi varmaan jos kirjoitan tähän pelkistetyn esimerkin:
Käyttäjä-taulu:
- id
- nimi
Koulutus-taulu:
- id_kayttaja
- koulu
- kurssi
Eli tuossa on hyvin pelkistetty tietokanta. Jos kuvitellaan, että tietokantaa käyttäisi usea käyttäjä ja eri käyttäjät haluaisivat tietokantaan eri sarakkeita Koulutus-tauluun, niin mitenkä se olisi viisain tehdä?
Yksi vaihtoehto olisi varmaan, että tekisi tällaisen Koulutus-taulun:
- id_kayttaja
- tieto1
- tieto2
Näihin tieto1 & tieto2 -kenttiin käyttäjät voisivat jonkin config-sivun kautta sitten lisätä sarakkeisiin jotain ihan itse haluamaansa tietoa. Onnistuuko tuollainen edes, että samaan MySQL-tietokantaan eri käyttäjät voisivat tallentaa eri tietoja / eri määrän sarakkeita?
Voisiko tuossa jotenkin auttaa esim. XML?
Taulun sarakkeet ovat kaikille riveille samat eivätkä ne voi muuttua yhtenään. Mutta keksimäsi ratkaisu on juuri oikea: jokaisen käyttäjän jokaiselle tiedolle tulee oma rivi, jossa lukee sekä tiedon tyyppi että tiedon arvo. Eli jos käyttäjä 123 ilmoittaa koulun ja kurssin, tauluun tulevat rivit (123, 'koulu', 'Norssi') ja (123, 'kurssi', 'englanti 4'). Näin on helppo tutkia aiempia tietoja sekä lisätä uusia tietoja.
Aihe on jo aika vanha, joten et voi enää vastata siihen.