Objekti-relaatiokartoitus

Objekti-relaatiokartoitus (, 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ö 
Objekti-relaatiokartoitus on hyvin suosittu ohjelmointitekniikka modernissa ohjelmistokehityksessä. Tekniikkaa käytetään nykyään huomattavasti mobiilisovellusten, web-sovellusten ja pilvipalveluiden kehittämisessä.

Ongelmat 
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ä 
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

Olio-ohjelmointi