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

834

    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. SDP on vastuunkantaja, ja siksi suosituin kansan keskuudessa

      Kiusaamiseenkin SDP puuttuu heti sellaisen tultua ilmi. Esimerkiksi persut lakaisevat nämä maton alle ja pahentavat site
      Maailman menoa
      217
      6689
    2. Punavihreät puolueet haluavat Suomeen satoja tuhansia kehitysmaalaisia

      SDP, vihreät ja vassarit haluavat nostaa esim. pakolaiskiintiötä todella paljon. Orpon hallituksen aikana maahanmuutto
      Maailman menoa
      135
      5588
    3. Nyt tuli Suomen somaleista todella ikävää faktaa

      sillä osa somalivanhemmista lähettää lapsiaan kotimaahansa kurinpitolaitoksiin, joissa heitä pahoinpidellään. Illan MOT
      Maailman menoa
      293
      3631
    4. Häirintäkohun keskellä olevalta kansanedustajalta Jani Kokolta (sd) rajua tekstiä somessa.

      https://www.is.fi/politiikka/art-2000011772322.html Ajaakohan tämä SDP:n kansanedustaja Jani Kokko oikein täysillä valoi
      Maailman menoa
      128
      3510
    5. Kähmijä puolueen kannatus romahtamassa

      Erityisesti naiset ovat suuttuneet SDP:lle kertoo asiantuntijat
      Maailman menoa
      125
      2537
    6. Kommentti: oikeuslaitos korvattava SDP:n johdolla

      Näkisin että Suomessa tuomiovalta pitäisi olla demareiden johtoportaalla. Koska porvarimedia säestettynä persujen kirku
      Maailman menoa
      4
      2190
    7. Läppärit kahviloissa

      Aika omituista nykyään, että mennään ”trendikkäästi” tekemään lämppärillä töitä kahviloihin ja viedään moneksi tunniksi
      Kahvilat
      59
      2021
    8. Sinä et halunnut sitoutua

      Samalla tavalla kyin minä ja koen vihdoinkin että se on ihan ok. Sitoutuminen merkitsi meille erilaisia asioita, eikä ne
      Ikävä
      19
      2016
    9. Persut pettävät ja valehtelevat aina

      Petoksistahan jää kiinni kuten olemme persujen kannatusromahduksesta nähneet, mutta siitä huolimatta persut jatkavat val
      Maailman menoa
      63
      1803
    10. Onko kaivattusi spesiaali?

      Millä tavalla ja miten?
      Ikävä
      106
      1554
    Aihe