ORM (Object Relational Mapping): gadzira data kurekodha

ORM (dhatabhesi uye nekodhi kodhi logo)

Wati wambofunga kana kuda kuti upfuure dhata kubva kune yako sosi kodhi zvinhu mutafura yezviri mukati kana dhatabhesi? Zvinenge zvichinyatsoita kuve nechombo chekugona kuzviita zvoga uye usinga zviite nemaoko, handiti? Asi kuti izvo zvigoneke, iwo maratidziro anofanira kunge ari mune chaiyo fomati. Zvakanaka kana iwe uchida kuita izvi, iwe unofanirwa kuziva ORM (Object Relational Mapping).

Ne ORM iyo data yezvinhu zvako inozopfuudzwa kune chaiyo fomati kuti ugone kusevha iyo yese ruzivo mune dhatabhesi nekumaka iwo. Izvo zvinogadzira iyo chaiyo dhatabhesi uko kukosha kunowanikwa mune application iwe wawakagadzira mune yako kodhi, uye nekudaro zvakabatanidzwa kune ino dhatabhesi kuvapa kutsungirira uye kunyoresa nenzira iyi yakapusa. Izvi zvinopa ruzivo rwakanyorwa nekushingirira kuitira kuti rigone kuchengetwa, kuongororwa, kurekodwa kana kushandiswa gare gare.

kubudikidza ejemploFungidzira kuti iwe une chirongwa chePython chinotarisira kuverenga kukosha kubva kune iyo DHT11 sensor inorekodha tembiricha uye hunyoro. Asi iwe haudi kurekodha aya kukosha kubva munzvimbo. Nenzira yakapusa iwe unogona kugadzira kodhi yekodhi kuronga zvaunoda uye verenga hunhu hwakatorwa neiyo sensor wozviratidza pachiratidziri. Asi ko kana iwe uchida kuchengeta iyo tsika kuti uongorore kana makwikwi ema values ​​aya aitika kana kune chero chimwe chinhu chinoshandiswa?

Muchiitiko ichocho, iwe unofanirwa kuve nekwaniso yekuti iro data riponeswe panguva imwe chete mudhatabhesi uye apa ndipo panouya ORM iri nyore. Kuwedzera kune yako DIY chirongwa unogona kuchengeta zvaunoda uye kurapa iwo maitiro nemaoko kana kuburikidza neimwe software nekutenda kuti iwe wavatora mune dhatabhesi ...

Chii chinonzi ORM?

El chinhu-chehukama mepu kana ORM yechidimbu chayo muChirungu, iri chirongwa chehurongwa chinoshandira kushandura dhata rinoshandiswa mumitauro yechinangwa-yechinangwa kana chirongwa uye nehukama hwehukama (SQL mhando) seinjini yekushingirira. Izvi zvinoita kuti tsika dzechirongwa dzigadzire dhatabhesi rinotarisana nechinhu kuti ubate iyo data raunoda.

Kana iwe wakamboronga chishandiso chakabatana nedhatabhesi, iwe uchave waona kuti zvakanyanyisa kuoma kushandura ruzivo kuti urugadzirise kune dhatabhesi kana zvinopesana. Sezvinei, mepu chinhu chinonetesa kuti iwe unogona kushandisa michina uchishandisa ORM, pamusoro pekuita kuti ive yakasununguka pane dhatabhesi iwe yaunoda kushandisa uye iwe unogona kunyange kuchinja iyo database injini pasina dambudziko.

Un muenzaniso unoshanda imotokari yeF1, uko ine nhevedzano yemasaenzi ayo anoyera kukosha kwekumanikidza, tembiricha, kudyiwa, RPM, kumhanyisa, kumhanyisa, shanduko yegiya, mafambiro ekufambisa, mafuta, nezvimwe. Yese tsika idzi dzinoonekwa munguva chaiyo nemainjiniya pamakomputa avo nekuda kweteremetry. Asi panopera chikamu, mainjiniya anofanira kudzidza uye kuongorora iyo data kuti vanzwisise maitiro ekuvandudza setup, kushandura mota kana chakakonzera kutadza. Kuti izvi zvikwanisike, zvinofanirwa kuendeswa kune dhatabhesi.

Zvakanakira nekuipira kweORM

Sezvandatotaura, ne ORM inokutendera kuti utore kubva kudhatabhesi uye nyore nyore kodhi yekodhi inodiwa. Mepu ichave otomatiki uye izvi zvinoreva kutora dambudziko rakawanda kubva pamafudzi ako kana uchigadzira. Pamusoro pekureruka uye nekukurumidza kwekushandisa, inopa chengetedzo yeiyo dhata yekuwana data pakurwisa.

Asi hazvisi zvese zvinhu zvakanaka ORM zvakare ine ayo ekudzikira. Munzvimbo dzakatakurwa zvakanyanya zvinogona kudzikisira mashandiro paunenge uchiwedzera imwe dura kune ino sisitimu. Izvo zvakare zvinosanganisira kudzidza ORM kuitira kuti iwe ugone kuishandisa, izvo zvinogona kutora nguva kuti unzwisise uye utore mukana.

ORM yezvirongwa zvemitauro

Zvichienderana nemutauro wechirongwa waunoshandisa unogona kushandisa ORM. Iwe haugone kushandisa chero ORM, unofanirwa kushandisa chaiyo. Semuyenzaniso:

  • Java: Hibernate, MyBatis, iBatis, Ebean, nezvimwe.
  • .com: Sisitimu Sisitimu, nHibernate, MyBatis.Net, nezvimwe.
  • PHP: Dzidziso, Propel, Matombo, Torpor, nezvimwe.
  • python: Peewee, SQLAlchemy, PonyORM, Elixir, nezvimwe.

Semuenzaniso nePython uye ORM

Peewee iri nyore uye yakapfupiswa ORM yekushandisa nePython. Unogona kuwana rumwe ruzivo kubva kune yako website yepamutemo. Zvakare, iwe unofanirwa kuziva kuti Peewee inotsigira akasiyana DBMS, ndiko kuti, akati wandei manejimendi manejimendi manejimendi masisitimu, senge SQLite, MySQL uye Postgresql. Iwe unongofanirwa kushandura yekutanga bbdd kuzivisa uye ndizvozvo.

Semuenzaniso, mukati gwara rako rinokurumidza kana kukurumidza kutanga Kubva pawebhusaiti iwe unogona kuona yakapusa kodhi mienzaniso naPeewee seizvi:

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.

Kana izvo zvikaratidzika kunge zvidiki kwauri, iwe unokwanisa chishandiso che pwiz, chirongwa chinowana Peewee mamodheru kubva kudhatabhesi. Semuyenzaniso:

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

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


Iva wekutanga kutaura

Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako