Objekti-relaatiokartoitus

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.

Käyttö muokkaa

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

Ongelmat muokkaa

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

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