15.07.2013 Views

1. Hensikten med kurset - Lars Marius Garshol

1. Hensikten med kurset - Lars Marius Garshol

1. Hensikten med kurset - Lars Marius Garshol

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Innføring i databaser<br />

Dersom du vil forestille deg hvordan dette fungerer kan du tenke deg at datamaskinen først<br />

setter opp alle mulige kombinasjoner av 1 post fra T_Person og 1 fra T_Bil. Deretter plukker<br />

den ut de der T_Person.ID er lik T_Bil.Eier, før den sorterer de som er igjen på<br />

T_Person.Navn og viser det hele.<br />

Figur 7.4<br />

Resultatet vises i Figur 7.4. Som du ser dukker samme person opp flere ganger dersom<br />

han/hun har flere biler. Det er selvsagt ikke særlig pent, men kan lett ordnes i et skjema eller en<br />

rapport. (Spørringen lagres som Q_Biler på eier.)<br />

7.4 Koblingsegenskaper<br />

Når du kobler to tabeller vises bare de radene der de kombinerte feltene i begge tabellene er<br />

like. Dersom en bil for eksempel skulle stå oppført uten eier vil den ikke bli vist. Dette kan du<br />

endre ved å velge koblingen, klikke <strong>med</strong> høyre mustast og velge koblingsegenskaper.<br />

Der har du tre muligheter:<br />

• standardløsningen: bare ta <strong>med</strong> rader der begge feltene har samme verdi.<br />

• ta <strong>med</strong> alle poster fra den ene tabellen, men bare de <strong>med</strong> en verdi i koblingsfeltet fra den<br />

andre<br />

• den omvendte muligheten.<br />

Der<strong>med</strong> kunne vi valgt å ta <strong>med</strong> alle poster fra T_Bil, men bare de fra T_Person der<br />

koblingsfeltene er like. Da ville vi fått opp også biler uten eiere, som ville hatt Navn-kolonnen<br />

tom.<br />

Stort sett vil referanseintegriteten sørge for at dette skjer automatisk, men iblant får du ikke<br />

opp en eneste rad i en koblingsspørring selv om det er data i tabellene. Da kan<br />

koblingsegenskapene være løsningen.<br />

Hvis du endrer koblingsegenskapene slik at resultatet av spørringen vil avhenge av rekkefølgen<br />

postene leses ut av tabellene i vil du få en feilmelding: «Query contains ambiguous outer join.»<br />

Da er det bare å finne på noe annet.<br />

1096 - <strong>Lars</strong> <strong>Marius</strong> <strong>Garshol</strong> 36

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!