Avatar billede flashdevil Nybegynder
11. oktober 2005 - 22:51 Der er 9 kommentarer

Hjælp til opbygning af DB

Hejsa

Jeg skal lave en en db hvor brugeren klikker nogle textboxes til ved de områder de er intresseret i.

f.eks en bruger der er intresseret i:

biler
både
huse
finans

osv osv..(ca. 15 ialt)

Det skal så gemmes i en db.

Mit spørgsmål er nu hvordan det gøres mest hensigtsmæssig så man bagefter kan søge efter de brugere der er intresseret i f.eks

huse & biler

hvordan bør min opbygning af db'en være ?

/h
Avatar billede leif Seniormester
11. oktober 2005 - 22:54 #1
Den simple. Ekstra felter på personen, 1 for hvert interresse område !
Avatar billede jens_bach Nybegynder
11. oktober 2005 - 22:54 #2
lav en tabel med
id | Text
----------------
1  | biler
2  | både
bla.bal


bruger  | id
------------
kim    | 2
kim    | 3
jonas  | 1
Avatar billede arne_v Ekspert
11. oktober 2005 - 22:55 #3
hvis de 15 kategorier er meget faste:

15 felter (0=ikke interesseret,1=interesseret)

SELECT * FROM tabel WHERE f7=1 AND f11=1

ellers

en seperat tabel med 2 felter: brugerid og interesse

SELECT * FROM tabel
WHERE brugerid IN (SELECT brugerid FROM andentabel WHERE interesse='xxx') AND
      brugerid IN (SELECT brugerid FROM andentabel WHERE interesse='yyy')
Avatar billede flashdevil Nybegynder
11. oktober 2005 - 23:18 #4
hmm er lige lidt forvirret ...hvad jeg skal vælge af jeres forslag

Kom lige til at tænke på at jeg også har et felt som brugeren kan udfylde "manuelt" med noget helt tredje som interesse område...kunne være:

fisk,cykler,børn

påvirker det ?

/h
Avatar billede Slettet bruger
12. oktober 2005 - 06:24 #5
Ja. Så skal du ikke have 15 faste felter men en rigtig relationel database. Altså det som jens_bach foreslår. Koblingen mellem de 2 tabeller må så ske på en fremmednøgle, i dette tilfælde ville jeg foreslå et felt der hed BrugerID og som du lægger i tabellen med interesser.
Avatar billede flashdevil Nybegynder
12. oktober 2005 - 12:47 #6
ok super.. Dvs sige at jeg kunne gøre det således:

brugerid |  fritekst  | kategori1 | kategori2 (op til 15)
-------------------------------------------------------
bent    |"børn,fisk" |    1    |    0    |


eller ?

/h
Avatar billede arne_v Ekspert
12. oktober 2005 - 13:22 #7
jeg tror ikke at du skal have den fritekst
Avatar billede flashdevil Nybegynder
12. oktober 2005 - 13:37 #8
ok, men hvordan gemmer jeg så bedst de interesser som brugeren selv taster ind ?

/h
Avatar billede jens_bach Nybegynder
12. oktober 2005 - 22:28 #9
hvis du bruger fri text så kan interesserne jo staves på mange måder tro mig :P

fx fisk fiskning

du kunne eventuelt gemme de data brugeren taster ind i en anden tabel og derefter ligge det over i din "interesser" tabel
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