ORM (Object Relational Mapping): automatise l'enregistrement des données

ORM (base de données et logo du code source)

Avez-vous déjà pensé ou eu besoin de transmettre des données de vos objets de code source dans une table des matières ou une base de données? Il serait très pratique d'avoir un outil pour pouvoir le faire automatiquement et non pas manuellement, n'est-ce pas? Mais pour que cela soit possible, ces valeurs doivent être dans le format approprié. Eh bien, si vous avez besoin de faire cela, vous devez connaître ORM (Object Relational Mapping).

Avec ORM, les données de vos objets seront passées dans un format correct pour pouvoir enregistrer toutes ces informations dans une base de données en les mappant. Cela crée une base de données virtuelle où les valeurs trouvées dans l'application que vous avez créée dans votre code, et donc sont liés à cette base de données pour leur donner de la persévérance et les enregistrer de cette manière simple. Cela confère aux informations enregistrées une persistance afin qu'elles puissent être stockées, analysées, enregistrées ou utilisées plus tard.

Par exempleImaginez que vous ayez un programme Python chargé de lire les valeurs d'un capteur DHT11 qui enregistre la température et l'humidité. Mais vous ne souhaitez pas enregistrer ces valeurs à partir d'un environnement. De manière simple, vous pouvez créer un code source pour programmer ce dont vous avez besoin et lire les valeurs prises par le capteur et les afficher à l'écran. Mais que se passe-t-il si vous souhaitez stocker les valeurs à analyser lorsque des pics de ces valeurs se sont produits ou pour tout autre utilitaire?

Dans ce cas, vous devriez avoir la possibilité de sauvegarder ces données en même temps dans une base de données et c'est là que l'ORM est utile. En plus de votre projet DIY vous pouvez stocker ce dont vous avez besoin et traiter les valeurs manuellement ou via d'autres logiciels grâce au fait que vous les avez capturés dans une base de données ...

Qu'est-ce que l'ORM?

El mappage objet-relationnel ou ORM pour son acronyme en anglais, c'est une technique de programmation qui sert à transformer les données utilisées dans le langage ou programme de programmation orienté objet et la base de données relationnelle (type SQL) comme moteur de persistance. Cela permettra aux valeurs du programme de créer une base de données virtuelle orientée objet pour contenir les données dont vous avez besoin.

Si vous avez déjà programmé une application connectée à une base de données, vous aurez remarqué qu'il est assez difficile de transformer les informations pour les adapter à la base de données ou vice versa. C'est-à-dire, la cartographie est une chose fastidieuse que vous pouvez automatiser à l'aide de l'ORM, en plus de le rendre indépendant de la base de données que vous souhaitez utiliser et vous pouvez même changer le moteur de base de données sans problème.

Un un exemple pratique est une voiture F1, où il dispose d'une série de capteurs qui mesurent les valeurs de pression, de température, de consommation, de régime, de vitesse, d'accélération, de changements de vitesse, de mouvements de direction, d'huile, etc. Toutes ces valeurs sont vues en temps réel par les ingénieurs sur leurs ordinateurs grâce à la télémétrie. Mais à la fin de la session, les ingénieurs doivent étudier et analyser ces données pour comprendre comment améliorer la configuration, faire évoluer la voiture ou ce qui a causé la panne. Pour que cela soit possible, ils doivent être exportés vers une base de données.

Avantages et inconvénients de l'ORM

Comme je l'ai déjà commenté, avec ORM vous permet de résumer à partir de la base de données et simplifie considérablement le code source nécessaire. La cartographie sera automatique et cela signifie que vous vous débarrasserez de beaucoup de problèmes lors de la programmation. Outre la facilité et la rapidité d'utilisation, il assure la sécurité de la couche d'accès aux données contre les attaques.

Mais ce ne sont pas toutes de bonnes choses ORM a aussi ses inconvénients. Dans les environnements fortement chargés, cela peut réduire les performances car vous ajoutez une couche supplémentaire au système. Cela implique également d'apprendre l'ORM afin que vous puissiez l'utiliser, ce qui peut prendre du temps pour bien comprendre et en tirer parti.

ORM pour les langages de programmation

Selon le langage de programmation que vous utilisez vous pouvez utiliser un ORM. Vous ne pouvez pas utiliser n'importe quel ORM, vous devez utiliser le bon. Par exemple:

  • Java: Hibernate, MyBatis, iBatis, Ebean, etc.
  • .NET: Entity Framework, nHibernate, MyBatis.Net, etc.
  • PHP: Doctrine, Propulsion, Roches, Torpeur, etc.
  • python: Peewee, SQLAlchemy, PonyORM, Elixir, etc.

Exemple avec Python et ORM

Peewee est un ORM simple et raccourci à utiliser avec Python. Vous pouvez obtenir plus d'informations de votre site officiel. De plus, sachez que Peewee prend en charge différents SGBD, c'est-à-dire plusieurs systèmes de gestion de bases de données, tels que SQLite, MySQL et Postgresql. Il vous suffit de changer la déclaration bbdd initiale et c'est tout.

Par exemple, dans votre guide rapide ou démarrage rapide Sur le site, vous pouvez voir des exemples de code simples avec Peewee comme ceci:

from peewee import *

db = SqliteDatabase('people.db')

class Person(Model):
    name = CharField()
    birthday = DateField()

    class Meta:
        database = db # This model uses the "people.db" database.

Au cas où cela vous semble peu, vous avez à votre disposition l'outil pwiz, un programme qui obtient des modèles Peewee à partir de bases de données. Par exemple:

<br data-mce-bogus="1">

python -m pwiz -e postgresql basedatos &gt; modelo.py<br data-mce-bogus="1">


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.