Parin taulun liitoksesta kysymys

Anonyymi

On kaksi taulua, oppilas ja luokka.

Oppilas:
oppilas_id
oppilaan_nimi

Luokka:
luokka_id
luokan_nimi
luokkansa_priimus_id

Oppilas voi kuulua vain yhteen luokkaan.
Luokalla voi olla monta oppilasta, ja luokalla on aina luokkansa priimus, ts. luokalla on aina vähintään yksi oppilas.

Miten nuo pitäisi liittää?

Yksi-yhteen: luokkansa_priimus_id & oppilas_id
Yksi-moneen: luokka_id & oppilas_id

Meneekö oikein?

Ja mitä eroa on "identifying" ja "non-identifying" liitoksilla käytännössä? Onko mitään merkitystä tässä tapauksessa kumpaa käyttää?

5

751

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Anonyymi

      Oppilas taulukossa ilmeisesti myös pitäisi olla sarake siitä mihin luokkaan hän kuuluu.
      Priimus-tieto ilmeisesti pitäisi olla Oppilas taulukossa omana sarakkeenaan, ei Luokka taulukossa, sillä oppilastahan se tieto koskee.

    • Anonyymi

      Eli pitäisi olla jotenkin näin, tai ainakin näin asian käsitän:

      Oppilas:
      oppilas_id
      oppilaan_nimi
      luokka_id
      onko_priimus (ilmaistaan jollain kaksijakoisella tavalla; voisihan myös ajatella että Oppilas taulukossa olisi yksinkertaisesti oppilaan keskiarvo)

      Luokka:
      luokka_id
      luokan_nimi

    • Anonyymi

      Hyvä huomio! Tuosta oppilas-taulusta puuttui tosiaan luokka_id.

      Mielestäni riittää, että luokkansa priimus on pelkästään luokka-taulussa, koska vain yksi oppilas voi olla kerrallaan luokkansa priimus. Priimuksen nimenhän saa selvitettyä sitten sopivalla kyselyllä.

      Tämmöistä ehdottaisin nyt.

      Oppilas:
      oppilas_id
      oppilaan_nimi
      luokka_id

      Luokka:
      luokka_id
      luokan_nimi
      luokkansa_priimus_id

      Yksi-yhteen: Luokka.luokkansa_priimus_id & Oppilas.oppilas_id
      Yksi-moneen: Luokka.luokka_id & Oppilas.luokka_id

      • Anonyymi

        Voi se varmaan noinkin mennä.


      • Kyllä se priimus tieto kannattaa luokka tauluun tallentaa eli siitä viittaus oppilas tauluun. Siten estät tilanteen, että luokalla olisi useampi priimus. "onko_priimus" kenttä oppilas taulussa ei estä mitenkään, ilman erillistä tarkistusta tietenkin, tallentamaan siihen sarakkeeseen useampaa piirmus oppilasta samalle luokalle. Luokka taulssa taas sama tieto esiintyy vain kerran eli viittaus aina korvataan automaattisesti uudella priimuksella.
        Eli jos tieto on oppilas taulussa, joudut suorittamaan vähintään 2 operaatiota:
        1) Nollaa mahdollinen vanha priimus.
        2) Aseta uusi priimus,

        Sivuhuomio: sarakkeiden nimissä ei yleensä käytetä taluun kanssa saman nimistä etuliitettä jos tieto liittyy luonollisesti tauluun. Se on tavallaan turhaa koska taulun nimi jo kertoo sen selvästi:
        "Select id from luokka"
        kertoo selvästi minkä id:t tässä haetaan.
        Jos kyse on taas muun taulun id:stä eli viittauksesta (kuten esim. se priimus id) niin silloin on hyvä ja suositeltavaakin käyttää selvää etuliitettä, josta selviää mihin tauluun viitataan jne...


    Ketjusta on poistettu 2 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornosta

      https://www.kymensanomat.fi/paikalliset/8081054 Kotkalainen Demari Riku Pirinen vangittu Saksassa lapsipornon hallussapi
      Kotka
      85
      2287
    2. Olen tosi outo....

      Päättelen palstajuttujen perusteella mitä mieltä minun kaipauksen kohde minusta on. Joskus kuvittelen tänne selkeitä tap
      Ikävä
      18
      2257
    3. Vanhalle ukon rähjälle

      Satutit mua niin paljon kun erottiin. Oletko todella niin itsekäs että kuvittelet että huolisin sut kaiken tapahtuneen
      Ikävä
      18
      1700
    4. Oletko sä luovuttanut

      Mun suhteeni
      Ikävä
      104
      1458
    5. Maisa on SALAKUVATTU huumepoliisinsa kanssa!

      https://www.seiska.fi/vain-seiskassa/ensimmainen-yhteiskuva-maisa-torpan-ja-poliisikullan-lahiorakkaus-roihuaa/1525663
      Kotimaiset julkkisjuorut
      92
      1416
    6. Hommaatko kinkkua jouluksi?

      Itse tein pakastimeen n. 3Kg:n murekkeen sienillä ja juustokuorrutuksella. Voihan se olla, että jonkun pienen, valmiin k
      Sinkut
      163
      1248
    7. Aatteleppa ite!

      Jos ei oltaisikaan nyt NATOssa, olisimme puolueettomana sivustakatsojia ja elelisimme tyytyväisenä rauhassa maassamme.
      Maailman menoa
      257
      1042
    8. Mitä sanoisit

      Ihastukselle, jos näkisitte?
      Tunteet
      63
      943
    9. Onko se ikä

      Alkanut haitata?
      Ikävä
      78
      909
    10. Omalääkäri hallituksen utopia?

      Suurissa kaupungeissa ja etelässä moinen onnistunee. Suuressa osassa Suomea on taas paljon keikkalääkäreitä. Mitenkäs ha
      Maailman menoa
      174
      893
    Aihe