Konsepto ng data: kahulugan, mga halimbawa

Talaan ng mga Nilalaman:

Konsepto ng data: kahulugan, mga halimbawa
Konsepto ng data: kahulugan, mga halimbawa
Anonim

Ang data ay karaniwang nauugnay sa programming at sa modernong mundo ng impormasyon ay ipinakita sa tatlong lohikal na katumbas na mga bersyon: data na inilarawan at ginamit sa isang programa sa isang programming language; data sa mga sistema ng database; data sa mga distributed information system. Ang modernong programming ay nagbigay ng relatibong kalayaan lamang sa unang variant ng pormalisasyon ng impormasyon. Ang pangalawang dalawang opsyon ay higit pa o hindi gaanong maaasahang mga paraan ng pagbibigay ng impormasyon at mga ugnayan sa pagitan ng mga bahagi nito.

Data noon at kasalukuyan

Ang pangunahing posisyon ng mga programming language ay ang eksaktong paglalarawan ng data at mga algorithm. Ang mga computer ay hindi "nagpapakita" ng anumang pagkakataon ng kawalan ng katiyakan: mayroong isang bagay na dapat aksyunan, at mayroong isang utos na nagsasagawa ng pagkilos na iyon.

Ang modernong konsepto ay nakabatay sa isang mas mataas na pundasyon: mayroong ibinigay, at kung ano ang eksaktong magiging ito ay tinutukoy sa lugar ng paggamit nito. Sa anumang kaso, sa oras ng paggamit, ang data ay awtomatikong sinusuri at kino-convert sa tamang uri. Ang isang modernong programmer ay hindi obligadong pangalagaan ang kanilang paunang paglalarawan at pagsunod sa pagkakatugma ng uri sa algorithm.

Nakaraan at kasalukuyang data
Nakaraan at kasalukuyang data

Proseso ng paglipat:

  • mula sa na-type na data at ang mandatoryong paglalarawan nito bago gamitin;
  • sa hindi na-type na data at kalayaan mula sa anumang obligasyon na ilarawan at gamitin ito.

Sa katunayan, makikilala natin ang relatibong pagpapahinga ng mga kinakailangan sa pormalisasyon - ito ay magagamit lamang sa kapaligiran ng mga modernong tool sa programming. Sa runtime, ang uri ng bawat datum ay naayos, at ang command sequence ay mahusay na tinukoy.

Mga Uri at Pagmomodelo

Mathematics at physics, kalakalan at produksyon, ekonomiya at iba pang mga lugar kung saan ginagamit ang mga numero, ay palaging gumagana gamit ang data at hindi naglalagay ng anumang kahalagahan sa konsepto ng uri. Ang katotohanan na ang mga numero ay maaaring buo o fractional ay hindi mahalaga.

Ang bawat partikular na formula o partikular na aksyon ay maaaring magbigay ng integer, infinite fraction, tunay o kumplikadong numero. Hanggang ngayon, may mga kababalaghan sa isip bilang walang hanggan maliit at walang hanggan malaki. Bukod dito, may mga pag-aari ang mga himalang ito.

Wala pa ring kalayaan sa programming. Ang lahat ay dapat na mahigpit na pormal. Ang konsepto ng data ay, una sa lahat, isang uri:

  • integer;
  • boolean;
  • char;
  • string at iba pa.

Maaaring magkaiba ang mga pangalan ng mga uri sa iba't ibang programming language, ngunit palaging mayroong integer o totoong numero, boolean value, simbolo,linya. May natitira pang mga relic at partikular na ideya: unsigned integer, code, byte, word, double word, fixed length string.

Mga labi at ideya
Mga labi at ideya

Ang konsepto ng data sa isang data system ay walang kalayaan. Ang wikang SQL - "internasyonal" (may diyalekto para sa bawat modernong database) - ay hindi pinahihintulutan ang anumang mga kamalian hindi lamang sa data, kundi pati na rin sa mga query sa sql. Ang isang error sa kahilingan ay isang garantiya ng kawalan ng isang resulta. Hindi na kailangang pag-usapan ang tungkol sa mga paglabag sa mga paglalarawan.

Ang pagmomodelo ng mga proseso ng impormasyon at representasyon ng data ay ang tanging siguradong paraan upang bumuo ng istraktura na maaaring mag-evolve at umangkop sa nagbabagong mga kundisyon.

Dinamika ng orihinal

Ang natural na impormasyon ay patuloy na pagbabago. Upang magbigay ng pormal na paglalarawan at konsepto ng isang modelo ng data sa isang partikular na lugar ng paksa ay nangangahulugan ng paglutas ng tatlong problema:

  • tukuyin kung anong data ang nandito;
  • pormal ang relasyon nila;
  • ilarawan ang mga proseso para sa pagbabago ng data at mga relasyon.

Isang halimbawa ng set ng data ng isang simpleng algorithm sa JavaScript - isang pinababang kopya ng modelo ng kahit na ang pinakamatatag na sistema ng pamamahala ng database.

Ito lang na sa pangalawang kaso, ang mga eksperto at espesyalista, kapag nagdidisenyo ng mga istruktura ng data, mga talahanayan at mga relasyon, ay karaniwang hindi nakikita (ito ay talagang mahirap upang masakop ang isang malaking halaga ng natural na impormasyon) ang kakanyahan ng mga bagay, at isang masalimuot, hindi pa nabuong hanay ng mga tambak ng data ang nakukuha, habang sa lugar ng paksa ang mapagkukunan ng impormasyon ay malaya at madali.

Staticposible

Ito ay karaniwang kasanayan sa JavaScript na isama ang code na naka-attach sa isang page at mga function na itinalaga sa mga kaganapan sa mga tag ng page. Sa alinmang paraan, tinutukoy ng mga tag ng page ang data na tinatanggap, binabago, o ginagawa ng isang partikular na mapagkukunan ng web.

Kung itutuon mo nang maingat ang iyong handler code sa mga event na elemento, at hindi sa page code sa kabuuan, ito ang pinakamahusay na paraan. Sa isip, kapag ang code ay hindi nagpapakilala ng bagong data o hindi nag-aayos ng available na data, ngunit nakatutok sa kung ano ang eksaktong mayroon ito sa isang partikular na sandali sa oras.

Sa katunayan, kung tutukuyin mo ang konsepto ng "data" bilang isang minimally static na paglalarawan ng pinagmulang impormasyon at susundin ito, nangangahulugan ito na may pagkakataon kang magtagumpay.

Tungkol sa mga database, ang mga bagay ay mas kumplikado. Ang anumang JavaScript code ay "nagbibigay" sa page ng functionality. Ang anumang database ay isang koleksyon ng mga talahanayan, mga ugnayan sa pagitan ng mga ito, mga nakaimbak na pamamaraan, mga query at functionality na available mula sa labas.

Ang Static ay ang problema ng anumang algorithm. Ang modernong konsepto ng data ay static: isang numero, isang string, isang character, at iba pa. Kapag nagpoproseso o kapag nagsusulat sa isang talahanayan ng database, maayos ang lahat. Ngunit kailan nagkakaroon ng ibang dimensyon o kahulugan ang orihinal? Opsyon isa: baguhin ang sign, ngunit ang mga koneksyon at kahilingan ay maaaring agad na pumasok.

Statics at mga bagay

Ang pagtukoy sa konsepto ng "data" bilang isang bagay ay nagbabago nang malaki sa sitwasyon. Ang bagay ay may sariling istraktura. Dito maaari mong gamitin ang anumang paglalarawan ng anumang mga variable. Hindi gaganap ang papel. Ang isang bagay ay may mga pamamaraan kung saan magagamit ang data. Dahil sa lahatginagamit sa larangan ng programming, iyon ay, tatlong pangunahing pamamaraan: basahin, isulat, baguhin. Maaari kang magdagdag ng higit pa upang ihambing, maghanap, mag-clone, atbp.

Ang lugar ng paksa ay nagpapataw ng hanay ng mga katangian sa bawat data. Kaya, lumalabas na ang konsepto ng data ay binago sa isang uri ng paglalarawan na maaaring baguhin nang pabago-bago. Ang static sa loob ng isang bagay ay nagbibigay ng dynamics sa labas nito.

Pagbabago ng kumbinasyon ng mga static na descriptor sa loob ng isang object, hindi mo kailangang mag-alala tungkol sa dynamics ng mga ugnayan nito sa iba pang mga object.

Programming at presentasyon ng data

Ano ang data? Ang kamalayan ng publiko ay nakasanayan na sa teknolohiya ng impormasyon, gumagana sa mga ulap at may mga lalagyan sa mga virtual na espasyo. Ngayon, hindi lamang ang mga propesyonal na programmer at user, kundi pati na rin ang mga ordinaryong tao ay may kakayahan sa usapin ng impormasyon at paggamit nito.

Opinyon ng publiko
Opinyon ng publiko

Ngunit ano ang programming? Hanggang ngayon, ang opinyon ng publiko ay nagbibigay ng sumusunod na kahulugan sa konseptong ito at sa mga konsepto nito:

  • Ang impormasyon at data ay ang mga pangunahing konseptong ginagamit sa computer science.
  • Ang data ay isang tiyak na paraan ng pagtanggap at pagtatala ng mga obserbasyon na nauugnay sa nakapaligid na katotohanan.
  • Ang mga ito ay simple at kumplikado (mga istruktura), pangunahin at pangalawa.
  • Ang database ay isang koleksyon ng mga independiyenteng materyal na ipinakita sa isang sistematikong paraan upang sila ay matagpuan, mabago at magamit.

Gaano ito layunin? Mga awtoritatibong may-akdaisipin mo. Ang tunay na pagsasanay ay may posibilidad na matiyak na ang bawat subject area ay tumutukoy sa tamang sistema ng data nito at binibigyan ang bawat pagkakataon na bumuo ng magandang dynamic na modelo.

Ito ay karaniwan para sa isang customer (consumer) na magpataw ng kanyang sariling opinyon sa isang programmer (database designer) kung paano at kung ano ang gagawin. Mula sa punto ng view ng programming, anumang pagnanais ng customer ay maaaring matupad nang may sukdulang katumpakan.

Kailangan ng Oracle upang malutas ang problema ng pagbabadyet para sa pagpapanatili ng suplay ng tubig sa kanayunan (gusali 21 sa nayon) - mabuti. Kailangan ng MySQL upang ayusin ang isang tracking system para sa mga mail item para sa lahat ng mga post office sa Russia - lahat ay gagana rin.

Maaari kang palaging bumuo ng anumang algorithm at magbigay ng access sa anumang representasyon ng impormasyon sa loob ng kahulugan ng konsepto ng data, na itinatag ng developer ng database management system o programming language. Iba ang tanong: paano ito gagawin nang may kaunting gastos sa maximum na dinamika?

Mga database, mga halimbawa

Ang isang simpleng base ay ginawa nang walang modelo. Ang mga pangunahing konsepto ng data at komunikasyon ay maliit, ang pag-andar ay napaka-simple. Halimbawa, para sa isang institusyong mas mataas na edukasyon kailangan mo:

  • talahanayan ng mga guro;
  • group table (key at group number);
  • pangkalahatang talahanayan ng mga mag-aaral (mga group key ang ginagamit).

Nais malaman ng dekano ang pag-unlad ng mga guro. Ang talahanayan ng mga guro ay may mga field:

  • apelyido;
  • pangalan;
  • patronymic;
  • pinamamahalaang numero ng pangkat.

May mga field ang student table:

  • apelyido;
  • pangalan;
  • patronymic;
  • petsa ng kapanganakan;
  • GPA (para sa lahat ng subject);
  • numero ng pangkat.

Maaaring mayroong hindi bababa sa dalawang opsyon para sa pag-sample: gamit ang pangalan ng guro, maaari kang pumunta sa numero ng grupo at makita ang lahat ng mga mag-aaral at ang kanilang mga average na marka, o sa pamamagitan ng apelyido ng guro at ang huli pangalan ng mag-aaral, makikita mo ang average na marka ng huli.

Simpleng database
Simpleng database

Kahit sa ganitong simpleng bersyon, ginagarantiyahan ang mga problema at may kailangang baguhin. Sitwasyon: nagkasakit ang guro, pinalitan siya ng isa pang buwan, ibig sabihin, dalawang grupo ang pinangangasiwaan niya. Mayroon lamang isang field sa ilalim ng isang numero ng pangkat sa talahanayan ng guro.

Upang malutas ang problema, kailangan mong magdagdag ng duplicate na field. At kung ang dalawa ay magkasakit, pagkatapos ay magdagdag ng tatlong mga patlang. Kaya ang talahanayan ng mga guro ay nagsimulang lumago mula sa simula.

May isa pang opsyon: palitan ang numeric na field ng group key ng simbolikong isa. Pagkatapos, sa tuwing pipili ka, kakailanganin mong i-convert ang string sa isang sequence ng mga key, at ang isang sql query ay magiging marami.

Ang isang mas magandang halimbawa ay hindi ang paggawa ng mga talahanayan, ngunit ang paggawa ng mga bagay. Kung gayon ang guro ay isang bagay, at maaari siyang magkaroon ng ilang pinangangasiwaang grupo. Ngunit ito ay palaging isang bagay. Ang object ng guro ay may natatanging susi, ngunit maaaring magkaroon ng maraming pinangangasiwaang pangkat. Ang grupo ay mayroon ding natatanging susi. Mag-aaral din.

Lahat ng tatlong posisyon ay hindi lamang magagamit sa loob ng gawain, ngunit maaari pang paunlarin.

Object-oriented na base

Mga pinuno ng industriya ng impormasyonnag-aalok ng mga klasikong relational database. Sinubok sila ng buhay, gumagana ang mga ito, ligtas, maaasahan at, kung sakaling magkaroon ng mga problema, pinapayagan ka nitong ibalik ang impormasyon.

Ang Object-oriented database (OODB) ay nagsimulang mabuo noong kalagitnaan ng 1980s at, ayon sa mga awtoritatibong may-akda, ay nangangako hanggang ngayon. Ngunit sa ngayon, bukod sa mga pangunahing teorya at konseptong probisyon, walang OODB na nakamit ang parehong rating at distribusyon gaya ng MySQL, MS SQL Server o Oracle sa lahat ng magkakaibang pagkakatawang-tao nito.

OO database
OO database

Ngunit paano kung ang kahulugan, ang konsepto ng data, mga uri, mga katangian, mga klase, mga hierarchy ay iminungkahi ng isang developer na ang rating ay hindi sapat upang lumikha ng isang komunidad ng mga programmer na nagsasabing ang kaisipan ng OODB na ito? Kailangan nating umasa sa sarili nating lakas.

Higit sa tatlumpung variant ng OODB ang nagawa sa kapaligiran ng Linux. Ngunit nasaan ang garantiya na ang nilikhang database ay hindi mangangailangan ng higit pang pag-andar? Ang kapaligiran ng Windows ay hindi nag-aalok ng maraming garantiya sa lugar na ito.

Object-oriented solution

Gayunpaman, may solusyon. Gamit ang MySQL bilang isang halimbawa, maipapakita mo kung paano nagiging object-oriented na modelo ang mga karaniwang relational table ng problemang niresolba.

Isang halimbawa ng sarili mong OODB
Isang halimbawa ng sarili mong OODB

Walang database dito, ngunit mayroong kapaligiran para sa pagbuo ng sarili mong sistema ng mga bagay. Ang kapangyarihan ng MySQL ay ginagamit lamang bilang relational memory para sa mga talahanayan mula sa mga hilera ng impormasyon. Ang lohika ng paggamit ay tinutukoy ng developer mismo. Sa partikular, mayroong is_cache table. Mayroon itong lahatilang pangunahing field:

  • owner_code;
  • session_code;
  • h_code;
  • a_sorpresa;
  • a_contents.

Ang natitirang mga field ay may mga function ng serbisyo. Nakatayo ang talahanayang ito sa input ng anumang kahilingan at itinatala ang pagdating nito. Ang gagawin ng modelo ng database ay tinutukoy ng developer nito. Ang aakma sa field ng content (a_contents) ay tinutukoy ng mga object ng modelong ginawa ng developer.

Mayroong apat na bagay sa ideyang ito: hit, hit session, hit history code, at partikular na content. Ano ang isang tawag, kung anong sistema ng mga bagay ang dapat itayo - ay tinutukoy ng developer. Ang ibig sabihin ng session (proseso ng trabaho) ay tinutukoy ng developer. Ang history code ay ang kakayahang mag-rollback sa mga kahilingan.

Ang mga talahanayan dito ay walang kinalaman sa lugar ng paksa. May call controller (is_cache), mayroong logging (is_customs), mayroong call history (is_histories). Ang natitirang mga talahanayan ay tinutukoy ng gawaing nilulutas.

Sa katunayan, ang solusyong ito ay nagmumungkahi ng paggawa ng sarili mong OODB batay sa built domain database model at ang problemang niresolba. Mayroong isang malaking plus dito - ito ay ang iyong sariling konsepto ng data, ang iyong sariling modelo ng kanilang presentasyon at ang relasyon sa pagitan nila. Mayroong isang pundasyon dito - isang mahusay na relational database. Walang magiging problema sa paghahanap ng isang bagay at hindi pagkakaunawaan.

Modelo: object system + DBMS

Halos imposibleng baguhin ang anuman sa teknolohiya ng impormasyon. Ang totoong rebolusyon ng impormasyon ay malayo pa. propesyonal na kamalayanhindi babaguhin ng mga developer ng software ang mga klasikal na tradisyon. Ngunit may paraan pa rin sa labas ng sitwasyon.

Tamang-tama na Solusyon
Tamang-tama na Solusyon

Paggamit ng maaasahang modernong database management system bilang batayan para sa paglikha ng kapaligiran para sa pagkakaroon ng sarili mong modelo, makakamit mo ang kapansin-pansing tagumpay.

Sa anumang kaso, kakailanganin mong bumuo ng view o modelo ng data upang malutas ang gawain, ngunit kailangan mong gawin ito nang tama: hayaan itong maging isang sistema ng mga bagay, at isang magandang DBMS ang maging kapaligiran nito.

Inirerekumendang: