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

801

    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. Ensi kesänä

      Näin kesän viimeisenä minuutteina ajattelen sinua. Olisiko seuraava kesä "meidän" kesä? Tänä vuonna ei onnistuttu, mutta
      Ikävä
      64
      3305
    2. Tukalaa kuumuutta

      Tietäisitpä vaan kuinka kuumana olen käynyt viime päivät. Eikä johdu helteestä, vaan sinusta. Mitäköhän taikoja olet teh
      Ikävä
      43
      3127
    3. Sinä, ihastukseni

      Mitä haluaisit tehdä kanssani ensimmäisenä?
      Ihastuminen
      43
      2498
    4. Anne Kukkohovin karmeat velat ovat Suomessa.

      Lähtikö se siksi pois Suomesta ? Et on noin kar? mean suuret velat naisella olemassa
      Kotimaiset julkkisjuorut
      108
      2376
    5. Tiedät ettei tule toimimaan.

      Mielenterveys ei kummallakaan kestä.
      Ikävä
      31
      1923
    6. Okei, myönnetään,

      Oisit sä saanut ottaa ne housutkin pois, mutta ehkä joskus jossain toisaalla. 😘
      Ikävä
      27
      1820
    7. Onko kaivatullasi

      himmeä kuuppa?
      Ikävä
      48
      1626
    8. Mihin hävisi

      Mihin hävisi asiallinen keskustelu tositapahtumista, vai pitikö jonkin Hannulle kateellisen näyttää typeryytensä
      Iisalmi
      85
      1435
    9. On jo heinäkuun viimeinen päivä.

      En taida nähdä sinua koskaan.
      Rakkaus ja rakastaminen
      39
      1300
    10. Lähtikö korvat

      puhtaaksi vaikusta?
      Tuusniemi
      82
      1159
    Aihe