ORM
/oː ɛr ɛm/afkorting
Een ORM is software die objecten in programmacode koppelt aan tabellen en relaties in een relationele database. De afkorting staat voor Object-Relational Mapping.
Met de ORM haalt de applicatie een bestelling op als object, zonder voor die handeling zelf SQL te schrijven.
Een applicatie en een relationele Woordenboek · In het kortdatabaseEen database is een gestructureerde verzameling gegevens die software kan opslaan, opvragen en wijzigen. Een databasebeheersysteem regelt de toegang tot die gegevens.Lees meer beschrijven gegevens op verschillende manieren. In code werk je bijvoorbeeld met een object Klant en eigenschappen zoals een naam en e-mailadres. In de database staan die gegevens in tabellen, kolommen en rijen. De ORM vertaalt tussen beide vormen.
Hoe zet een ORM gegevens om?
Een ontwikkelaar legt in een model vast welke velden en relaties bij een object horen. De ORM gebruikt dat model om databasebewerkingen uit te voeren. Een opdracht om een klant op te halen wordt omgezet in een Woordenboek · In het kortSQLSQL is een taal waarmee je gegevens in een relationele database opvraagt en beheert, en waarmee je de structuur van die database vastlegt.Lees meer-query. Het resultaat uit de database zet de ORM vervolgens terug om in een object waarmee de applicatie kan werken.
Veel ORM's helpen ook bij het invoeren, wijzigen en verwijderen van gegevens. Daarnaast bieden ze vaak hulpmiddelen voor relaties en databasemigraties. Bekende voorbeelden zijn Prisma, Hibernate, Entity Framework en Active Record in Ruby on Rails.
Wanneer gebruik je directe SQL?
Een ORM vermindert herhalend werk en houdt de datalaag herkenbaar binnen de programmeertaal. Door deze abstractie ziet een ontwikkelaar minder direct welke Woordenboek · In het kortqueryEen query is een gerichte opdracht aan een systeem om gegevens op te vragen, te filteren, te combineren of te wijzigen.Lees meer de database uitvoert. Dat kan een nadeel zijn bij complexe rapportages of wanneer een query snel moet werken.
In zulke gevallen kun je binnen veel ORM's alsnog SQL schrijven. Een querybuilder is een andere tussenweg: die helpt SQL-query's programmatisch op te bouwen, maar zet de resultaten niet altijd om in domeinobjecten. Welke aanpak past, hangt af van de query, het Woordenboek · In het kortdatamodelEen datamodel beschrijft welke gegevens een systeem vastlegt, hoe die gegevens met elkaar samenhangen en aan welke regels ze moeten voldoen.Lees meer en hoeveel controle de applicatie nodig heeft.