Gå til innhold

Raskt spørsmål om å "lage en relasjon [mellom to tabeller]"


Anbefalte innlegg

Det var sensor i Informasjonsteknologi 1 (videregående nivå) som nylig ba meg "lage en relasjon" mellom to tabeller jeg nettopp hadde opprettet i phpMyAdmin. Han hevdet dette var en grunnleggende teknikk som jeg måtte kunne.

 

Jeg tror sensor hadde jobbet i Access eller liknende, og så vidt jeg forsto hadde han egentlig ikke noe særlig kjennskap til SQL.

 

Jeg var stresset og svarte at nei, det kunne jeg ikke. Nå i ettertid har jeg begynt å lure på hva han ville jeg skulle gjøre. Er det å benytte seg av koblinger i spørringer, kanskje? Eller REFERENCES-nøkkelordet? Hvis sistnevnte, hvordan kunne jeg brukt det i etterkant av å ha opprettet de to tabellene?

 

Takk!

Lenke til kommentar
Videoannonse
Annonse

Det er jo ganske flaky terminologi på dette området egentlig. En relasjon er rent formelt det vi i dagligtale kaller en tabell. Men vi snakker jo også om 1:N-relasjoner mellom tabeller f.eks., når vi snakker om datamodeller.

 

Så rent formelt sett ba han deg vel egentlig om å lage en tabell mellom to tabeller. Det var sikkert ikke det han mente, men samtidig er det jo det man må gjøre hvis man vil ha en N:N-relasjon, da må man opprette en knyttetabell, det klassiske eksempelet er jo student-kurs hvor hvert kurs kan ha mange studenter og hver student kan delta på mange kurs.

 

Det sensor burde ha bedt deg om ville være å lage en fremmednøkkel, i en tabell, og/eller opprette en knyttetabell om nødvendig.

 

I bunn og grunn vil jeg vel tro at det burde være forståelig hva som mentes utfra terminologien som har vært brukt i kurset og pensumlitteraturen.

 

http://en.wikipedia.org/wiki/Relation_(database)

(http://en.wikipedia.org/wiki/RDBMS)

Lenke til kommentar

Det er jo ganske flaky terminologi på dette området egentlig. En relasjon er rent formelt det vi i dagligtale kaller en tabell. Men vi snakker jo også om 1:N-relasjoner mellom tabeller f.eks., når vi snakker om datamodeller.

 

Så rent formelt sett ba han deg vel egentlig om å lage en tabell mellom to tabeller. Det var sikkert ikke det han mente, men samtidig er det jo det man må gjøre hvis man vil ha en N:N-relasjon, da må man opprette en knyttetabell, det klassiske eksempelet er jo student-kurs hvor hvert kurs kan ha mange studenter og hver student kan delta på mange kurs.

 

Det sensor burde ha bedt deg om ville være å lage en fremmednøkkel, i en tabell, og/eller opprette en knyttetabell om nødvendig.

 

I bunn og grunn vil jeg vel tro at det burde være forståelig hva som mentes utfra terminologien som har vært brukt i kurset og pensumlitteraturen.

 

http://en.wikipedia.org/wiki/Relation_(database)

(http://en.wikipedia.org/wiki/RDBMS)

 

Takk, det hjalp, selv om jeg fortsatt ikke helt forstår hva han ville frem til.

 

I læreboken mener jeg at det snakkes i relasjoner som i en-til-mange-, mange-til-mange-relasjoner osv.

Lenke til kommentar

Takk, det hjalp, selv om jeg fortsatt ikke helt forstår hva han ville frem til.

 

I læreboken mener jeg at det snakkes i relasjoner som i en-til-mange-, mange-til-mange-relasjoner osv.

 

det er vel overveiende sannsynlig han refererte til det dere har hatt som pensum ja.

Lenke til kommentar

Hadde informasjonteknologi 1 i fjor. Da var database med relasjoner i Access, nesten det eneste vi drev med. Hadde dere ikke noe opplæring i Access?

 

relasjon.png

 

Her har jeg laget et eksempel på en en-til-mange relasjon.

Det er en en til-mange-relasjon fordi en person kan eie flere katter og en katt bare er eid av en person.

Vi lager en ekstra tabell "eier" sånn at vi kan legge inn samme person som eier av flere katter uten at nøkkel verdier duplikeres.

I eier tabbelen setter vi Pnr og kattID som nøkkel, så drar vi linjene som lager relasjonen.

 

feil.png

 

I denne tabellen har vi bare to tabeller med den samme oppgaven. Det som er problemet her er at en person ikke kan eie flere katter, siden nøkkelen "pnr" vil komme igjen. Derfor må vi lage en, en-til-mange relasjon i dette tilfellet.

 

håper dette hjalp deg litt

Endret av kensil
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...