ORM (Object Relational Mapping): mengotomatisasi rakaman data

ORM (pangkalan data dan logo kod sumber)

Adakah anda pernah berfikir atau perlu menghantar data dari objek kod sumber anda ke dalam senarai isi atau pangkalan data? Akan sangat praktikal untuk memiliki alat untuk dapat melakukannya secara automatik dan tidak melakukannya secara manual, bukan? Tetapi untuk itu mungkin, nilai-nilai tersebut harus dalam format yang tepat. Sekiranya anda perlu melakukan ini, anda mesti tahu ORM (Object Relational Mapping).

Dengan ORM data objek anda akan diteruskan ke format yang betul untuk dapat menyimpan semua maklumat tersebut dalam pangkalan data dengan memetakannya. Itu membuat pangkalan data maya di mana nilai-nilai yang terdapat dalam aplikasi yang telah anda buat dalam kod anda, dan dengan demikian dihubungkan ke pangkalan data ini untuk memberi mereka kegigihan dan mendaftarkannya dengan cara mudah ini. Ini memberikan maklumat yang dirakam dengan gigih sehingga dapat disimpan, dianalisis, direkodkan atau digunakan kemudian.

Oleh ejemploBayangkan bahawa anda mempunyai program Python yang bertanggungjawab membaca nilai dari sensor DHT11 yang merakam suhu dan kelembapan. Tetapi anda tidak mahu merakam nilai-nilai ini dari persekitaran. Dengan cara mudah, anda dapat membuat kod sumber untuk memprogram apa yang anda perlukan dan membaca nilai-nilai yang diambil oleh sensor dan memaparkannya di layar. Tetapi bagaimana jika anda ingin menyimpan nilai untuk dianalisis ketika puncak nilai-nilai ini telah terjadi atau untuk utiliti lain?

Sekiranya demikian, anda seharusnya mempunyai kemampuan untuk menyimpan data tersebut pada masa yang sama dalam pangkalan data dan di sinilah ORM sangat berguna. Sebagai tambahan kepada projek DIY anda anda boleh menyimpan apa yang anda perlukan dan merawat nilai secara manual atau melalui perisian lain berkat kenyataan bahawa anda telah menangkapnya dalam pangkalan data ...

Apa itu ORM?

El pemetaan hubungan objek atau ORM untuk singkatannya dalam bahasa Inggeris, ini adalah teknik pengaturcaraan yang berfungsi untuk mengubah data yang digunakan dalam bahasa atau program pengaturcaraan berorientasi objek dan pangkalan data relasional (jenis SQL) sebagai mesin kegigihan. Itu akan menjadikan nilai program membuat pangkalan data berorientasikan objek maya untuk menyimpan data yang anda perlukan.

Sekiranya anda pernah memprogram aplikasi yang disambungkan ke pangkalan data, anda akan menyedari bahawa agak sukar untuk mengubah maklumat untuk menyesuaikannya dengan pangkalan data atau sebaliknya. Yaitu, pemetaan adalah perkara yang membosankan bahawa anda boleh mengautomasikan menggunakan ORM, selain menjadikannya bebas dari pangkalan data yang ingin anda gunakan dan anda juga boleh menukar mesin pangkalan data tanpa masalah.

Un contoh praktikal ialah kereta F1, di mana ia memiliki rangkaian sensor yang mengukur nilai tekanan, suhu, penggunaan, RPM, kecepatan, percepatan, perubahan roda gigi, pergerakan kemudi, oli, dll. Semua nilai ini dilihat secara real time oleh jurutera di komputer mereka berkat telemetri. Tetapi apabila sesi ini berakhir, para jurutera perlu mengkaji dan menganalisis data tersebut untuk memahami cara memperbaiki penyediaan, mengembangkan kereta atau apa yang menyebabkan kegagalan itu. Agar ini mungkin, mereka perlu dieksport ke pangkalan data.

Kelebihan dan kekurangan ORM

Seperti yang telah saya komen, dengan ORM membolehkan anda membuat abstrak dari pangkalan data dan sangat memudahkan kod sumber yang diperlukan. Pemetaan akan dilakukan secara automatik dan ini bermakna banyak masalah dari bahu anda semasa diprogramkan. Selain kemudahan dan kepantasan penggunaan, ini memberikan keamanan lapisan akses data terhadap serangan.

Tetapi tidak semua perkara baik ORM juga mempunyai kelemahannya. Dalam persekitaran yang banyak dimuat, ia dapat mengurangkan prestasi semasa anda menambahkan lapisan tambahan ke sistem. Ini juga melibatkan pembelajaran ORM sehingga anda dapat menggunakannya, yang memerlukan masa untuk memahami dan memanfaatkannya dengan betul.

ORM untuk bahasa pengaturcaraan

Bergantung pada bahasa pengaturcaraan yang anda gunakan anda boleh menggunakan ORM. Anda tidak boleh menggunakan mana-mana ORM, anda mesti menggunakan yang betul. Sebagai contoh:

  • Java: Hibernate, MyBatis, iBatis, Ebean, dll.
  • . NET: Entity Framework, nHibernate, MyBatis.Net, dll.
  • PHP: Doktrin, Propel, Batu, Torpor, dll.
  • Ular sawa: Peewee, SQLAlchemy, PonyORM, Elixir, dll.

Contoh dengan Python dan ORM

Peewee adalah ORM ringkas dan pendek untuk digunakan dengan Python. Anda boleh mendapatkan lebih banyak maklumat dari anda laman web rasmi. Anda juga harus tahu bahawa Peewee menyokong DBMS yang berbeza, iaitu beberapa sistem pengurusan pangkalan data, seperti SQLite, MySQL dan Postgresql. Anda hanya perlu mengubah deklarasi bbdd awal dan itu sahaja.

Sebagai contoh, dalam panduan ringkas atau permulaan pantas anda Dari laman web ini, anda dapat melihat contoh kod mudah 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.

Sekiranya anda tidak begitu faham, anda boleh memilikinya alat pwiz, program yang memperoleh model Peewee dari pangkalan data. Sebagai contoh:

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

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


Menjadi yang pertama untuk komen

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.