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ää?
Parin taulun liitoksesta kysymys
5
867
Vastaukset 5
- 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
- 1261563
Naisten liian suuret vaatimukset?
Palstalla näkee usein vlituksia siitä, että naisilla on miehille liian suuria vaatimuksia. Haluankin nyt mielenkiinnosta2031016Johanna Tukiainen oli seonut ja hyökännyt ystävänsä kimppuun.
Ollut suora lähetys ja repinyt hiuksista ystäväänsä.149645Olen Aito Narsisti
Kysykää mitä haluatte liittyen tähän aiheeseen. Joitain kokemuksiani asiaan liittyen voin harkintani mukaan jakaa.232536- 187499
- 31490
Outo liikkuja
Tämä tyyppi josta kirjoitettiin Ähtärin Ilmoitustaululla. Joka yritti varastaa auton meijeritieltä. Hän liikkui koulut11444- 183444
- 41426
Iso käsi pormestarille hyvin hoidetusta työstä
Puolangan kunta on siistinyt Paljakan rinteitä kesän aikana – yksi keskeneräinen lakiasia hidastaa vielä rinnekeskuksen18403