Avatar billede Slettet bruger
29. september 2003 - 23:27 Der er 11 kommentarer og
3 løsninger

Hjælp til db struktur

Jeg har en database med følgende tabel:

annoncer(
pid :primær nøgle
email
telefon
dato
udløber
postnummer
område
godkendt
annoncetype
amt
boligtype
areal
rum
indskud
husleje
bad
toilet
køkken
husdyr
beskrivelse
kodeord
emailservice
visninger
)

det fungerer fint nok, men nu har jeg luret at jeg har glemt at tage højde for at at man skal kunne indrykke annoncer hvor man ønsker at "bytte" en bolig... Hvordan grejer jeg den på den smarteste måde?
Avatar billede juks Novice
29. september 2003 - 23:31 #1
er det ikke under annoncetype, ellers tilføjer du vel bare et felt til i tabellen
Avatar billede moso Nybegynder
29. september 2003 - 23:32 #2
Du kan oprette et felt: Type.
Type bestemmer om det er en bytte eller en til-salg.
Du kan herefter sortere i dine lister alt efter om typen er Bytte eller TilSalg.

Var det det du mente?
Avatar billede Slettet bruger
29. september 2003 - 23:35 #3
jo, men problemet er ikke at få en attribut 'bytte' i annoncetyper - problemet er at det kræver en masse ekstra attributter idet alle så at sige bliver dobbelt hvis der er tale om en bytter. Der er for alle attributers vedkommende, en 'haves'/'ønskes' dimension hvis det er en bytteannonce. Derfor ville det være lidt vildt at tilføje en masse felter, som kun har betydning for ligenetop de annoncer...
Avatar billede beef12 Nybegynder
29. september 2003 - 23:36 #4
Hvis det er en Ja/Nej situation, så plejer jeg at løse problemet ved give felterne værdierne 1 eller 0. Hvor 1 = ja og 0 = nej.

bytte SMALLINT(1) NOT NULL default '0'

Så kan du altid finde ud af om de vil bytte eller ej...


Er dette hvad du vil eller... ? Er ikke helt sikker på om jeg har forstået spm...
Avatar billede juks Novice
29. september 2003 - 23:37 #5
kan du ikke lave et byttefelt hvor du kan vælge ja/nej
Avatar billede Slettet bruger
29. september 2003 - 23:42 #6
læs min kommentar ovenfor :)
Avatar billede beef12 Nybegynder
29. september 2003 - 23:50 #7
Du bliver nok nødt til at lave et nyt felt "bytte". Hvordan vil du ellers vha. en SQL sætning finde frem til om de skal bytte eller ej?

Det er nu ikke så vildt at tilføje dette felt. Det er mere uhensigtmæssigt at du har amt, postnummer i denne tabel hvis vi snakke hardcore DB-struktur, såsom Normalisering.

Tilføj feltet "bytte", så er dit problem løst :o)
Avatar billede Slettet bruger
29. september 2003 - 23:53 #8
beef12 >
Ved godt at det ikke er på BCNF, men til gengæld slipper jeg for en masse bøvlede (og performancesløvende) joins, men mit problem er jo stadig ikke løst fordi jeg har en boolsk attribut 'bytte' - der er jo stadig det problem jeg skriver i min kommentar kl. 23:35:38
Avatar billede beef12 Nybegynder
30. september 2003 - 00:02 #9
Heller ikke på 2NF eller 3NF, but who's counting ;o)

Kan ikke se at den kan løses anderledes... sorry.
Avatar billede beef12 Nybegynder
30. september 2003 - 00:04 #10
prøv evt. at omformulere det du skriver kl. 23:35:38. Måske taler vi forbi hinanden. For jeg mener bestemt at mit forslg løser dit problem. Men så har jeg jo nok misforstået det, nu hvor jeg tænker mig om...
Avatar billede Slettet bruger
30. september 2003 - 00:09 #11
Problemet er at antallet af attributter er tilstrækkeligt ved alt andet end bytteannoncer, idet der for bytteannoncers vedkommende ligger en ekstra dimension - nemlig 'haves'/'ønskes'. Det betyder at en bytteannonce skaber et behov for amtHaves, boligtypeHaves, rumHaves, arealHaves, amtSøges, boligtypeSøges etc etc...
Avatar billede misbruger Nybegynder
30. september 2003 - 00:12 #12
Du kan oprette 2 extra tabeller:

Types(
pid PK
annonceID FK -> annonce.pid
key FK -> TypeKeys.pid
value int
)

TypeKeys(
pid PK
name
)

Derved kan du have så mange typer som du ønsker, og hver annonce kan ligeledes have tildelt x antal typer.
...det kræver nogle "sløvende" joins, men det giver den mest versertile struktur!
Avatar billede Slettet bruger
30. september 2003 - 17:14 #13
misbruger > har svært ved at se hvordan det hjælper..
Avatar billede jorgen_c Nybegynder
04. oktober 2003 - 18:52 #14
Du skal vel bare have 2 tabeller en for annoncen og en for boligen:

annonce(
email
telefon
dato
udløber
godkendt
annoncetype
kodeord
emailservice
visninger

boligID_for_annoncetype_1
boligID_for_haves
boligID_for_ønskes
)

bolig(
boligID
postnummer
område
godkendt
annoncetype
amt
boligtype
areal
rum
indskud
husleje
bad
toilet
køkken
husdyr
beskrivelse
)
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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