Først skal du "designe" strukturen af databasen. Hvilke informationer skal du bruge?
Som udgangspunkt er tommelfingerreglen, at informationer af samme type men variende i antal skal placeres i en tabel for sig selv for, at sikre dynamikken.
Ex. skal du oprette en tabel til spillerene, idet antallet på forhånd er uvist og ikke statisk. Hvis spillernes point for hver "kamp" skal gemmes så man senere kan trække den enkelte kamp frem og genskabe pointene, det kræver at du laver en tabel med informationer over kampene. Hvis ikke - dvs. at spillernes point bare lægges oveni deres nuværende - vil pointene bare kunne gemmes direkte i tabellen.
En fiktiv opstilling...
Tabel: Brugere
Felter: id, navn, login, passwd, loginLevel, point
Tabel: Spil
Felter: id, dato, sted
Tabel: PointOversigt
Felter: id, spilid, brugerid, point
Den måde som strukturen skal forstås er... Tabellen Brugere indeholder informationer om de enkelte brugere, hvor brugere med passende loginLevel kan tilføje, redigere og slette brugere. Tabellen Spil indeholder informationer om tid, dato og sted for de enkelte spil, men mere vigtigt angiver den et unikt id for hvert spil ligesom hver bruger har et unikt id.
Tabellen PointOversigt giver dig så en mulighed for, at se nærmere på pointfordelingen for spillere i de enkelte spil. Grunden til informationerne er placeret i en tabel for sig selv er, at antallet af spillere i de enkelte spil antages for uvist. Er antallet statisk (permanent for alle spil) er det ikke nødvendigt og informationerne bare indgå direkte i tabellen Spil. Den måde tabellen PointOversigt benyttes er, at der laves en indgang i tabellen for hver spiller i hvert spil (vha. felterne spilid og brugerid) - dvs. at vil man se pointfordelingen for et spil skal man bare bede database om kun at returnere de indgange med et specifikt spilid.
Som sagt... sæt dig ned først og find ud af hvilke informationer du har brug for og hvordan de skal struktureres... og vær lidt fremadsynet, der er intet værre end en dårlig og ufleksibel struktur.
Derefter kan vi snakke om implementeringen, men alle "programmer" starter på papiret.[Redigeret d. 10/11-02 23:47:41 af Erik K. Aarslew-Jensen]