10. maj 2007 - 20:40Der er
7 kommentarer og 1 løsning
Råd til forhold mellem tabeller
Hvis man skal lave en tabel/ler over en gruppe som skal bestå af medlemmer med medlemsnumre som befinder sig i sin egen tabel. Hvordan gøres det?
Eksempel: Jeg har en tabel med medlemmer og disse skal kunne tilmelde sig grupper. En gruppe skal kunne have et ubegrænset antal medlemmer. Der skal kunne oprettes et ubegrænset antal grupper.
Spørgsmål: Hvordan skal tabellen for grupper se ud? Skal man lave en tabel til alle grupper eller mange tabeller der indeholder en gruppe hver? Altså hvordan hænger den her slags sammen?
En tabel til medlemmer, en tabel en grupper, og en medlem-gruppe tabel (en mange til mange tabel) med en fremmednøgle til medlemstabellen og en fremmednøgle til gruppetabellen.
Du skal nok sommetider lave en join mellem 3 tabeller. Tænk over indexer når du har fået det til at virke.
Jeg er stadig ikke helt med. Hvad skal attributterne så være i den Medlem-gruppe-tabel. Bliver det så medlemmerne af grupperne vandret og grupperne nedefter. Dermed en tabel der bliver MEGET bred.
Få det til at virke først, så kan du kigge på indexer senere. Betyder ikke noget for små tabeller. Men jeg høre på dig at du har meget at lære endnu :)
Medlem_gruppe indeholder 2-3 felter. Lad os give den en autonum-felt, så der bliver 3:
Bestemt. Jeg har ALT at lære endnu om databaser. Men det der gav perfekt mening. Tak for hjælpen! God forklaring til sidst. Læg lige et svar så du kan få dine point.
Ja, det hjælper at "tegne" det ;) Jeg samler slet ikke på point, tak. "Bliver det så medlemmerne af grupperne vandret og grupperne nedefter." - det er hvad jeg kalder Excel-syndromet, at tænke på den måde, når man skal lave tabeller til en database. Det holder nok i et regneark, med det skal drejes 90 grader i en database.
En god regel er at man ikke skal ændre i tabelstruktur, eller tilføje flere tabeller, hvis man reelt kun kommer flere data i databasen.
Ja det var også det jeg gerne ville undgå, men jeg havde ikke forstået hvordan. Det har jeg nu, ihvertfald mht. det her eksempel.
På et sted som eksperten.dk er det så ikke sådan at alle spørgsmål bliver oprettet i en tabel og opdelt efter kategori. Derefter oprettes der så en ny tabel for hver spørgsmål som vores indlæg kommer til at ligge i? Er dette rigtig eller ligger vores kommentarer så i samme tabel med et id til hvert spørgsmål?
Det her er et forsøg på at blive lidt klogere på sammenhængen i databaser. Kender du eventuelt en god bog om det her. Mange tak for hjælpen!
Jeg kender nok ikke rigtig gode bøger om det her. Jeg har nogen på hylden, men de er ret komplicerede - også for mig ;)
Eksperten.dk har nok een tabel til spørgsmål: et autonummereret felt (777697 i dit tilfælde her). Et felt til kategorinummer (navnene står et andet sted), en overskrift, brugeren, der har stillet spørgsmålet, point, status, dato/tid - og teksten i spørgsmålet.
Der oprettes således kun en række for hvert nyt spørgsmål.
Svar og kommentarer ligger så i en anden tabel, med en fremmednøgle tilbage til spørgsmålet, brugernavn, dato/tid, teksten, et felt med kommentar, svar, accepteret svar, og sikkert et felt med hvor mange point svaret har givet.
Mere end i alt væsentligt de 2 tabeller behøvs ikke (jo, brugere, kategorier, artikler, etc...)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.