selykielen suunnittelu ja toteutus Samu Viita
selykielen suunnittelu ja toteutus Samu Viita
selykielen suunnittelu ja toteutus Samu Viita
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
52primitiivit toisiinsa kyselyssä. Jos primitiivi käsittelee kahtaargumenttia, argumentit sijoitetaan primitiivin kummallekin puolelle. Yhdenargumentin primitiivin tapauksessa argumentti sijoitetaan primitiivin välittömäänläheisyyteen jommalle kummalle puolen primitiiviä. Argumentti voi ollamyös tietyissä primitiiveissä listarakenteinen. Lisäksi yksi primitiivi toimii relaatioalgebranvalintaoperaation tapaan <strong>ja</strong> se esitellään myöhemmin tarkemmin.Kielen primitiivit voidaan <strong>ja</strong>kaa käyttötarkoituksensa perusteella kolmeenryhmään: intensionaalisen tason- <strong>ja</strong> intensionaalis-ekstensionaalisen tason käsittelyprimitiiveihinsekä muihin primitiiveihin. Muut primitiivit eivät liity itseosa-kokonaisuussuhteen analysointiin. Niillä on silti tärkeä rooli kyselykielessä.6.2.1. Intensionaaliset primitiivitKielessä on yhteensä kahdeksan intensionaalista primitiiviä. Alla luetellaan kyseisetprimitiivit. Arg1 <strong>ja</strong> arg2 tarkoittavat primitiivien argumentte<strong>ja</strong>.1. arg1 is_composite_type_of arg22. arg1 is_component_type_of arg23. arg1 is_top_type4. arg1 is_basic_type5. arg1 is_property_of arg26. arg1 is_path_to arg27. common_component arg18. common_components arg1.Kyselyjen oletetaan kohdistuvan sekä tricycle:n että bicycle:n osakokonaisuussuhteisiin,jos muuta ei mainita.Ensimmäisen primitiivin pääkäyttötarkoitus on komposiittityypin etsiminenjollekin osalle. Primitiivin avulla saadaan selville sekä välilliset, että välittömätkomposiittityypit. Argumentti voi olla muuttu<strong>ja</strong> tai vakio. Vakion tuleeolla jokin tietokannasta löytyvän oliotyypin nimi. Argumentti arg1 tarkoittaakomposiittityyppiä, <strong>ja</strong> arg2 sen komponenttityyppiä. Primitiivi arvottaa argumentit,jotka ovat muuttujia. Esimerkiksi tämän primitiivin ilmaisullaX is_composite_type_of pedals.X:n arvotuksena saadaan pedals-luokan komposiittiluokat. Toisin sanoen esimerkkitietokantaansoveltamalla primitiivi antaa X:lle seuraavat arvotukset: