ORM (Object Relational Mapping): perekaman data otomatis

ORM (database dan logo kode sumber)

Pernahkah Anda berpikir atau perlu meneruskan data dari objek kode sumber Anda ke dalam daftar isi atau database? Akan sangat praktis jika memiliki alat untuk dapat melakukan itu secara otomatis dan tidak melakukannya secara manual, bukan? Tapi agar bisa memungkinkan, nilai-nilai itu harus dalam format yang benar. Nah jika Anda perlu melakukan ini, Anda harus tahu ORM (Object Relational Mapping).

Dengan ORM, data objek Anda akan diteruskan ke format yang benar untuk dapat menyimpan semua informasi itu dalam database dengan memetakannya. Itu menciptakan database virtual di mana nilai-nilai yang ditemukan dalam aplikasi yang telah Anda buat dalam kode Anda, dan dengan demikian ditautkan ke database ini untuk memberi mereka ketekunan dan mendaftarkan mereka dengan cara sederhana ini. Ini membekali informasi yang direkam dengan ketekunan sehingga dapat disimpan, dianalisis, direkam, atau digunakan nanti.

Por ejemploBayangkan Anda memiliki program Python yang bertugas membaca nilai dari sensor DHT11 yang mencatat suhu dan kelembaban. Tetapi Anda tidak ingin mencatat nilai-nilai ini dari lingkungan. Dengan cara sederhana Anda dapat membuat kode sumber untuk memprogram apa yang Anda butuhkan dan membaca nilai yang diambil oleh sensor dan menampilkannya di layar. Tetapi bagaimana jika Anda ingin menyimpan nilai untuk dianalisis ketika puncak nilai ini telah terjadi atau untuk utilitas lain?

Dalam hal ini, Anda harus memiliki kemampuan untuk menyimpan data tersebut pada saat yang sama dalam database dan di sinilah ORM berguna. Selain proyek DIY Anda Anda dapat menyimpan apa yang Anda butuhkan dan memperlakukan nilainya secara manual atau melalui perangkat lunak lain berkat fakta bahwa Anda telah menangkapnya dalam database ...

Apa itu ORM?

El pemetaan objek-relasional atau ORM Untuk akronimnya dalam bahasa Inggris, ini adalah teknik pemrograman yang berfungsi untuk mentransformasikan data yang digunakan dalam bahasa atau program pemrograman berorientasi objek dan database relasional (tipe SQL) sebagai mesin persistensi. Itu akan membuat nilai-nilai program membuat database berorientasi objek virtual untuk menyimpan data yang Anda butuhkan.

Jika Anda pernah memprogram aplikasi yang terhubung ke database, Anda akan menyadari bahwa sangat sulit untuk mengubah informasi untuk menyesuaikannya dengan database atau sebaliknya. Yaitu, pemetaan adalah hal yang membosankan bahwa Anda dapat mengotomatiskan menggunakan ORM, selain menjadikannya independen dari database yang ingin Anda gunakan dan Anda bahkan dapat mengubah mesin database tanpa masalah.

Un contoh praktisnya adalah mobil F1, di mana ia memiliki serangkaian sensor yang mengukur nilai tekanan, suhu, konsumsi, RPM, kecepatan, akselerasi, pergantian gigi, gerakan kemudi, oli, dll. Semua nilai ini dilihat secara real time oleh para insinyur di komputer mereka berkat telemetri. Tetapi ketika sesi berakhir, para insinyur perlu mempelajari dan menganalisis data tersebut untuk memahami cara meningkatkan penyiapan, mengembangkan mobil, atau apa yang menyebabkan kegagalan. Agar ini mungkin, mereka perlu diekspor ke database.

Keuntungan dan kerugian ORM

Seperti yang sudah saya komentari, dengan ORM memungkinkan Anda untuk mengabstraksi dari database dan sangat menyederhanakan kode sumber yang diperlukan. Pemetaan akan otomatis dan itu berarti menghilangkan banyak masalah dari pundak Anda saat membuat program. Selain kemudahan dan kecepatan penggunaan, ini memberikan keamanan lapisan akses data terhadap serangan.

Tapi tidak semuanya bagus ORM juga memiliki kelemahan. Dalam lingkungan yang sangat padat hal ini dapat mengurangi kinerja saat Anda menambahkan lapisan ekstra ke sistem. Ini juga melibatkan pembelajaran ORM sehingga Anda dapat menggunakannya, yang membutuhkan waktu untuk memahami dan memanfaatkannya dengan benar.

ORM untuk bahasa pemrograman

Tergantung bahasa pemrograman yang Anda gunakan Anda dapat menggunakan ORM. Anda tidak dapat menggunakan ORM sembarang, Anda harus menggunakan yang benar. Sebagai contoh:

  • Jawa: Hibernate, MyBatis, iBatis, Ebean, dll.
  • NET.: Entity Framework, nHibernate, MyBatis.Net, dll.
  • PHP: Doktrin, Pendorong, Batuan, Torpor, dll.
  • ular piton: Peewee, SQLAlchemy, PonyORM, Elixir, dll.

Contoh dengan Python dan ORM

Peewee adalah ORM sederhana dan disingkat untuk digunakan dengan Python. Anda bisa mendapatkan lebih banyak informasi dari Anda situs web resmi. Juga, Anda harus tahu bahwa Peewee mendukung DBMS yang berbeda, yaitu beberapa sistem manajemen database, seperti SQLite, MySQL dan Postgresql. Anda hanya perlu mengubah deklarasi bbdd awal dan hanya itu.

Sebagai contoh, di panduan cepat atau panduan memulai Dari situs tersebut Anda dapat melihat contoh kode sederhana dengan Peewee seperti ini:

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.

Jika itu tampak kecil bagi Anda, Anda siap membantu alat pwiz, sebuah program yang memperoleh model Peewee dari database. Sebagai contoh:

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

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


Jadilah yang pertama mengomentari

tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.