Dhana ya data: ufafanuzi, mifano

Orodha ya maudhui:

Dhana ya data: ufafanuzi, mifano
Dhana ya data: ufafanuzi, mifano
Anonim

Data kwa kawaida huhusishwa na upangaji programu na katika ulimwengu wa kisasa wa taarifa huwasilishwa katika matoleo matatu yanayolingana kimantiki: data iliyofafanuliwa na kutumika katika programu katika lugha ya programu; data katika mifumo ya hifadhidata; data katika mifumo ya habari iliyosambazwa. Programu ya kisasa imetoa uhuru wa jamaa kwa lahaja ya kwanza ya urasimishaji wa habari. Chaguzi mbili za pili ni aina zisizotegemewa zaidi za kutoa taarifa na uhusiano kati ya vijenzi vyake.

Data ya zamani na ya sasa

Nafasi ya msingi ya lugha za programu ni maelezo kamili ya data na algoriti. Kompyuta "hazionyeshi" nafasi yoyote ya kutokuwa na uhakika: kuna jambo la kutekelezwa, na kuna amri inayotekeleza kitendo hicho.

Dhana ya kisasa inategemea msingi wa juu zaidi: kuna iliyotolewa, na ni nini hasa itakuwa imedhamiriwa mahali pa matumizi yake. Kwa hali yoyote, wakati wa matumizi, data inakaguliwa kiatomati na kubadilishwa kuwa aina sahihi. Mtayarishaji programu wa kisasa halazimiki kutunza maelezo yake ya awali na uzingatiaji wa uoanifu wa aina katika algoriti.

Data ya zamani na ya sasa
Data ya zamani na ya sasa

Mchakato wa mpito:

  • kutoka kwa data iliyochapwa na maelezo yake ya lazima kabla ya matumizi;
  • kwa data ambayo haijachapishwa na uhuru kutoka kwa wajibu wowote wa kuifafanua na kuitumia.

Kwa hakika, tunaweza kutambua kulegezwa kwa kiasi kwa mahitaji ya urasimishaji - inapatikana tu katika mazingira ya zana za kisasa za utayarishaji. Wakati wa utekelezaji, aina ya kila hifadhidata huwekwa, na mlolongo wa amri umefafanuliwa vyema.

Aina na Muundo

Hisabati na fizikia, biashara na uzalishaji, uchumi na maeneo mengine ambapo nambari hutumiwa, yamekuwa yakitumia data kila wakati na hayajaweka umuhimu wowote kwa dhana ya aina. Ukweli kwamba nambari zinaweza kuwa nzima au sehemu hazijalishi.

Kila fomula mahususi au kitendo mahususi kinaweza kutoa nambari kamili, sehemu isiyo na kikomo, nambari halisi au changamano. Hadi sasa, kuna maajabu ya akili kama ndogo na kubwa isiyo na kikomo. Zaidi ya hayo, miujiza hii ina sifa zake.

Bado hakuna uhuru katika kupanga programu. Kila kitu lazima kiwe rasmi rasmi. Wazo la data ni, kwanza kabisa, aina:

  • nambari;
  • boolean;
  • char;
  • kamba na kadhalika.

Majina ya aina yanaweza kutofautiana katika lugha tofauti za kupanga programu, lakini daima kuna nambari kamili au halisi, thamani ya boolean, ishara,mstari. Bado kuna masalio na mawazo mahususi yaliyosalia: nambari kamili ambayo haijatiwa saini, msimbo, baiti, neno, neno mbili, uzi wa urefu usiobadilika.

Relics na mawazo
Relics na mawazo

Dhana ya data katika mfumo wa data haina uhuru. Lugha ya SQL - "kimataifa" (kuna lahaja kwa kila hifadhidata ya kisasa) - haivumilii makosa yoyote sio tu katika data, bali pia katika maswali ya sql. Hitilafu katika ombi ni dhamana ya kutokuwepo kwa matokeo. Hakuna haja ya kuzungumza kuhusu ukiukaji wa maelezo hata kidogo.

Kuiga michakato ya taarifa na uwasilishaji wa data ndiyo njia pekee ya uhakika ya kujenga muundo unaoweza kubadilika na kukabiliana na mabadiliko ya hali.

Mabadiliko ya asili

Maelezo asilia ni mabadiliko yanayoendelea. Kutoa maelezo na dhana rasmi ya muundo wa data katika eneo mahususi la somo inamaanisha kutatua matatizo matatu:

  • fafanua data iliyo hapa;
  • kurasimisha uhusiano kati yao;
  • eleza michakato ya kubadilisha data na mahusiano.

Mfano wa seti ya data ya algoriti rahisi katika JavaScript - nakala iliyopunguzwa ya muundo hata wa mfumo thabiti wa usimamizi wa hifadhidata.

Ni kwamba katika kesi ya pili, wataalam na wataalam, wakati wa kubuni miundo ya data, meza na uhusiano, kwa kawaida hawaoni (ni vigumu sana kufidia kiasi kikubwa cha habari asilia) kiini cha mambo, na. seti mbaya ya data ambayo haijaendelezwa hupatikana, ilhali katika eneo la somo taarifa ya chanzo husambazwa kwa uhuru na kwa urahisi.

Tuliinawezekana

Ni mazoezi ya kawaida ya JavaScript kujumuisha msimbo ulioambatishwa kwenye ukurasa na vitendakazi vilivyowekwa kwa matukio kwenye lebo za ukurasa. Vyovyote vile, lebo za ukurasa hufafanua data ambayo rasilimali fulani ya wavuti inakubali, kurekebisha au kuunda.

Ikiwa utaangazia msimbo wako wa kidhibiti kwa uangalifu sana kwenye matukio ya vipengele, na si kwenye msimbo wa ukurasa kwa ujumla, hii ndiyo njia bora zaidi ya kutoka. Kwa hakika, wakati msimbo hautanguliza data mpya au haurekebishi data inayopatikana, lakini inaangazia nini haswa inayo kwa wakati fulani.

Kwa hakika, ukifafanua dhana ya "data" kama maelezo tuli ya chini ya maelezo ya chanzo na kuyafuata, basi hii inamaanisha una nafasi ya kufaulu.

Kuhusiana na hifadhidata, mambo ni magumu zaidi. Nambari yoyote ya JavaScript "inatoa" ukurasa na utendaji. Hifadhidata yoyote ni mkusanyo wa majedwali, uhusiano kati yao, taratibu zilizohifadhiwa, hoja na utendaji unaopatikana kutoka nje.

Tuli ni shida ya kanuni yoyote. Dhana ya kisasa ya data ni tuli: nambari, kamba, tabia, na kadhalika. Wakati wa usindikaji au unapoandika kwenye meza ya hifadhidata, kila kitu kinatokea vizuri. Lakini ni lini asili hupata mwelekeo au maana tofauti? Chaguo la kwanza: badilisha ishara, lakini miunganisho na maombi yanaweza kuingia mara moja.

Takwimu na vitu

Kufafanua dhana ya "data" kama kitu hubadilisha hali kwa kiasi kikubwa. Kitu kina muundo wake. Hapa unaweza kutumia maelezo yoyote ya vigezo vyovyote. Jukumu halitacheza. Kitu kina njia ambazo data inapatikana. Kwa kuwa kila kitukutumika katika uwanja wa programu, yaani, njia tatu za msingi: kusoma, kuandika, kubadilisha. Unaweza kuongeza zaidi ili kulinganisha, kutafuta, kuiga, n.k.

Eneo la somo linaweka anuwai ya sifa kwenye kila data. Kwa hivyo, zinageuka kuwa dhana ya data inabadilishwa kuwa aina ya maelezo ambayo inaweza kubadilishwa kwa nguvu. Iliyotulia ndani ya kitu hutoa mienendo nje yake.

Kubadilisha mseto wa vielezi tuli ndani ya kitu, huna haja ya kuwa na wasiwasi kuhusu mienendo ya uhusiano wake na vitu vingine.

Upangaji na uwasilishaji wa data

Data ni nini? Ufahamu wa umma tayari umezoea teknolojia ya habari, inafanya kazi katika mawingu na ina vyombo katika nafasi za kawaida. Sasa, sio tu watengenezaji programu na watumiaji wa kitaalamu, lakini pia watu wa kawaida wana uwezo katika masuala ya habari na matumizi yake.

Maoni ya umma
Maoni ya umma

Lakini upangaji programu ni nini? Hadi leo, maoni ya umma yanatoa ufafanuzi ufuatao kwa dhana hii na dhana zake:

  • Maelezo na data ni dhana za kimsingi zinazotumika katika sayansi ya kompyuta.
  • Data ni njia fulani iliyopokelewa na kurekodiwa uchunguzi kuhusiana na hali halisi inayozunguka.
  • Ni rahisi na changamano (miundo), msingi na upili.
  • Hifadhidata ni mkusanyiko wa nyenzo huru zinazowasilishwa kwa njia ya utaratibu ili ziweze kupatikana, kurekebishwa na kutumika.

Hii ina lengo gani? Waandishi wenye mamlakafikiri hivyo. Mazoezi halisi yanaelekea kuhakikisha kwamba kila eneo la somo linaamua mfumo wake sahihi wa data na kutoa kila fursa ya kuunda muundo bora unaobadilika.

Si kawaida kwa mteja (mtumiaji) kulazimisha maoni yake mwenyewe kwa mtayarishaji programu (mbuni wa hifadhidata) kuhusu jinsi na nini cha kufanya. Kwa mtazamo wa upangaji programu, hamu yoyote ya mteja inaweza kutimizwa kwa usahihi wa hali ya juu.

Need Oracle kutatua tatizo la bajeti kwa ajili ya matengenezo ya usambazaji wa maji vijijini (jengo 21 kijijini) - nzuri. MySQL inahitajika ili kupanga mfumo wa ufuatiliaji wa bidhaa za barua kwa ofisi zote za posta nchini Urusi - kila kitu kitafanya kazi pia.

Unaweza kutunga algoriti yoyote na kutoa ufikiaji wa uwakilishi wowote wa maelezo ndani ya ufafanuzi wa dhana ya data, ambayo huanzishwa na msanidi wa mfumo wa usimamizi wa hifadhidata au lugha ya programu. Swali ni tofauti: jinsi ya kuifanya kwa gharama ndogo katika mienendo ya juu zaidi?

Hifadhi, mifano

Msingi rahisi huundwa bila modeli. Dhana za msingi za data na mawasiliano ni ndogo, utendaji ni rahisi sana. Kwa mfano, kwa taasisi ya elimu ya juu unahitaji:

  • meza ya walimu;
  • meza ya kikundi (ufunguo na nambari ya kikundi);
  • jedwali la jumla la wanafunzi (funguo za kikundi zinatumika).

Dean anataka kujua maendeleo ya walimu. Jedwali la walimu lina fani:

  • jina la ukoo;
  • jina;
  • patronymic;
  • nambari ya kikundi kinachosimamiwa.

Jedwali la wanafunzi lina nyuga:

  • jina la ukoo;
  • jina;
  • patronymic;
  • tarehe ya kuzaliwa;
  • GPA (kwa masomo yote);
  • nambari ya kikundi.

Kunaweza kuwa na angalau chaguzi mbili za sampuli: kwa kutumia jina la mwalimu, unaweza kwenda kwa nambari ya kikundi na kuona wanafunzi wote na alama zao za wastani, au kwa jina la mwisho la mwalimu na la mwisho. jina la mwanafunzi, unaweza kuona wastani wa alama ya mwisho.

Database rahisi
Database rahisi

Hata katika toleo rahisi kama hili, matatizo yanahakikishwa na itabidi kitu kibadilishwe. Hali: mwalimu aliugua, mwezi mwingine anachukua nafasi yake, ambayo inamaanisha anasimamia vikundi viwili. Kuna sehemu moja tu chini ya nambari moja ya kikundi kwenye jedwali la mwalimu.

Ili kutatua tatizo, unahitaji kuongeza uga unaorudiwa. Na ikiwa wawili wanaugua, basi ongeza mashamba matatu. Kwa hivyo meza ya walimu inaanza kukua kutoka mwanzo.

Kuna chaguo jingine: badilisha uga wa nambari wa ufunguo wa kikundi na uweke mfano. Kisha, kila wakati unapochagua, itabidi ubadilishe kamba kuwa mfuatano wa funguo, na hoja moja ya sql itageuka kuwa kadhaa.

Mfano mzuri zaidi si kutengeneza meza, bali kutengeneza vitu. Kisha mwalimu ni kitu, na anaweza kuwa na vikundi kadhaa vinavyosimamiwa. Lakini daima ni kitu kimoja. Kitu cha mwalimu kina ufunguo wa kipekee, lakini kinaweza kuwa na vikundi vingi vinavyosimamiwa. Kikundi pia kina ufunguo wa kipekee. Mwanafunzi pia.

Nafasi zote tatu hazipatikani tu ndani ya jukumu, lakini zinaweza kuendelezwa zaidi.

Misingi yenye mwelekeo wa kitu

Viongozi wa tasnia ya habaritoa hifadhidata za kawaida za uhusiano. Zinajaribiwa na maisha, zinafanya kazi, ziko salama, zinategemewa na, ikitokea matatizo, hukuruhusu kurejesha taarifa.

Hifadhidata zinazolengwa na kitu (OODB) zilianza kutengenezwa katikati ya miaka ya 1980 na, kulingana na waandishi wenye mamlaka, zina matumaini hadi leo. Lakini kufikia sasa, mbali na nadharia za kimsingi na vifungu vya dhana, hakuna OODB ambayo imepata ukadiriaji na usambazaji sawa na MySQL, MS SQL Server au Oracle katika umbile lake tofauti.

Hifadhidata ya OO
Hifadhidata ya OO

Lakini vipi ikiwa ufafanuzi, dhana ya data, aina, sifa, madaraja, madaraja inapendekezwa na msanidi programu ambaye ukadiriaji wake hautoshi kuunda jumuiya ya watayarishaji programu wanaodai mtazamo wa OODB hii? Itatubidi kutegemea nguvu zetu wenyewe.

Zaidi ya vibadala thelathini vya OODB vimeundwa katika mazingira ya Linux. Lakini ni wapi dhamana ya kwamba hifadhidata iliyoundwa haitahitaji utendaji zaidi? Mazingira ya Windows hayatoi dhamana nyingi katika eneo hili.

Suluhisho lenye mwelekeo wa kitu

Hata hivyo, kuna suluhu. Kwa kutumia MySQL kama mfano, unaweza kuonyesha jinsi majedwali ya kawaida ya uhusiano yanavyobadilika kuwa kielelezo chenye mwelekeo wa kitu cha tatizo linalotatuliwa.

Mfano wa OODB yako mwenyewe
Mfano wa OODB yako mwenyewe

Hakuna hifadhidata hapa, lakini kuna mazingira ya kuunda mfumo wako wa vitu. Nguvu ya MySQL inatumika tu kama kumbukumbu ya uhusiano kwa jedwali kutoka kwa safu mlalo za habari. Mantiki ya matumizi imedhamiriwa na msanidi mwenyewe. Hasa, kuna jedwali la is_cache. Ina kila kitunyanja kadhaa za kimsingi:

  • msimbo_wa_mmiliki;
  • msimbo_wa_kipindi;
  • h_code;
  • mshangao;
  • ya_maudhui.

Nyuga zingine zina utendakazi wa huduma. Jedwali hili linasimama kwenye uingizaji wa ombi lolote na hurekodi kuwasili kwake. Kile ambacho muundo wa hifadhidata utafanya huamuliwa na msanidi wake. Ni nini kitakachofaa katika uga wa maudhui (a_contents) hubainishwa na vipengee vya muundo iliyoundwa na msanidi.

Kuna mambo manne katika wazo hili: hit, session, hit history code, na maudhui mahususi. Je, ni wito gani, ni mfumo gani wa vitu unapaswa kujengwa - imedhamiriwa na msanidi programu. Nini maana ya kikao (mchakato wa kazi) imedhamiriwa na msanidi programu. Msimbo wa historia ni uwezo wa kurejesha ombi.

Majedwali hapa hayana uhusiano wowote na eneo la mada. Kuna kidhibiti cha simu (is_cache), kuna ukataji miti (is_customs), kuna historia ya simu (is_histories). Majedwali yaliyosalia hubainishwa na kazi inayotatuliwa.

Kwa hakika, suluhisho hili linapendekeza kuunda OODB yako mwenyewe kulingana na muundo wa hifadhidata wa kikoa kilichojengwa na tatizo kutatuliwa. Kuna faida kubwa hapa - hii ni dhana yako mwenyewe ya data, mfano wako mwenyewe wa uwasilishaji wao na uhusiano kati yao. Kuna msingi hapa - hifadhidata kubwa ya uhusiano. Hakutakuwa na matatizo katika kutafuta kitu na kutoelewa kitu.

Mfano: mfumo wa kitu + DBMS

Ni karibu kuwa vigumu kubadilisha chochote katika teknolojia ya habari. Mapinduzi ya kweli ya habari bado yako mbali. ufahamu wa kitaalumawatengenezaji wa programu hawatabadilisha mila ya kitambo. Lakini bado kuna njia ya kutoka kwa hali hiyo.

Suluhisho Bora
Suluhisho Bora

Kwa kutumia mifumo ya kisasa ya usimamizi wa hifadhidata inayotegemewa kama msingi wa kuunda mazingira ya kuwepo kwa muundo wako binafsi, unaweza kupata mafanikio yanayoonekana.

Kwa hali yoyote, itabidi utengeneze mwonekano au kielelezo cha data ili kutatua kazi, lakini unahitaji kuifanya kwa usahihi: iwe mfumo wa vitu, na DBMS nzuri iwe mazingira yake.

Ilipendekeza: