Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: SQL aputaulu taululle

hevonen [13.10.2008 00:37:03]

#

Tehtävä on tämä:
http://dl.getdropbox.com/u/175564/putka1.png

Ja vastaus on tämä:
http://dl.getdropbox.com/u/175564/putka2.png

En ymmärrä tätä riviä vastauksessa:
erityisosaamisalue(PK(henkilönumero->henkilö, erityisosaamisalue))

*PK = primary key

Mielestäni tuo tarkoittaa, että taululle henkilö (kuva1) on aputaulu. Tämä aputaulu sisältää PK:n, jossa henkilönumero sarake viittaa henkilö tauluun. Aputaulussa on myös PK erityisosaamisalue.

1. Miksi taulu "henkilö" tarvitsee aputaulun? Luulin, että aputauluja on vain kahden taulun välissä, joissa on molemmissa useita viittauksia.

2. Miksi kyseinen rivi sisältää vain yhden viittauksen ulkopuoliseen tauluun, eikä esimerkiksi kahteen eri tauluun?

Grez [13.10.2008 00:59:32]

#

Mielestäni tossa on kyse siitä, että yhdellä henkiöllä voi olla 0-n erityisosaamisaluetta. Erityisosaamisalue itsessään on kuitenkin ihan vaan tekstiä tms, joten se ei ole missään taulussa. Tällöin

1) Koska muuten henkilö-tauluun täytyisi tehdä sarakkeet eritysiosaaminen1, erityisosaaminen2, erityisosaaminen3 ... erityisosaaminenN. Ja se ei olisi järkevää

2) Koska erityisosaaminen on ilmeisesti vain tekstiä tms., eikä viittaus johonkin toiseen tauluun.

hevonen [13.10.2008 01:28:56]

#

Kiitos!
Tuo selvensi lähes kaiken.

1. Miksi vastauksessa (kuva 2) henkilö -taulussa ei ole viittausta erityisosaaminen -aputauluun?
2. Miten siis erityisosaaminen aputaulu liitetään henkilö tauluun? Riittääkö se, että on vain viittaus aputaulusta isäntätauluun?

Grez [13.10.2008 02:13:50]

#

1. Koska erityisosaaminen-taulusta on viittaus henkilö-tauluun
2. riittää

En nyt tiedä onko tuo "aputaulu" mutta ainahan 1-moneen suhteisissa viittauksista viitataan ikäänkuin monesta yhteen. Yhdeltä riviltä ei voi järjellisesti viitata useammalle riville.

hevonen [13.10.2008 04:29:19]

#

Kiitos!
Kysymys on nyt selvä.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta