I-ORM (Object Relational Mapping): shintsha ukurekhodwa kwedatha

I-ORM (i-database kanye nelogo yekhodi yomthombo)

Wake wacabanga noma wadinga ukudlulisa idatha kusuka ezintweni zakho zekhodi yomthombo kuthebula lokuqukethwe noma i-database? Kungaba usizo kakhulu ukuba nethuluzi lokukwazi ukukwenza lokho ngokuzenzekelayo futhi ungakwenzi ngesandla, akunjalo? Kepha ukuze lokho kwenzeke, lawo manani kufanele abe ngefomethi efanelekile. Well uma udinga ukwenza lokhu, kufanele wazi i-ORM (Object Relational Mapping).

Nge-ORM imininingwane yezinto zakho izodluliselwa kufomethi efanelekile ukuze ukwazi ukugcina lonke lolo lwazi ku-database ngokubamaka. Lokho kudala i-database ebonakalayo lapho amanani atholakala kuhlelo lokusebenza olwenzile kukhodi yakho, futhi ngenxa yalokho zixhunywe kule database ukubanika ukuphikelela nokubabhalisa ngale ndlela elula. Lokhu kunika imininingwane erekhodiwe nokuphikelela ukuze igcinwe, ihlaziywe, iqoshwe noma isetshenziswe kamuva.

Por ejemploCabanga ukuthi unohlelo lwePython oluphethe amanani wokufunda kusuka kunzwa ye-DHT11 erekhoda izinga lokushisa nomswakama. Kepha awufuni ukurekhoda lawa manani endaweni. Ngendlela elula ungakha ikhodi yomthombo ukuhlelela okudingayo bese ufunda amanani athathwe inzwa bese uwabonisa esikrinini. Kepha kuthiwani uma ufuna ukugcina amanani ozowahlaziya lapho iziqongo zalawa magugu zenzekile noma zenzelwa enye into?

Uma kunjalo, kufanele ube namandla okuthi leyo datha igcinwe ngasikhathi sinye ku-database futhi kulapho i-ORM itholakala khona kalula. Ngokungeziwe kuphrojekthi yakho ye-DIY ungagcina okudingayo futhi uphathe amanani ngesandla noma ngenye i-software sibonga iqiniso lokuthi uzibambe ku-database ...

Yini i-ORM?

El imephu yokuhlobana nento noma i-ORM ngesifinyezo sayo esiNgisini, kuyindlela yohlelo esebenza ukuguqula idatha esetshenziswe olimini oluhlelelwe into noma uhlelo kanye nedatha ehlobene (uhlobo lwe-SQL) njengenjini yokuphikelela. Lokho kuzokwenza amanani wohlelo enze i-database eqonde ngqo entweni ukubamba idatha oyidingayo.

Uma wake wahlela uhlelo lokusebenza oluxhunywe ku-database, uzobe uqaphele ukuthi kunzima kakhulu ukuguqula imininingwane ukuze uyihambise ku-database noma okuphambene nalokho. Okungukuthi, ukwenza imephu kuyinto eyisidina ongakwazi ukwenza i-automate usebenzisa i-ORM, ngaphezu kokuyenza izimele ku-database ofuna ukuyisebenzisa futhi ungashintsha injini ye-database ngaphandle kwenkinga.

Un isibonelo esisebenzayo yimoto ye-F1, lapho inochungechunge lwezinzwa ezilinganisa amanani wengcindezi, izinga lokushisa, ukusetshenziswa, i-RPM, isivinini, ukushesha, izinguquko zamagiya, ukunyakaza kokuqondisa, uwoyela, njll. Wonke lawa magugu abonakala ngesikhathi sangempela ngonjiniyela kumakhompyutha abo ngenxa ye-telemetry. Kepha lapho isikhathi siphela, onjiniyela kudingeka batadishe futhi bahlaziye leyo datha ukuqonda ukuthi bangayithuthukisa kanjani isethaphu, baguqule imoto noma yini ebangele ukwehluleka. Ukuze lokhu kwenzeke, badinga ukuthunyelwa ku-database.

Izinzuzo nobubi be-ORM

Njengoba sengivele ngiphawule, nge I-ORM ikuvumela ukuthi ungabonakali kusuka ku-database futhi yenza lula ikhodi yomthombo edingekayo. Ukwenza imephu kuzozenzakalela futhi lokho kusho ukususa izinkinga eziningi emahlombe akho lapho uhlela. Ngaphezu kokukhululeka nokushesha kokusetshenziswa, kunikeza ukuphepha kwesendlalelo sokufinyelela idatha ekuhlaselweni.

Kepha akuzona zonke izinto ezinhle I-ORM nayo inezinkinga zayo. Ezindaweni ezilayishwe kakhulu kunganciphisa ukusebenza njengoba ungeza isendlalelo esengeziwe ohlelweni. Kubandakanya nokufunda i-ORM ukuze ukwazi ukuyisebenzisa, okungathatha isikhathi ukuqonda kahle nokusizakala.

I-ORM yezilimi ezihlelayo

Kuya ngolimi lohlelo olisebenzisayo ungasebenzisa i-ORM. Awukwazi ukusebenzisa noma iyiphi i-ORM, kufanele usebenzise eyiyo. Ngokwesibonelo:

  • Java: Hibernate, MyBatis, iBatis, Ebean, njll.
  • .NETUhlaka Lwebhizinisi, i-nHibernate, i-MyBatis.Net, njll.
  • PHP: Imfundiso, Propel, Rocks, Torpor, njll.
  • IPython: Peewee, SQLAlchemy, PonyORM, Elixir, njll.

Isibonelo ngePython ne-ORM

I-Peewee iyi-ORM elula futhi efushanisiwe yokusetshenziswa nePython. Ungathola eminye imininingwane kusuka ku- iwebhusayithi esemthethweni. Futhi, kufanele wazi ukuthi iPeewee isekela ama-DBMS ahlukile, okungukuthi, amasistimu wokuphathwa kwemininingwane eminingi, njenge-SQLite, MySQL ne-Postgresql. Kufanele ushintshe isimemezelo sokuqala se-bbdd futhi yilokho kuphela.

Isibonelo, ku umhlahlandlela wakho osheshayo noma ukuqala okusheshayo Kusayithi ungabona izibonelo zekhodi ezilula ngePeewee kanjena:

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.

Uma kwenzeka lokho kubonakala kukuncane kuwe, unayo ithuluzi le-pwiz, uhlelo oluthola amamodeli kaPeewee kusuka kulwazi. Ngokwesibonelo:

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

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


Yiba ngowokuqala ukuphawula

Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.