Замисляли ли сте се или е необходимо да предавате данни от вашите обекти на изходния код в съдържание или база данни? Би било много практично да разполагате с инструмент, който да може да прави това автоматично и да не го прави ръчно, нали? Но за да е възможно тези стойности трябва да бъдат в правилния формат. Е, ако трябва да направите това, трябва да знаете ORM (обектно релационно картографиране).
С ORM данните на вашите обекти ще бъдат предадени в правилен формат, за да можете да запазите цялата тази информация в база данни, като ги картографирате. Това създава виртуална база данни, където стойностите, намерени в приложението, което сте създали във вашия код, и по този начин са свързани с тази база данни за да им дадете упоритост и да ги регистрирате по този прост начин. Това дава запазената информация с постоянство, за да може да се съхранява, анализира, записва или използва по-късно.
Por ejemploПредставете си, че имате програма на Python, която отговаря за отчитането на стойности от сензор DHT11, който записва температура и влажност. Но не искате да записвате тези стойности от среда. По прост начин можете да създадете изходен код, за да програмирате това, от което се нуждаете, и да прочетете стойностите, взети от сензора, и да ги покажете на екрана. Но какво, ако искате да съхранявате стойностите за анализ, когато са настъпили пикове на тези стойности или за друга помощна програма?
В този случай трябва да имате възможност тези данни да се записват едновременно в база данни и тук ORM е полезен. В допълнение към вашия проект „направи си сам“ можете да съхранявате това, от което се нуждаете, и да третирате ценностите ръчно или чрез друг софтуер, благодарение на факта, че сте ги записали в база данни ...
Какво е ORM?
El обектно-релационно картографиране или ORM за съкращението си на английски език, това е техника за програмиране, която служи за трансформиране на данни, използвани в обектно-ориентирания програмен език или програма и релационната база данни (тип SQL) като персистенция. Това ще накара програмните стойности да създадат виртуална обектно-ориентирана база данни, която да съдържа данните, от които се нуждаете.
Ако някога сте програмирали приложение, свързано с база данни, ще забележите, че е доста трудно да трансформирате информацията, за да я адаптирате към базата данни или обратно. А именно, картографирането е досадно нещо че можете да автоматизирате с помощта на ORM, в допълнение към това да го направите независим от базата данни, която искате да използвате, и дори можете да промените механизма на базата данни без проблем.
Un практически пример е автомобил F1, където има серия от сензори, които измерват стойности на налягане, температура, разход, обороти в минута, скорост, ускорение, смяна на предавките, движения на кормилното управление, масло и др. Всички тези стойности се виждат в реално време от инженерите на техните компютри благодарение на телеметрията. Но когато сесията приключи, инженерите трябва да проучат и анализират тези данни, за да разберат как да подобрят настройката, да развият автомобила или какво е причинило неуспеха. За да е възможно това, те трябва да бъдат експортирани в база данни.
Предимства и недостатъци на ORM
Както вече коментирах, с ORM ви позволява да абстрахирате от базата данни и значително опростява необходимия изходен код. Картографирането ще бъде автоматично и това означава да свалите много проблеми от раменете си при програмиране. В допълнение към лекотата и скоростта на използване, той осигурява сигурност на слоя за достъп до данни срещу атаки.
Но не всички са добри неща ORM също има своите недостатъци. В силно натоварени среди може да намали производителността, тъй като добавяте допълнителен слой към системата. Това включва и изучаване на ORM, така че да можете да го използвате, което може да отнеме време, за да разберете правилно и да се възползвате.
ORM за езици за програмиране
В зависимост от езика за програмиране, който използвате можете да използвате ORM. Не можете да използвате каквато и да е ORM, трябва да използвате правилната. Например:
- Ява: Hibernate, MyBatis, iBatis, Ebean и др.
- . NET: Entity Framework, nHibernate, MyBatis.Net и др.
- PHP: Doctrine, Propel, Rocks, Torpor и др.
- питон: Peewee, SQLAlchemy, PonyORM, Elixir и др.
Пример за Python и ORM
Peewee е прост и съкратен ORM за използване с Python. Можете да получите повече информация от вашия Официален сайт. Също така трябва да знаете, че Peewee поддържа различни СУБД, тоест няколко системи за управление на бази данни, като SQLite, MySQL и Postgresql. Просто трябва да смените първоначалната декларация bbdd и това е всичко.
Например, в вашето бързо ръководство или бърз старт От сайта можете да видите прости примери за код с Peewee по следния начин:
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.
В случай, че това ви се струва малко, вие имате на разположение инструмента pwiz, програма, която получава Peewee модели от бази данни. Например:
<br data-mce-bogus="1"> python -m pwiz -e postgresql basedatos > modelo.py<br data-mce-bogus="1">