Mikä on ORM
Objektien kartoitus relaatiotietokantoihin
ORM (Object-Relational Mapping) on ohjelmointitekniikka, joka mahdollistaa tietokantojen käsittelyn koodin objektien kautta ilman SQL-kyselyiden manuaalista kirjoittamista.
Miten se toimii
- Tietokantataulut vastaavat koodin luokkia
- Taulurivit ovat objekti-instansseja
- Sarakkeet ovat objektin ominaisuuksia
- Taulujen suhteet ovat objektiviittauksia
Edut
- SQL-abstraktio — työskentely objekteilla kyselyiden sijaan
- Turvallisuus — suojaus SQL-injektioilta
- Siirrettävyys — tietokannan vaihto ilman koodimuutoksia
- Tuottavuus — vähemmän toistoista koodia
Haitat
- Suorituskyvyn heikkeneminen monimutkaisissa kyselyissä
- Lisäabstraktiokerros
- Oppimiskäyrä edistyneille ominaisuuksille
Suositut ORM:t
- Python: SQLAlchemy, Django ORM
- JavaScript: Prisma, TypeORM, Sequelize
- Java: Hibernate, JPA
- C#: Entity Framework
- Ruby: ActiveRecord