webForumDet fria alternativet

generalisering kanske?

4 svar · 240 visningar · startad av fredriksk

fredrikskMedlem sedan maj 2001211 inlägg
#1

Hmm... Nu har jag stött på ett problem jag aldrig har mött innan...

Jag håller på att bygga ett kundsystem där jag har följande tabeller.

kund
område
utrustning

alla dessa tabeller kan ha en eller flera händelser kopplade till sig (och en händelse är kopplad till någon av ovanstående tabeller) varpå jag även har en tabell kallad handelse.

Men hur skall kopplingen mellan de tre tabellerna och handelse se ut?
Det verkar lite skumt att göra 1:n relationer mellan alla tabeller och handelse tabellen. Detta kommer ju resultera i att en rad i tabellen handelse kommer ha två tomma främmande nycklar då en händelse alltid är kopplad till en (och endast en) av de ovanstående tabellerna.

Hur gör man här?

fredrikskMedlem sedan maj 2001211 inlägg
#2

åh.. ja just det.. det är en mySQL databas och jag är medveten om att de inte har implementerat främmande nycklar i den senaste stabila releasen. Men man vill ju ändå göra rätt... =)

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Det finns foreign keys i Mysql om man använder InnoDB. Det finns några konstiga restriktioner med avseende på index.

Kan samma händelse inträffa för alla kategorier?

I så fall kan du ha en tabell där du lagrar gemensamma uppgifter för kund område utrustning och att det är den som din kopplingstabell för händeler har en foreign key till.

Ett annat alternativ är att ha tre händelsetabeller (och tre kopplings tabeller).

fredrikskMedlem sedan maj 2001211 inlägg
#4

en händelse är mer en notering. Tex
"utrustningen på detta område krånglar. Vi får hålla koll på denna"

Men en enskild notering kan endast tillhöra en av de tre tabellerna. Alltså antingen tillhör en notering kund, område eller utrustning. En annan notering tillhör antingen kund, område eller notering...

Kan du vidareutveckla vad du menar lite mer? Är inte riktigt med på det hela...

LarsGMedlem sedan dec. 200012 464 inlägg
#5

I så fall tycker jag att du skall olika tabeller för händelser som hör ihop med olika kund/område/utrustning

125 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
122 ms — hämta tråd, inlägg och bilagor (db)