Objekti-relaatiokartoitus

Wikipediasta
Siirry navigaatioon Siirry hakuun

Objekti-relaatiokartoitus (engl. Object Relational Mapping, ORM) on tietojenkäsittelytieteessä käytettävä ohjelmointitekniikka, jolla saadaan muunnettua tietoa relaatiotietokannan (SQL) taulukoista olio-ohjelmointikielen käyttöön sopiviksi objekteiksi, jolloin tietokannan tietoja voidaan käyttää objektiorientoituneesti. Käytännössä tämä tarkoittaa sitä, että alkuperäisestä tietokannasta luodaan virtuaalinen objektitietokanta, jota voidaan käyttää ohjelmointikielen sisällä. Tämä antaa ohjelmoijille intuitiivisemman ja käytännöllisemmän tavan käyttää relaatiotietokantaa kuin puhtaiden SQL-kyselyiden kirjoittaminen. Tämä vähentää myös huomattavasti virheiden määrää, joita syntyy, kun SQL-kyselyitä kirjoitetaan manuaalisesti. Lisäksi tietokannan rakenteeseen on helpompaa tehdä muutoksia ja aikaa säästyy.

Objekti-relaatiokartoitus on hyvin suosittu ohjelmointitekniikka modernissa ohjelmistokehityksessä. Tekniikkaa käytetään nykyään huomattavasti mobiilisovellusten, web-sovellusten ja pilvipalveluiden kehittämisessä.

Yleisimmät ongelmat syntyvät, kun aletaan sovittamaan objektijärjestelmiä relaatiotietokantaan. Näitä vaikeuksia kutsutaan objekti-relaatio-impedanssivaikeuksiksi. Lisäksi kuormitetussa ympäristössä ORM voi heikentää suorituskykyä, sillä se lisää järjestelmään ylimääräisen kerroksen. ORM:n käyttö voi myös rajoittaa tietokannan rakennetta ja toiminnallisuuksia, mikä taas näkyy käyttöönoton monimutkaisuutena.

ORM eri ohjelmointikielillä

[muokkaa | muokkaa wikitekstiä]

Jokaiselle ohjelmointikielelle, jolla käytetään ORM-tekniikkaa, on omat työkalut. Työkalut täytyy siis päättää valitun kielen perusteella.

Esimerkkejä työkaluista ja kielistä:

  • Java:
    • Hibernate
    • EclipseLink
  • PHP:
    • Laravel
    • RedBeanPHP
  • Python:
    • SQLObject
    • SQLAlchemy
  • .NET:
    • nHibernate
    • Dapper