inspiroMedlem sedan sep. 2005673 inlägg Hej! En databasdesign-fråga... säg att man har tre tabeller där tabell 1 har en relation med tabell 2 som i sin tur har en relation med tabell 3. Ibland behöver man sätta ihop tabell 3 med tabell 1 utan att man har något behov av tabell 2. Är det då försvarbart att göra en extra nyckelkolumn i tabell 1 direkt mot tabell 3 trots att man skulle kunna nå dit via en join med tabell 2?
Prestanda? Enkelhet?
Har relationerna någon koppling i affärsreglerna? Dvs är det en fakturas rader eller dylikt så bör det ju finnas kopplingar, annars tror jag man precis som du har ett frågetecken kan få dålig enkelhet = komplexitet, vilket senare kan leda till prestanda förluster för att man missar saker p.g.a. komplexiteten.
Dock så kanske det är något man skall titta på senare om det visar sig vara ett problem.
inspiroMedlem sedan sep. 2005673 inlägg Tänk er en tabell för anställda, län samt stad. Tabellen stad har förstås en relation till län så man vet vilket län alla städer hör ihop med. Men tabellen anställda, där skulle det ju räcka med en koppling mot stad... behöver man då få fram i vilken län den anställde arbetar i så får man joina ihop stad (även om ingen annan info i den tabellen behövs).
Ett alternativ är såklart att ha en nyckel till både län och stad i anställd-tabellen. Då slipper man en join och man kan man helt strunta i stad-tabellen när den inte behövs. Men man får en extra kolumn i anställd-tabellen. Vilket är att föredra?