ORM (Object Relational Mapping): zautomatyzuj rejestrację danych

ORM (logo bazy danych i kodu źródłowego)

Czy kiedykolwiek myślałeś lub musiałeś przekazać dane z obiektów kodu źródłowego do spisu treści lub bazy danych? Byłoby bardzo praktyczne mieć narzędzie, które mogłoby to robić automatycznie, a nie ręcznie, prawda? Ale żeby było to możliwe, wartości te powinny mieć odpowiedni format. Cóż, jeśli musisz to zrobić, musisz znać ORM (Object Relational Mapping).

Dzięki ORM dane Twoich obiektów zostaną przekazane do odpowiedniego formatu, aby móc zapisać wszystkie te informacje w bazie danych poprzez ich mapowanie. To tworzy wirtualną bazę danych, w której znajdują się wartości znalezione w aplikacji, którą utworzyłeś w swoim kodzie, a tym samym są połączone z tą bazą danych aby nadać im wytrwałość i zarejestrować je w ten prosty sposób. Dzięki temu zapisane informacje są trwałe, dzięki czemu mogą być przechowywane, analizowane, rejestrowane lub wykorzystywane później.

przez ejemploWyobraź sobie, że masz program w Pythonie odpowiedzialny za odczytywanie wartości z czujnika DHT11, który rejestruje temperaturę i wilgotność. Ale nie chcesz rejestrować tych wartości ze środowiska. W prosty sposób możesz stworzyć kod źródłowy, aby zaprogramować to, czego potrzebujesz i odczytać wartości pobierane przez czujnik i wyświetlić je na ekranie. Ale co, jeśli chcesz zapisać wartości do analizy, kiedy wystąpiły szczyty tych wartości lub dla innego narzędzia?

W takim przypadku powinieneś mieć możliwość zapisania tych danych w tym samym czasie w bazie danych i tutaj przydaje się ORM. Oprócz twojego projektu zrób to sam możesz przechowywać to, czego potrzebujesz i traktować wartości ręcznie lub przez inne oprogramowanie dzięki temu, że przechwyciłeś je w bazie danych ...

Co to jest ORM?

El mapowanie obiektowo-relacyjne lub ORM ze względu na swój akronim w języku angielskim jest to technika programowania używana do przekształcania danych używanych w obiektowym języku programowania lub programie oraz w relacyjnej bazie danych (typ SQL) jako silnik trwałości. Spowoduje to, że wartości programu utworzą wirtualną obiektową bazę danych do przechowywania potrzebnych danych.

Jeśli kiedykolwiek programowałeś aplikację podłączoną do bazy danych, zauważyłeś, że dość trudno jest przekształcić informacje, aby dostosować je do bazy danych lub odwrotnie. Mianowicie, mapowanie to żmudna sprawa że możesz zautomatyzować za pomocą ORM, oprócz uniezależnienia od bazy danych, z której chcesz korzystać, a nawet możesz bez problemu zmienić silnik bazy danych.

Un praktycznym przykładem jest bolid F1gdzie posiada szereg czujników mierzących wartości ciśnienia, temperatury, zużycia, obrotów, prędkości, przyspieszenia, zmiany biegów, ruchów kierownicy, oleju itp. Wszystkie te wartości są widoczne w czasie rzeczywistym przez inżynierów na ich komputerach dzięki telemetrii. Ale kiedy sesja się kończy, inżynierowie muszą przestudiować i przeanalizować te dane, aby zrozumieć, jak poprawić konfigurację, ewoluować samochód lub co spowodowało awarię. Aby było to możliwe, należy je wyeksportować do bazy danych.

Zalety i wady ORM

Jak już skomentowałem, z ORM pozwala na abstrakcję z bazy danych i znacznie uprościć niezbędny kod źródłowy. Mapowanie będzie automatyczne, a to oznacza odciążenie Twoich barków podczas programowania. Oprócz łatwości i szybkości obsługi zapewnia ochronę warstwy dostępu do danych przed atakami.

Ale nie wszystkie są dobre ORM ma również swoje wady. W mocno obciążonych środowiskach może to zmniejszyć wydajność, ponieważ dodajesz dodatkową warstwę do systemu. Obejmuje to również naukę ORM, abyś mógł z niego korzystać, co może zająć trochę czasu, aby właściwie zrozumieć i wykorzystać.

ORM dla języków programowania

W zależności od używanego języka programowania możesz użyć ORM. Nie możesz użyć dowolnego ORM, musisz użyć właściwego. Na przykład:

  • Java: Hibernate, MyBatis, iBatis, Ebean itp.
  • .NET: Entity Framework, nHibernate, MyBatis.Net itp.
  • PHP: Doctrine, Propel, Rocks, Torpor itp.
  • Pyton: Peewee, SQLAlchemy, PonyORM, Elixir itp.

Przykład z Pythonem i ORM

Peewee to prosty i skrócony ORM do użytku z Pythonem. Możesz uzyskać więcej informacji od swojego oficjalna strona internetowa. Powinieneś także wiedzieć, że Peewee obsługuje różne DBMS, czyli kilka systemów zarządzania bazami danych, takich jak SQLite, MySQL i Postgresql. Musisz tylko zmienić początkową deklarację bbdd i to wszystko.

Dla przykładu, w Twój krótki przewodnik lub Szybki start Na tej stronie możesz zobaczyć proste przykłady kodu z Peewee, takie jak:

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.

Jeśli wydaje ci się to mało, masz do dyspozycji narzędzie pwiz, program, który pobiera modele Peewee z baz danych. Na przykład:

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

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


Bądź pierwszym który skomentuje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.