Avatar billede miyagidk Nybegynder
27. maj 2003 - 21:41 Der er 7 kommentarer og
1 løsning

DB design?!

Oki,
jeg er i vildrede over denne her:
skal lave en db som ser sådan her ud:

ko
mælk
høne
æg

osv.
der er omkring 100...

Til hver af disse skal man kunne svare
ja
nej
måske
ved ikke

Hvad er den letteste måde at gøre det for at det ikke bliver for besværligt da jeg ikke orker at lave 100 tabeller!
Avatar billede ahv Nybegynder
27. maj 2003 - 21:44 #1
Kan du ikke slå det samme i en tabel, med et feltnavn der hedder (dyr) eller noget i den retning.
så kunne du have et felt der hedder svar, dn kunne være sådan at:

nej = 0
ja = 1
måske = 2
ved ikke = 3
Avatar billede ahv Nybegynder
27. maj 2003 - 21:46 #2
Tabellen ville være noget simpelt i stil med:

CREATE TABLE `tabelnavn` (

`id` INT NOT NULL AUTO_INCREMENT ,
`dyr` VARCHAR( 50 ) NOT NULL ,
`svar` TINYINT( 1 ) NOT NULL ,
PRIMARY KEY ( `id` )
)
Avatar billede ahv Nybegynder
27. maj 2003 - 21:48 #3
eller hvis det kører videre med et dyr også der produkt så:

CREATE TABLE `tabelnavn` (

`id` INT NOT NULL AUTO_INCREMENT ,
`dyr` VARCHAR( 50 ) NOT NULL ,
`produkt` VARCHAR( 50 ) NOT NULL ,
`svar` TINYINT( 1 ) NOT NULL ,
PRIMARY KEY ( `id` )
)

Her vil id'et udfylde sig selv, dyr ville i første række så være ko hvor det tilhørende produkt vil være mælk og svar ville så f.eks være 1
Avatar billede miyagidk Nybegynder
27. maj 2003 - 21:50 #4
Altså feks
tabelnavn= nogledyr
row1= ko
row3= mælk
row4= svar

?
Avatar billede miyagidk Nybegynder
27. maj 2003 - 21:53 #5
takker :)
Avatar billede jpvj Nybegynder
27. maj 2003 - 21:57 #6
Så vidt jeg kan se det, har skal du have 2 tabller:
En til dyr og en til "produkter".
Jeg gætter på, at det er til en quiz, hvor man skal kunne blive stillet over for en række spørgsmål i stil med "Laver en ko æg"?

Hvis vi antager at du selv bestemmer antallet af spørmsmål og sammensætningen af dem, kan det gøres således:

CREATE TABLE `dyr` (
`id` INT NOT NULL AUTO_INCREMENT ,
`dyr` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
)

CREATE TABLE `produkter` (
`id` INT NOT NULL AUTO_INCREMENT ,
`prodykt` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
)

CREATE TABLE `spm` (
`id` INT NOT NULL AUTO_INCREMENT ,
`dyr_id` INT REFERENCES(dyr.id),
`produkt_id` INT REFERENCES(produkter.id),
PRIMARY KEY ( `id` )
)

Du starter så med at indsætte alle dine dyr og produkter i de 2 tabeller.
Herefter opretter du "quizzen" ved at insætte dyr_id og produkt_id i spm tabellen.

Nu skal du så have en tabel til at holde styr på brugere og deres svar:

CREATE TABLE `bruger` (
`id` INT NOT NULL AUTO_INCREMENT ,
`navn` VARCAHR(30) NOT NULL,
PRIMARY KEY ( `id` )
)

CREATE TABLE `svar` (
`id` INT REFERENCES(bruger.id),
'spm' INT REFERENCES(spm.id),
'svar' INT NOT NULL,
PRIMARY KEY (`id`)
)

Lav evt. et index på sidste tabel for at sikre at id og spm er unikke (dvs. en bruger kan ikke svare 2 gange på samme spm.).

Min SQL syntax er skrevet med fri føring, så den er nok ikke helt korrekt.

JP
Avatar billede miyagidk Nybegynder
27. maj 2003 - 22:00 #7
Det er faktisk ganske simpelt, der er ikke dyr og produkter og svar!
Der er kun dyr og produkter og så svar til dem!
Avatar billede miyagidk Nybegynder
27. maj 2003 - 22:02 #8
Sludder jeg vrøvler...
dyr og produkter skal være i samme tabel..
det kunne ligså godt have været KUN dyr!!
Sorry jeg skrev det lidt forvirrende!! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester