Access aux bases de donnees BDD par les objets : la necessité des ORM(Object Relational Mapping).
L'objectif de developper un logiciel comme vous le savez, c'est de manipuler les données, ces données forment en quelque sorte le socle meme de l'existence du logiciel que ce soit web, mobile ou desktop. Une application qui ne gere pas les données de quelques natures que ce soit en est pas une.
Depuis la nuit des temps, pour la persistence et la sauveguarde de ces données, on utilise les BDD et le role des langages de programmation, est de disposer des bibliotheques qui puissent interagire avec les differents BDD ( mysql, Oracle, dal server, postgress etc..) ces bibliothèques devant disposer des fonctionalités qui permettent d'injecter du query Sql dans les BDD et d'obtenir des resultats sous forme de structures de données (tableau/array, liste chainee, etc..) qu'on peut ensuite manipuler dans notre code.
Cependant avec la OOP ou la programmation est basée sur l'abstraction et l'utlisation des objets, injecter manuellement des query Sql dans du code que ca soit en C , C++, C#,,Java,PHP etc.. n'est pas une bonne pratique et le plus souvent ne permet pas de dissocier completement les fonctionalités du code et celles des BDD et ainsi, dans une application assez complexes, il devient difficile de tester une application ou on retrouve pratiquement du code sql injecté dans les fonctions et methodes par exemple en PHP avec PDO ou mysqli, en c# avec ado.net et sqlconnection etc.. alors, pourquoi ne pas avoir des objets qui le moment venu peuvent etre transformer de maniere trasparente en objet de la BDD comme table, colonne et record sans que le developpeur n'est à ecrire du sql?
C'est à cette question que repond les ORM ou mieux des framework donc le but est de permettre au developpeur de pouvoir penser uniquement code en manipulant les classes et ses objets et le framework s'occupera du mecanisme pour transformer ses objets en table, colonnes ou donnees de la BDD au moment de la Sauveguarde comme quoi : a developper is not a db admin 《le developpeur n'est pas un admin db 》 il doit penser objet et code et non les query Sql.
Beaucoup de ORM existe de nos jours dans tous Les langages,
laravel a eloquence,

C# a entityframework,

Hibernate java

depuis la nuit de temps a hibernate qui est aussi present en c# comme nhibernate
Voilà j'esperes que le terme ORM ne vous embrouillera plus
Happy Coding
LarrySig Guest
24.05.2024, 18:18
Post: Comment fonctionnent Internement les guichets automatiques ?
Orvilledop Guest
22.05.2024, 00:57
Post: Comment fonctionnent Internement les guichets automatiques ?
Orvilledop Guest
15.05.2024, 16:04
Post: Comment fonctionnent Internement les guichets automatiques ?
Franck Guest
14.05.2024, 19:34
Post: Comment deployer un site web statique sur github?