Outils du site

() Il se dessine de façon tangible, dans votre génération qui monte, mon camarade, une espèce d'ambition glacée d'arriver par le fric et un mépris cynique de tous les idéaux assez peu compatible avec l'idée qu'on se fait de la jeunesse éternelle génératrice de fougues irréfléchies et de colères gratuites. [Pierre Desproges]

60-database:orm

Ceci est une ancienne révision du document !


ORM

Object Relational Mapper

“Although this is usually referred to as object-relational mapping, there is really nothing to do with objects here.” Cf. Martin FOwler

Références

“A lot of people pick up an ORM because they don’t want to take the time to learn the underlying SQL (Structured Query Language).” Cf. Why you should avoid ORMs (with examples in Node.js)

“The object/relational mapping problem is hard.” ORM Hate (Martin Fowler)

The Clean Code Blog by Robert C. Martin (Uncle Bob)

The Vietnam of Computer Science (Ted Neward's Blog)

Key concepts

underfetching

Une seule requête à la BD ne ramène pas toutes les données nécessaires

Cas d'usage :

  • Une seule requête ne permet pas de ramener toutes les données nécessaires car elle couvre plusieurs tables liées avec des restrictions complexes.

overfetching

Une requête à la BD ramène plus de données que nécessaire.

Cas d'usage :

  • Select * from …. alors que seulement n attributs sont nécessaires

Synthèse

Les ORM sont :

  • complexes à mettre en oeuvre
  • ne couvre pas l'ensemble des besoins
Dernière modification : 2020/01/09 00:55