Sommaire

Principes et généralités

L’ORM est un acronyme anglais signifiant Object-Relational Mapping. Sa traduction pourrait être : correspondance entre le modèle objet et le modèle relationnel, ce qui tel quel n’est pas très explicite. On parle souvent en français de mapping objet-relationnel. L’ORM correspond à une technique informatique permettant d’établir une correspondance entre les objets manipulés dans un langage de programmation orienté objet et les structures d’une base de données relationnelle (tables, index, requêtes…), donnant ainsi l’impression pour le programmeur d’une base de données orientée objet. 

La problématique

Les données utilisées dans un contexte objet sont tout sauf de simples tableaux, mais peuvent être de nature très diverse, et ce encore plus en Python. Sans tout lister, citons : des listes d’objets, des dictionnaires d’objets, des arbres d’objets, etc. et ce bien sûr sans même parler du polymorphisme éventuel des objets Python.

A contrario, une base de données manipule un ensemble d’« objets » simples et de natures (ou types) bien définis, c’est-à-dire des tables ayant un nombre de champs fixes, organisées en colonnes dont le type est prédéterminé parmi une liste bien établie et non extensible : entiers, flottants, ...