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

831

    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. Vilma Nissinen pyytää anteeksi rasistisia lausuntojaan

      Nöyrtyi kuten persut yleensäkin. On kyllä noloa tuollainen vätystely, kun ei ole miestä seisoa omien lausuntojensa takan
      Maailman menoa
      228
      3743
    2. S-kauppa nosti hintoja, K-kauppa laski

      Elintarvikkeiden arvonlisävero laski vuodenvaihteessa 13,5 prosenttiin. S-kauppa siirsi alennuksen suoraan katteisiin pi
      Maailman menoa
      3
      2677
    3. Riikka Purra: "Kokoomus haluaa leikata pienituloisten etuuksista - Se ei meille käy"

      Näin vakuutti persujen Purra edellisten eduskunta vaalien alla,. https://www.ku.fi/artikkeli/4910942-kun-uudessa-videos
      Maailman menoa
      62
      2324
    4. Sandels tölkin hinta nousi 1,29 eurosta 1,32 euroon

      Mitähän järkeä valtiolla on verottaa tuotakin elintarviketta niin kovasti, että on järkevämpää käydä hakemassa ulkomailt
      Köyhyys
      41
      1753
    5. Lindtmanin pääministeriys lähenee päivä päivältä

      Suomen kansan kissanpäivät alkavat siitä hetkestä, kun presidentti Stubb on tehnyt nimityksen. Ainoastaan ylin tulodesi
      Maailman menoa
      65
      1633
    6. Oon kyllä välillä ollut susta

      Nainen huolissani, en oo niin sydämetön mitä tunnut ajattelevan
      Ikävä
      105
      1387
    7. Tuntuuko sinusta mies

      että olet jossain, mutta sydämessäsi haluat olla muualla. Suunnittelet kaikkea kivaa ja olet innolla mukana, mutta silti
      Ikävä
      22
      1265
    8. Ikävä uutinen uudesta Unelmia Italiassa kaudesta - Iso pettymys tv-katsojille!

      Unelmia Italiassa -sarja kertoo Ellen Jokikunnaksen perheen elämästä Suomessa ja Italiassa. Nyt Ellen on kertonut tuleva
      Tv-sarjat
      10
      1216
    9. Rakastan sitä

      kun uppoat selittämään jotain. Etsit oikeaa tapaa sanoa jotain, jonka olet jo etukäteen miettinyt, sekoat vähän sanoissa
      Ikävä
      51
      1094
    10. LIEKSA - LUOVUIN JUORUILUSTA NÄIN SIINÄ KÄVI, KARU TOTUUS ÄÄNESTÄJÄN KOVA KOHTALO

      Uusi vuosi ei olisi kukaan voinut ennustaa, maastamuuttoa ennustin, ei kuitenkaan massit riittäneet, jouduin tulemaan K
      Lieksa
      66
      1047
    Aihe