Hej Försök hitta en gemensam nämnare i databasen som lagnamnen kan referera till oavett vad lagnamnen är? Du kanske måste skapa en tabell till där du sparar dessa gemensamma nämnare och referera till den. Jo, jag har ju tänkt på det... fast då blir det ju lite dubbelregistrering. Om du har en tabell som innehåller Lagnamn och i den lägger till ett fält med Lagidentitet då skulle du ju kunna selectera ut alla olika lagnamn med samma lagidentitet vilket innebär att alla dessa lagnamn i grund och botten är samma klubb. Varje lag får ett unikt ID (t.ex. en räknare) som sedan kopplas ihop med namnet på laget. När du refererar till laget i ditt program så använder du ID:t i stället för lagnamnet. Fältet med lagnamn använder du bara för att presentera info i utskrifter, rapporter etc. På så sätt kan ett lag byta namn hur många gånger som helst utan att det påverkar ditt program. Ja, så kanske jag kan göra. Ja, naturligtvis använder jag ett unikt ID och klartext bara för presentationen, men vid sökningar på webbsidan där besökarna skall söka måste de ju ange (delar av) namnet och inte ID-numret. Allt är möjligt! Det är svårt att ge dig en exakt lösning eftersom jag inte är insatt i helheten men tanken är ju att ge dig en kick i rätt riktning, se dörren öppnas upp lite på glänt och att du kan se på problemet från ett annat håll och tillämpa din lösning på det hela. Den exakta lösningen återstår ju fortfarande att prova sig fram till. Kan det här vara någotDatabasdesign - hur löser man namnbyten?
Jag håller på med en databas med olika resultat.
Per år anger jag resultat för olika lag. Men lag (i sporter tex) kan ju byta namn utan att det för den skull blir en annan klubb/förening, och det krånglar till saken lite grann.
Jag vill att om tex Lag1 1991 hette LagNamn1 och år 1992 bytte namn till LagNamn2, ändå skall kunna kopplas ihop när man söker på namnen så att det inte ser ut som om LagNamn1 inte är samma lag som LagNamn2.
Är det någon som hänger med hur jag menar??? *ler*
Hur löser jag detta på bästa möjliga normaliseringssätt i en relationsdatabas? Det finns ju många 'fula' lösningar på detta problem, med bla dubbelregistreringar osv, men dom vill jag ju undvika som ni förstår.
Tacksam för alla uppslag!Sv: Databasdesign - hur löser man namnbyten?
Sv:Databasdesign - hur löser man namnbyten?
Säg att man där noterar att LagNamn1 = LagNamn2, men då medför det ju också att man väl måste ange när (fr.o.m. och t.o.m.) namnen är aktuella... och det gemensamma namnet måste på något sätt kodas in i resultattabellen så att sökningarna söker efter namn1, namn2 OCH koden. Och när lagen (och för den delen även personer mm) byter namn fler än en gång... suck...Sv: Databasdesign - hur löser man namnbyten?
tblLagnamn tblKlubbNamn
| Lagnamn | | Klubbnamn |
| KlubbID | | KlubbID |
SELECT Lagnamn FROM tblLagnamn,tblKlubbnamn WHERE tblKlubbnamn.KlubbID = tblLagnamn.KlubbID AND tblKlubbnamn.KlubbID = 123
Då får du ut alla lagnamn tillhörande samma klubb.Sv: Databasdesign - hur löser man namnbyten?
Mvh, JanneSv:Databasdesign - hur löser man namnbyten?
När man anger ett resultat för ett år får man då välja mellan de klubbnamn som finns för klubben och kolla vilken namn som var aktuellt just det aktuella året...
Det blir ju lite fix med att få sökningarna att fungera då kan jag tänka mig men det skall väl också gå att lösa. Ingenting är ju omöjligt, eller hur? ;-)Sv:Databasdesign - hur löser man namnbyten?
Sv: Databasdesign - hur löser man namnbyten?
Lycka till!Sv:Databasdesign - hur löser man namnbyten?
Men jag är tacksam för nya idéer osv så att man kommer vidare. Tack, tack!
Måste dock fundera lite vidare på om detta innebär att alla lag skall med i den 'extra' tabellen eller bara de som någon gång bytt namn. Jag får se hur det löser sig med tiden...
Ett liknande problem jag får är ju med personer som bytt namn (inte såå vanligt men ändå) och dessutom med tävlingar som byter namn bla pga sponsrade turneringar mm. Det blir mycket att tänka på om allt skall bli 'perfekt'.Sv: Databasdesign - hur löser man namnbyten?
TabellLagId
-ID (PK)
-KlubbId (FK)
-EventuellAnnanInfo
TabellLagnamn
-LagId (FK)
-Lagnamn
-NamnFött, Datum
-NamnDött, Datum
Om du då söker efter t ex ett speciellt datum så kan du få fram lagnamnet vid det datumet.
Om t ex NamnFött = 2004-01-01 och NamnDött = 2004-12-31 och ingen senare post finns för Lagid´t så finns för tillfället inget namn på laget.
Om t ex NamnFött = 2004-01-01 och NamnDött = NULL så är det ett lagnamn som fortfarande gäller.
Om du söker efter ett speciellt lagnamn så kan du ju använda TabellLagnamn för att söka efter andra lagnamn med samma LagId. Vid presentation av lagnamnen i ett formulär kan man ju tänka sig någon form av indikering om flera lagnamn förekommer. De andra lagnamnen kan då t ex visas på begäran i ett popup fönster eller varför inte lista namn och årtal i ToolTip.
//
Janne