ORM (Object Relational Mapping): veri kaydını otomatikleştirin

ORM (veritabanı ve kaynak kodu logosu)

Hiç kaynak kod nesnelerinizden bir içindekiler tablosuna veya veritabanına veri aktarmayı düşündünüz mü veya buna ihtiyaç duydunuz mu? Bunu otomatik olarak yapabilmek ve bunu manuel olarak yapmamak için bir araca sahip olmak çok pratik olurdu, değil mi? Ancak bunun mümkün olabilmesi için bu değerlerin uygun formatta olması gerekir. Peki bunu yapmanız gerekiyorsa ORM'yi (Nesne İlişkisel Haritalama) bilmelisiniz.

ORM ile nesnelerinizin verileri, tüm bu bilgileri eşleyerek bir veritabanına kaydedebilmek için doğru bir biçime geçirilecektir. Bu, kodunuzda oluşturduğunuz uygulamada bulunan değerlerin bulunduğu sanal bir veritabanı oluşturur ve böylece bu veritabanına bağlı onlara ısrarı vermek ve bu basit yolla kaydettirmek için. Bu, kaydedilen bilgilere kalıcılık kazandırır, böylece daha sonra saklanabilir, analiz edilebilir, kaydedilebilir veya kullanılabilir.

tarafından örnekSıcaklık ve nemi kaydeden bir DHT11 sensöründen değerleri okumaktan sorumlu bir Python programınız olduğunu hayal edin. Ancak bu değerleri bir ortamdan kaydetmek istemezsiniz. Basit bir şekilde, ihtiyacınız olanı programlamak ve sensör tarafından alınan değerleri okumak ve bunları ekranda görüntülemek için bir kaynak kodu oluşturabilirsiniz. Ancak, bu değerlerin zirveleri gerçekleştiğinde veya başka herhangi bir yardımcı program için analiz etmek üzere değerleri depolamak isterseniz ne olur?

Bu durumda, bu verilerin aynı zamanda bir veritabanına kaydedilebilmesi için yeteneğiniz olmalıdır ve bu, ORM'nin kullanışlı olduğu yerdir. DIY projenize ek olarak İhtiyacınız olanı saklayabilir ve değerleri işleyebilirsiniz bunları bir veri tabanında yakaladığınız için manuel olarak veya başka bir yazılım aracılığıyla ...

ORM nedir?

El nesne ilişkisel eşleme veya ORM İngilizce kısaltması için, nesne yönelimli programlama dili veya programında kullanılan verileri ve kalıcılık motoru olarak ilişkisel veritabanını (SQL türü) dönüştürmeye yarayan bir programlama tekniğidir. Bu, program değerlerinin ihtiyacınız olan verileri tutmak için sanal bir nesne yönelimli veritabanı oluşturmasını sağlayacaktır.

Bir veritabanına bağlı bir uygulamayı daha önce programladıysanız, bilgiyi veritabanına uyarlamak için veya tam tersi şekilde dönüştürmenin oldukça zor olduğunu fark etmişsinizdir. Yani, haritalama sıkıcı bir şeydir ORM kullanarak otomatikleştirebileceğiniz, kullanmak istediğiniz veritabanından bağımsız hale getirmenin yanı sıra veritabanı motorunu da sorunsuz bir şekilde değiştirebilirsiniz.

Un pratik örnek bir F1 aracıdır, basınç, sıcaklık, tüketim, RPM, hız, hızlanma, vites değişimleri, direksiyon hareketleri, yağ vb. değerlerini ölçen bir dizi sensöre sahip olduğu yerde. Telemetri sayesinde tüm bu değerler mühendisler tarafından bilgisayarlarında gerçek zamanlı olarak görülür. Ancak oturum sona erdiğinde, mühendislerin kurulumun nasıl iyileştirileceğini, arabanın nasıl geliştirileceğini veya arızaya neyin neden olduğunu anlamak için bu verileri incelemesi ve analiz etmesi gerekir. Bunun mümkün olabilmesi için bir veritabanına aktarılmaları gerekir.

ORM avantajları ve dezavantajları

Daha önce de yorum yaptığım gibi ORM, soyutlamanıza izin verir Veritabanından ve gerekli kaynak kodunu büyük ölçüde basitleştirin. Haritalama otomatik olacaktır ve bu, programlama sırasında omuzlarınızdan çok fazla sorun çıkarmak anlamına gelir. Kullanım kolaylığı ve hızının yanı sıra veri erişim katmanının saldırılara karşı güvenliğini sağlar.

Ama hepsi iyi şeyler değil ORM'nin dezavantajları da var. Ağır yüklü ortamlarda, sisteme fazladan bir katman eklerken performansı düşürebilir. Aynı zamanda ORM'yi öğrenmeyi de içerir, böylece onu kullanabilirsiniz, bu da doğru bir şekilde anlamak ve yararlanmak için zaman alabilir.

Programlama dilleri için ORM

Kullandığınız programlama diline bağlı olarak bir ORM kullanabilirsiniz. Herhangi bir ORM kullanamazsınız, doğru olanı kullanmalısınız. Örneğin:

  • Java: Hazırda Bekletme, MyBatis, iBatis, Ebean vb.
  • . NET: Entity Framework, nHibernate, MyBatis.Net vb.
  • PHP: Doktrin, Propel, Rocks, Torpor vb.
  • Piton: Peewee, SQLAlchemy, PonyORM, Elixir vb.

Python ve ORM ile örnek

Peewee, Python ile kullanım için basit ve kısaltılmış bir ORM'dir. Daha fazla bilgi edinebilirsiniz. resmi web sitesi. Ayrıca, Peewee'nin farklı DBMS'yi, yani SQLite, MySQL ve Postgresql gibi çeşitli veritabanı yönetim sistemlerini desteklediğini bilmelisiniz. Sadece ilk bbdd bildirimini değiştirmeniz gerekiyor ve hepsi bu.

Örneğin, hızlı rehberiniz veya hızlı başlangıç ​​kılavuzunuz Siteden, Peewee ile aşağıdaki gibi basit kod örneklerini görebilirsiniz:

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.

Bunun size az görünmesi durumunda, emrinizdedir pwiz aracı, Peewee modellerini veritabanlarından alan bir program. Örneğin:

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

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


İlk yorumu siz

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.