Outils du site

Je vais faire 30 cocus d'un coup, je vais coucher avec ma femme ... [Sacha Guitry]

60-database:orm

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
60-database:orm [2020/01/09 00:29] Roge60-database:orm [2020/01/09 01:47] (Version actuelle) – [ORM] Roge
Ligne 1: Ligne 1:
 ====== ORM ====== ====== ORM ======
  
-Object Relational Mapper+Object-Relational Mapping
  
 +//"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 =====
  
-===== Articles =====+//"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. [[https://blog.logrocket.com/why-you-should-avoid-orms-with-examples-in-node-js-e0baab73fa5/ | Why you should avoid ORMs (with examples in Node.js)]]
  
 +//"The object/relational mapping problem is hard."// [[https://martinfowler.com/bliki/OrmHate.html | ORM Hate (Martin Fowler) ]]
  
-[[https://blog.logrocket.com/why-you-should-avoid-orms-with-examples-in-node-js-e0baab73fa5/ Why you should avoid ORMs (with examples in Node.js)]]+//"Tables are not business objects! Tables aren’t objects at all. Tables are just data structures that the true business objects use as a resource."// [[https://blog.cleancoder.com/uncle-bob/2013/10/01/Dance-You-Imps.html The Clean Code Blog 
 +by Robert CMartin (Uncle Bob) ]]
  
-[[https://martinfowler.com/bliki/OrmHate.html ORM Hate (Martin Fowler) ]]+//"The Object-Relational Impedence Mismatch"// [[http://blogs.tedneward.com/post/the-vietnam-of-computer-science/ | 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
  
-===== Key concepts =====+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 ====
  
-**underfetching**: Une seule requête à la BD ne ramène pas toutes les données nécessaires+Une requête à la BD ramène plus de données que nécessaire.
  
 Cas d'usage :  Cas d'usage : 
-* Le besoin est complexe car il couvre plusieurs tables avec des restrictions "compliquées" 
-* ''Select * from ....'' alors que seulement n attributs sont nécessaires 
  
-**overfetching**: Une requête à la BD ramène plus de données que nécessaire+  ''Select from ....'' alors que seulement n attributs sont nécessaires
  
  
Ligne 29: Ligne 38:
  
 Les ORM sont : Les ORM sont :
-* complexes à mettre en oeuvre +  * complexes à mettre en oeuvre 
-* ne couvre pas l'ensemble des besoins+  * ne couvre pas l'ensemble des besoins
Dernière modification : 2020/01/09 00:29