IN2090-ukesoppgaver: Uke 2

Relasjonsmodellen og relasjonsalgebra

Oppgave 1

Gitt følgende relasjoner:

Student

Navn Fødselsdato StudentNr Adresse Studie
Ola 1997-01-01 1234 Sognsveien 1 Informatikk
Kari 1995-10-12 1032 Sognsveien 1 Matematikk
Sara 1991-03-09 2501 Osloveien 4 Informatikk
Per 4510 Sognsveien 1 Informatikk

Gruppelærer

StudentNr Kurs Semester
1234 IN2090 H18
2501 IN2090 H18
2501 IN1234 V19

hvor vi antar at StudentNr er unikt for hver student og at en gruppelærer kun kan være gruppelærer i ett kurs én gang per semester. Videre er Gruppelærer(StudentNr) en fremmednøkkel til Student(StudentNr).

a)

Hva er begrepene relasjonsnavn, attributt og tuppel i relasjonene over?

b)

Finn alle supernøkler og kandidatnøkler for relasjonene over.

c)

Forklar hva følgende uttrykk i relasjonsalgebra betyr:

πfødselsdato(σnavn = ′Sara(Student))

d)

Skriv et uttrykk i relasjonsalgebraen som finner følgende:

  1. navn på de studentene som bor i Sognsveien 1
  2. studentNr på alle gruppelærere i IN2090 høsten 2018
  3. studentNr til alle studenter som studerer informatikk
  4. For alle studenter som bor i Sognsveien 1, finn de som studerer matematikk
  5. Finn adressen til alle studenter som har et studentNr mellom 1000 og 3000
  6. Navn og fødselsdato på alle gruppelærere i IN2090 høsten 2018

Oppgave 2

Gikk følgende relasjoner:

Foreleser

Id Navn Kontor KursID År
344 Per C80 IN2090 2020
453 Brian C81 IN2090 2020
567 Jon C82 IN1010
563 Maria C81 IN3420 2019
564 Kari C80 IN2412 2020
876 Per C83 IN3524 2019
980 Kari C80 IN3020 2018
687 Kari C84 IN3020 2019
345 Brian C85 IN2034 2020

Institutt

InstituttID AnsattID
I1 334
I2 453
I3 567
I1 563
I2 563
I1 876
I2 980
I3 687
I3 345
I3 111

Foreleser beskriver altså forelesere, deres Id, navn, hvilket kontor de har, IDen til kurset de underviser og året de underviser det kurset. Institutt sier hvilke institutter ulike ansatte er knyttet til.

Ved å se på eksempel-dataene, kan AnsattID være en fremmednøkkel til Foreleser(Id)?

Oppgave 3

Gitt følgende abstrakte signatur: R(A, B, C, D)

Altså, en relasjon med navn R som har fire attributter (A, B, C og D).

Relasjonen har følgende supernøkler:

  • {B}
  • {A, B}
  • {B, C}
  • {B, D}
  • {C, D}
  • {A, B, C}
  • {A, B, D}
  • {A, C, D}
  • {B, C, D}
  • {A, B, C, D}

a)

Finn kandidatnøklene til R.

b)

Hvilke nøkkel-attributter har R?