ORM (Object Relational Mapping): аўтаматызаваць запіс дадзеных

ORM (лагатып базы дадзеных і зыходнага кода)

Ці задумваліся вы ці хацелі перадаць дадзеныя з аб'ектаў зыходнага кода ў змест альбо базу дадзеных? Было б вельмі практычна мець інструмент, які зможа рабіць гэта аўтаматычна, а не рабіць гэта ўручную, так? Але каб гэта было магчыма, гэтыя значэнні павінны быць у належным фармаце. Ну, калі вам трэба зрабіць гэта, вы павінны ведаць ORM (аб'ектнае рэляцыйнае супастаўленне).

З дапамогай ORM дадзеныя вашых аб'ектаў будуць перадавацца ў правільны фармат, каб захаваць усю гэтую інфармацыю ў базе дадзеных, адлюстраваўшы іх. Гэта стварае віртуальную базу дадзеных, дзе значэнні, знойдзеныя ў дадатку, які вы стварылі ў сваім кодзе, і, такім чынам, звязаны з гэтай базай дадзеных каб даць ім настойлівасць і зарэгістраваць іх такім простым спосабам. Гэта надзяляе запісаную інфармацыю настойлівасцю, каб потым яе можна было захоўваць, аналізаваць, запісваць альбо выкарыстоўваць.

Па EJEMPLOУявіце, што ў вас ёсць праграма Python, якая адказвае за счытванне значэнняў з датчыка DHT11, які рэгіструе тэмпературу і вільготнасць. Але вы не хочаце запісваць гэтыя значэнні з акружэння. Вы можаце простым спосабам стварыць зыходны код, каб запраграмаваць тое, што вам трэба, прачытаць значэнні, атрыманыя датчыкам, і адлюстраваць іх на экране. Але што, калі вы хочаце захаваць значэнні для аналізу, калі адбыліся пікі гэтых значэнняў, альбо для любой іншай утыліты?

У гэтым выпадку вы павінны мець магчымасць адначасова захоўваць дадзеныя ў базе дадзеных, і менавіта тут ORM становіцца карысным. У дадатак да вашага праекта "зрабі сам" вы можаце захоўваць тое, што вам трэба, і лячыць каштоўнасці уручную альбо праз іншае праграмнае забеспячэнне дзякуючы таму, што вы захапілі іх у базу дадзеных ...

Што такое ORM?

El аб'ектна-рэляцыйнае адлюстраванне альбо ORM для абрэвіятуры на англійскай мове гэта метад праграмавання, які служыць для пераўтварэння дадзеных, якія выкарыстоўваюцца ў аб'ектна-арыентаванай мове праграмавання і рэляцыйнай базе дадзеных (тып SQL), як рухавік захавання. Гэта прымусіць значэнні праграмы стварыць віртуальную аб'ектна-арыентаваную базу дадзеных для захоўвання патрэбных дадзеных.

Калі вы калі-небудзь запраграмавалі прыкладанне, падлучанае да базы дадзеных, вы зразумелі, што пераўтварыць інфармацыю, каб адаптаваць яе да базы дадзеных, даволі складана ці наадварот. А менавіта картаграфаванне - справа нудная што вы можаце аўтаматызаваць выкарыстанне ORM, акрамя таго, каб зрабіць яго незалежным ад базы дадзеных, якую вы хочаце выкарыстоўваць, і вы нават можаце без праблем змяніць механізм базы дадзеных.

Un практычны прыклад - аўтамабіль F1, дзе ён мае шэраг датчыкаў, якія вымяраюць значэнні ціску, тэмпературы, расходу, абаротаў у хвіліну, хуткасці, паскарэння, пераключэння перадач, рулявога кіравання, алею і г.д. Усе гэтыя значэнні інжынеры бачаць у рэальным часе на сваіх кампутарах дзякуючы тэлеметрыі. Але калі сесія скончыцца, інжынерам неабходна вывучыць і прааналізаваць гэтыя дадзеныя, каб зразумець, як палепшыць наладу, развіць машыну альбо што стала прычынай няўдачы. Каб гэта было магчыма, іх трэба экспартаваць у базу дадзеных.

Перавагі і недахопы ORM

Як я ўжо каментаваў, с ORM дазваляе абстрагавацца з базы дадзеных і значна спрасціць неабходны зыходны код. Адлюстраванне будзе аўтаматычным, а гэта азначае зняць шмат праблем з праграм. У дадатак да прастаты і хуткасці выкарыстання, ён забяспечвае бяспеку ўзроўню доступу да дадзеных ад нападаў.

Але не ўсе добрыя рэчы ORM таксама мае свае мінусы. Ва ўмовах вялікай нагрузкі гэта можа паменшыць прадукцыйнасць, бо вы дадаяце ў сістэму дадатковы пласт. Гэта таксама ўключае вывучэнне ORM, каб вы маглі яго выкарыстоўваць, што можа заняць час, каб правільна зразумець і скарыстацца.

ORM для моў праграмавання

У залежнасці ад мовы праграмавання, якую вы выкарыстоўваеце вы можаце выкарыстоўваць ORM. Вы не можаце выкарыстоўваць любы ORM, вы павінны выкарыстоўваць правільны. Напрыклад:

  • ява: Hibernate, MyBatis, iBatis, Ebean і г.д.
  • . NET: Entity Framework, nHibernate, MyBatis.Net і г.д.
  • PHP: Doctrine, Propel, Rocks, Torpor і г.д.
  • пітон: Peewee, SQLAlchemy, PonyORM, Elixir і г.д.

Прыклад з Python і ORM

Peewee - гэта просты і скарочаны ORM для выкарыстання з Python. Вы можаце атрымаць дадатковую інфармацыю ад вашага афіцыйны сайт. Акрамя таго, вы павінны ведаць, што Peewee падтрымлівае розныя СУБД, гэта значыць некалькі сістэм кіравання базамі дадзеных, такія як SQLite, MySQL і Postgresql. Вам проста трэба змяніць першапачатковую дэкларацыю bbdd і ўсё.

Да прыкладу, у ваша кароткае кіраўніцтва або хуткі старт З сайта вы можаце ўбачыць простыя прыклады кода з Peewee так:

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.

У выпадку, калі вам гэта здаецца мала, у вашым распараджэнні інструмент pwiz, праграма, якая атрымлівае мадэлі Peewee з баз дадзеных. Напрыклад:

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

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

 

 


Змест артыкула адпавядае нашым прынцыпам рэдакцыйная этыка. Каб паведаміць пра памылку, націсніце тут.

Будзьце першым, каб каментаваць

Пакіньце свой каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаныя *

*

*

  1. Адказны за дадзеныя: Мігель Анхель Гатон
  2. Прызначэнне дадзеных: Кантроль спаму, кіраванне каментарыямі.
  3. Легітымнасць: ваша згода
  4. Перадача дадзеных: Дадзеныя не будуць перададзены трэцім асобам, за выключэннем юрыдычных абавязкаў.
  5. Захоўванне дадзеных: База дадзеных, размешчаная Occentus Networks (ЕС)
  6. Правы: у любы час вы можаце абмежаваць, аднавіць і выдаліць сваю інфармацыю.

Тэст па англійскай мовеТэст каталонскайіспанская віктарына