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
797
Vastaukset
- 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
- 12710488
- 525070
Taas ryssittiin oikein kunnolla
r….ä hyökkäsi Viroon sikaili taas ajattelematta yhtään mitään https://www.is.fi/ulkomaat/art-2000011347289.html422261Lähetä terveisesi kaipaamallesi henkilölle
Vauva-palstalta tuttua kaipaamista uudessa ympäristössä. Kaipuu jatkukoon 💘1052078- 281986
Vanha Suola janottaa Iivarilla
Vanha suola janottaa Siikalatvan kunnanjohtaja Pekka Iivaria. Mies kiertää Kemijärven kyläjuhlia ja kulttuuritapahtumia131621Valtimon Haapajärvellä paatti mäni nurin
Ikävä onnettomuus Haapajärvellä. Vene hörpppi vettä matkalla saaren. Veneessä ol 5 henkilöä, kolme uiskenteli rantaan,411432Tiedän kuka sinä noista olet
Lucky for you, olen rakastunut sinuun joten en reagoi negatiivisesti. Voit kertoa kavereillesi että kyl vaan, rakkautta291114Känniläiset veneessä?
Siinä taas päästiin näyttämään miten tyhmiä känniläiset on. Heh heh "Kaikki osalliset ovat täysi-ikäisiä ja alkoholin v331051Rakastuminenhan on psykoosi
Ei ihme että olen täysin vailla järkeä sen asian suhteen. Eipä olis aikoinaan arvannut, että tossa se tyyppi menee, jonk54987