Qu'est ce qu'un ORM, comment ça fonctionne, et comment dois-je utiliser?
Quelqu'un m'a suggéré d'utiliser un ORM pour un projet que je suis de la conception, mais je vais avoir du mal à trouver des informations sur ce que c'est ou comment il fonctionne.
Quelqu'un peut-il me donner une brève explication de ce qu'est un ORM est et comment il fonctionne et comment je dois commencer à utiliser un?
- J'ai trouvé cette question, mais c'est à partir de 2009 et je ne sais pas si vous avez déjà maître de l'ORM, mais regardez pour Entity Framework dans CodePlex C#(entityframework.codeplex.com) Voici le code source que vous pouvez apprendre. Aussi, vous pouvez lire ceci. (dbtechnet.org/labs/dae_lab/Orm.pdf)
- Je veux juste faire remarquer que l'ORM cam se rapportent également à des Objet-Rôle de la Modélisation en.wikipedia.org/wiki/Object-role_modeling
- C'est une bonne question et les votes pour le top de réponse semblent le confirmer. Une brève description de ce qu'un ORM ne nécessite pas d'avis. Tout simplement parce que l'utilisateur demande un lien pour commencer la question est signalé hors-sujet. J'ai l'impression que c'est fréquent sur-réaction de la part des modérateurs.
- ce qui en soi est difficile. C'est le meilleur que j'ai pu trouver sur ce meta.stackoverflow.com/questions/275134/.... Aussi, cette question est maintenant bien répondu et disponible. Je ne vois pas la nécessité pour plus de réponses, donc même si je n'aime pas l'état "fermé", je ne vois vraiment pas ce que la ré-ouverture le fera pour elle. Je souhaite juste qu'il, et beaucoup d'autres questions, n'étaient pas fermés à la première place. Celui-ci était uniquement fermé parce qu'une partie de la réponse est inappropriée, lorsque l'autre partie a été clairement très bénéfique. Je n'ai pas l'obtenir.
- Une question fermée qui signifie que la question est hors-sujet. Il pourrait être utile de l'info dans les réponses, mais cela ne rend pas la question sur le sujet. Aussi, il ne sera pas supprimé, il va rester ici, mais nous avons encore besoin de maintenir la propreté et sur le sujet pour qu'il fonctionne à son meilleur. Donc, pour répondre à votre premier commentaire: Ce n'est pas une question utile, il y a des réponses utiles.
- Le problème est que la question comporte une demande de ressources (à la fois dans le titre et dans la question). De telles demandes sont hors-sujet, en grande partie, car il en résulte des gens en train de poster un lien vers leur favori des ressources, comme cela s'est produit dans plusieurs des réponses ici. Retrait de la demande de ressources à partir de la question à invalider certaines réponses. Comme les utilisateurs réguliers, nous ne sommes pas autorisés à modifier la question d'invalider les réponses. Ainsi, il devrait être fermé. Si la question est sans réponse, alors il pourrait être modifiée pour supprimer ces demandes et reste ouverte.
- Un élu modérateur peut modifier la question pour supprimer complètement les demandes de ressources et de supprimer toutes les réponses qui ne répondent à la partie de la demande pour les ressources. Pour les réponses qui à la fois répondre à la question principale et de fournir des ressources, ils doivent déterminer si les ressources suggérées sont une partie intégrante de la réponse et de supprimer ou de modifier le libellé de la part de ceux qui pourrait inciter d'autres personnes à penser que les ressources seules réponses sont OK. Seulement après tout ce travail est fait, cela pourrait-il être opportun de rouvrir. Mais, seul un modérateur a la capacité de nettoyer cette mesure.
Vous devez vous connecter pour publier un commentaire.
Introduction
Mapping Objet-Relationnel (ORM) est une technique qui permet d'interroger et manipuler des données à partir d'une base de données à l'aide d'un paradigme orienté objet. Lorsque l'on parle de l'ORM, la plupart des gens font référence à une bibliothèque qui implémente le Mapping Objet-Relationnel technique, d'où l'expression "ORM".
Un ORM bibliothèque est complètement ordinaire bibliothèque écrite dans la langue de votre choix qui encapsule le code nécessaire pour manipuler les données, de sorte que vous ne pas utiliser SQL plus; vous interagissez directement avec un objet dans la même langue que vous utilisez.
Pour exemple, voici un exemple complètement imaginaire cas avec un pseudo langue:
Vous avez un livre de classe, vous souhaitez récupérer tous les livres dont l'auteur est "Linus". Manuellement, vous devez faire quelque chose comme ça:
Avec un ORM de la bibliothèque, il devrait ressembler à ceci:
La partie mécanique est pris en charge automatiquement par l'intermédiaire de l'ORM de la bibliothèque.
Avantages et les Inconvénients
À l'aide de l'ORM permet d'économiser beaucoup de temps parce que:
À l'aide d'un ORM de la bibliothèque est plus souple car:
Mais ORM peut être une douleur:
for
boucle.Comment apprendre à propos de l'ORM?
Bien, d'en utiliser un. Selon l'ORM de la bibliothèque que vous choisissez, ils utilisent tous les mêmes principes. Il ya beaucoup de l'ORM bibliothèques ici:
Si vous voulez essayer un ORM de la bibliothèque dans la programmation Web, vous feriez mieux d'utiliser un framework pile comme:
N'essayez pas d'écrire votre propre ORM, sauf si vous essayez d'apprendre quelque chose. C'est un gigantesque morceau de travail, et le vieux a pris beaucoup de temps et de travail avant de devenir fiable.
Pros and Cons
section dans la réponse ?Sûr.
ORM signifie "Objet pour le Mappage Relationnel" où
La Objet partie est celui que vous utilisez avec votre langage de programmation ( python dans ce cas )
La Relationnel partie est un Relationnel de la Base de données du Gestionnaire de réseau ( base de données ) il existe d'autres types de bases de données, mais la plus populaire est relationnelle ( vous savez, les tables, les colonnes, les pk fk etc par exemple Oracle, MySQL, MS-SQL )
Et enfin la Cartographie partie est l'endroit où vous faites un pont entre vos objets et vos tables.
Dans des applications où vous n'avez pas utiliser un ORM de vous faire la main. À l'aide d'un ORM vous permettrait de faire réduire le code nécessaire pour créer la solution.
Donc, disons que vous avez cet objet.
et la table
À l'aide d'un ORM vous permettra de carte que l'objet avec un db d'enregistrer automatiquement et écrire quelque chose comme:
Et ont l'employé inséré dans la DB.
Oups il n'a pas été que brève, mais j'espère que c'est assez simple à attraper d'autres articles que vous lisez.
Un ORM (Object Relational Mapper) est un morceau/de la couche de logiciel qui permet à la carte de votre code d'Objets de votre base de données.
Certains gèrent des aspects plus que d'autres...mais le but est de prendre un peu de poids de la Couche de Données hors du développeur épaules.
Voici un petit extrait de Martin Fowler (Mapper des Données):
Modèles d'Architecture Enterprise Application des Données de Mappeurs
Comme toutes les acronymes, c'est ambigu, mais je suppose qu'ils signifient object-relational mapper -- un moyen de couvrir vos yeux et de faire croire qu'il n'y a pas de SQL en dessous, mais c'est plutôt tous les objets;-). Pas tout à fait vrai, bien sûr, et pas sans problèmes -- le toujours coloré Jeff Atwood a décrit ORM comme le Vietnam de CS;-). Mais, si vous connaissez peu ou pas de SQL, et ont une assez simple /à petite échelle de problème, ils peuvent vous sauver du temps!-)
Modèle d'objet est concerné par les trois concepts suivants
L'Abstraction De Données
L'Encapsulation
L'héritage
Le modèle relationnel a utilisé le concept de base d'une relation ou d'une table.
Mapping objet-relationnel (OU mapping) produits d'intégrer la programmation de l'objet langue des capacités avec des bases de données relationnelles.