Avatar billede jonas82 Nybegynder
17. juni 2005 - 13:52 Der er 8 kommentarer og
1 løsning

Database design

Her er et tænkt eksempel over et problem jeg har undret mig over hvordan man skal designe...

tabel1 - indeholder mange tusind poster
tabel2 - indeholder noget data, der "gruperer" poster fra      tabel1. Altså noget fælles data.
tabel3 - indeholder id´s der sammenkæder tabel 1+2

Indhold i tabel3 kunne fx være:
tabel1_ID=1 | tabel2_ID=5
tabel1_ID=3 | tabel2_ID=5

Problemet er så at ikke alle poster fra tabel1 kan kombineres.
Jeg havde selv tænkt på 2 måder at lave det på. Enten et ekstra felt i tabel1, med en kommasepareret liste? over hvad den ikke må kombineres med.

Eller en ny tabel, med 2 felter hvor så samtlige forbudte kombinationer af tabel1 ID´s står.

Jeg synes ikke nogen af løsningerne lyder særligt geniale, men hvordan gør man ellers?

Det blev vist lidt rodet det her, men har ikke lige noget konkret. Håber I forstår alligevel.
Avatar billede arne_v Ekspert
17. juni 2005 - 14:13 #1
komma separerede lister er et no no i relations databaser
17. juni 2005 - 14:20 #2
Det ser ud som om, der er problæemer med normaliseringen af databasen.

Prøv at beskrive dine tabellers indhold, og hvad det er du ønsker.
Avatar billede arne_v Ekspert
17. juni 2005 - 14:22 #3
den anden løsning er OK omend jeg nok ville finde det mere tiltalende med
en positiv liste end med en negativ liste
Avatar billede jonas82 Nybegynder
17. juni 2005 - 14:35 #4
Det skal bruges til et odds system. Hvor nogen væddemål ikke kan kombineres...Ligesom fx tipstjenestens handicap kampe ikke kan kombineres.

Hvis de 3 tabeller så hedder:
Odds - Indeholder samtlige udbudte væddemål
Kupon - Indeholder info om dato, brugernavn etc. for oprettelse af en kupon
Valg - Indeholder kupon_id odds_id og valg(1X2)


Tror det gav lidt mere mening?
Avatar billede jonas82 Nybegynder
17. juni 2005 - 14:35 #5
En negativ liste vil være væsentlig mindre end en positiv liste.
Avatar billede jonas82 Nybegynder
17. juni 2005 - 14:53 #6
Ville det være et ok tabeldesign? og er der så andre muligheder end at lave en ny tabel med forbudte kombinationer?
Avatar billede arne_v Ekspert
17. juni 2005 - 14:55 #7
du skal helt klart have en tredie tabel
Avatar billede jonas82 Nybegynder
21. juni 2005 - 15:23 #8
Ok. Bare svar.
Avatar billede arne_v Ekspert
21. juni 2005 - 15:54 #9
ok
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