Koncept údajov: definícia, príklady

Obsah:

Koncept údajov: definícia, príklady
Koncept údajov: definícia, príklady
Anonim

Údaje sa zvyčajne spájajú s programovaním av modernom informačnom svete sú prezentované v troch logicky ekvivalentných verziách: údaje opísané a použité v programe v programovacom jazyku; údaje v databázových systémoch; dáta v distribuovaných informačných systémoch. Moderné programovanie dalo relatívnu voľnosť len prvému variantu formalizácie informácií. Druhé dve možnosti sú viac-menej spoľahlivé formy poskytovania informácií a vzťahov medzi ich komponentmi.

Údaje z minulosti a súčasnosti

Základnou pozíciou programovacích jazykov je presný popis údajov a algoritmov. Počítače „nepredstavujú“žiadnu možnosť neistoty: je tu niečo, podľa čoho treba konať a existuje príkaz, ktorý túto akciu vykoná.

Moderný koncept je založený na oveľa vyššom základe: je dané a čo presne to bude, určuje miesto jeho použitia. V každom prípade sa v čase používania údaje automaticky skontrolujú a prevedú na správny typ. Moderný programátor nie je povinný starať sa o ich predbežný popis a dodržanie typovej kompatibility v algoritme.

Minulé a súčasné údaje
Minulé a súčasné údaje

Proces prechodu:

  • zo zadaných údajov a ich povinného popisu pred použitím;
  • na netypizované údaje a oslobodenie od akejkoľvek povinnosti ich popísať a použiť.

V skutočnosti môžeme rozpoznať relatívne uvoľnenie formalizačných požiadaviek – je dostupné len v prostredí moderných programovacích nástrojov. Za behu je typ každého nulového bodu pevný a postupnosť príkazov je dobre definovaná.

Typy a modelovanie

Matematika a fyzika, obchod a výroba, ekonómia a ďalšie oblasti, v ktorých sa používajú čísla, vždy pracovali s údajmi a konceptu typu nepripisovali žiadnu dôležitosť. Na skutočnosti, že čísla môžu byť celé alebo zlomkové, v podstate nezáležalo.

Každý konkrétny vzorec alebo konkrétna akcia môže poskytnúť celé číslo, nekonečný zlomok, reálne alebo komplexné číslo. Doteraz existujú také zázraky mysle ako nekonečne malé a nekonečne veľké. Navyše tieto zázraky majú dokonca vlastnosti.

V programovaní stále nie je žiadna sloboda. Všetko musí byť prísne formalizované. Koncept údajov je v prvom rade typ:

  • integer;
  • boolean;
  • char;
  • reťazec a tak ďalej.

Názvy typov sa môžu v rôznych programovacích jazykoch líšiť, ale vždy existuje celé číslo alebo skutočné číslo, booleovská hodnota, symbol,riadok. Stále tu zostali relikvie a konkrétne nápady: celé číslo bez znamienka, kód, bajt, slovo, dvojité slovo, reťazec s pevnou dĺžkou.

Relikvie a nápady
Relikvie a nápady

Koncept údajov v dátovom systéme nemá žiadnu slobodu. Jazyk SQL – „medzinárodný“(pre každú modernú databázu existuje dialekt) – netoleruje žiadne nepresnosti nielen v dátach, ale ani v sql dotazoch. Chyba v požiadavke je zárukou absencie výsledku. O porušení popisov sa vôbec netreba baviť.

Modelovanie informačných procesov a reprezentácií údajov je jediný istý spôsob, ako vybudovať štruktúru, ktorá sa môže vyvíjať a prispôsobovať meniacim sa podmienkam.

Dynamika originálu

Prirodzené informácie sa neustále menia. Poskytnúť formálny popis a koncepciu dátového modelu v konkrétnej tematickej oblasti znamená vyriešiť tri problémy:

  • definovať, aké údaje sú tu;
  • formalizovať vzťah medzi nimi;
  • popíšte procesy zmeny údajov a vzťahov.

Príklad súboru údajov jednoduchého algoritmu v JavaScripte – zmenšená kópia modelu aj toho najspoľahlivejšieho systému správy databáz.

Len v druhom prípade odborníci a špecialisti pri navrhovaní dátových štruktúr, tabuliek a vzťahov väčšinou nevidia (pokryť veľké množstvo prirodzených informácií je naozaj ťažké) podstatu vecí a získava sa ťažkopádny, nerozvinutý súbor hromady údajov, zatiaľ čo zdrojové informácie v predmetnej oblasti voľne a ľahko kolujú.

Statickémožné

V JavaScripte je bežnou praxou zahrnúť kód pripojený k stránke a funkcie priradené udalostiam na značkách stránky. V oboch prípadoch značky stránky definujú údaje, ktoré daný webový zdroj prijíma, upravuje alebo vytvára.

Ak svoj obslužný kód veľmi pozorne sústredíte na udalosti prvkov a nie na kód stránky ako celok, toto je najlepšia cesta von. V ideálnom prípade, keď kód nezavádza nové údaje alebo neopravuje dostupné údaje, ale zameriava sa na to, čo presne má v konkrétnom čase.

V skutočnosti, ak definujete pojem „údaje“ako minimálne statický popis zdrojových informácií a budete sa ním riadiť, potom to znamená, že máte šancu na úspech.

Pokiaľ ide o databázy, veci sú oveľa komplikovanejšie. Akýkoľvek kód JavaScript „poskytuje“stránke funkčnosť. Akákoľvek databáza je zbierka tabuliek, vzťahov medzi nimi, uložených procedúr, dotazov a funkcií dostupných zvonku.

Statický je problém každého algoritmu. Moderný koncept údajov je statický: číslo, reťazec, znak atď. Pri spracovaní alebo pri zápise do databázovej tabuľky ide všetko hladko. Kedy však originál nadobúda iný rozmer či význam? Možnosť jedna: zmeňte znamenie, ale spojenia a požiadavky môžu okamžite zapadnúť.

Statika a objekty

Definovanie pojmu „údaje“ako objektu dramaticky mení situáciu. Objekt má vlastnú štruktúru. Tu môžete použiť ľubovoľný popis akýchkoľvek premenných. Úloha nebude hrať. Objekt má metódy, prostredníctvom ktorých sú údaje dostupné. Od všetkéhopoužívané v oblasti programovania, teda tri základné metódy: čítať, zapisovať, meniť. Môžete pridať ďalšie na porovnanie, vyhľadávanie, klonovanie atď.

Téma určuje pre každý údaj celý rad vlastností. Ukazuje sa teda, že pojem dáta sa transformuje na akýsi popis, ktorý sa dá dynamicky meniť. Statika vo vnútri objektu dáva dynamiku mimo neho.

Ak zmeníte kombináciu statických deskriptorov vo vnútri objektu, nemusíte si robiť starosti s dynamikou jeho vzťahov s inými objektmi.

Programovanie a prezentácia údajov

Čo sú dáta? Verejné povedomie je už zvyknuté na informačné technológie, funguje v cloude a má kontajnery vo virtuálnych priestoroch. Teraz sú nielen profesionálni programátori a používatelia, ale aj bežní ľudia kompetentní v otázkach informácií a ich použitia.

Verejný názor
Verejný názor

Ale čo je programovanie? Dodnes verejná mienka dáva tomuto pojmu a jeho pojmom nasledujúcu definíciu:

  • Informácie a údaje sú základné pojmy používané v informatike.
  • Údaje predstavujú určitý spôsob prijímania a zaznamenávania pozorovaní vo vzťahu k okolitej realite.
  • Sú jednoduché a zložité (štruktúry), primárne a sekundárne.
  • Databáza je zbierka nezávislých materiálov prezentovaných systematickým spôsobom, aby sa dali nájsť, upraviť a použiť.

Aké je to objektívne? Autoritatívni autorimyslite si to. Skutočná prax má tendenciu zabezpečiť, že každá tematická oblasť určí svoj správny dátový systém a poskytne každú príležitosť na vytvorenie dobrého dynamického modelu.

Nie je nezvyčajné, že zákazník (spotrebiteľ) vnúti programátorovi (návrhárovi databáz) svoj vlastný názor na to, ako a čo má robiť. Z hľadiska programovania je možné splniť akúkoľvek túžbu zákazníka s maximálnou presnosťou.

Potrebujem Oracle na vyriešenie problému rozpočtovania údržby vidieckych vodovodov (budova 21 v obci) - dobré. MySQL je potrebný na organizáciu systému sledovania poštových zásielok pre všetky pošty v Rusku – všetko bude tiež fungovať.

Vždy môžete zostaviť ľubovoľný algoritmus a poskytnúť prístup k akejkoľvek reprezentácii informácií v rámci definície pojmu dáta, ktorú zaviedol vývojár databázového riadiaceho systému alebo programovacieho jazyka. Otázka je iná: ako to urobiť s minimálnymi nákladmi pri maximálnej dynamike?

Databázy, príklady

Jednoduchá základňa je vytvorená bez modelu. Základné pojmy dáta a komunikácia sú malé, funkcionalita je veľmi jednoduchá. Napríklad pre inštitúciu vyššieho vzdelávania potrebujete:

  • tabuľka učiteľov;
  • tabuľka skupiny (kľúč a číslo skupiny);
  • všeobecná tabuľka študentov (používajú sa skupinové kľúče).

Dekan chce poznať pokroky učiteľov. Tabuľka učiteľov má polia:

  • priezvisko;
  • name;
  • patronymic;
  • číslo skupiny pod dohľadom.

Študentský stôl má polia:

  • priezvisko;
  • name;
  • patronymic;
  • dátum narodenia;
  • GPA (pre všetky predmety);
  • číslo skupiny.

Na výber vzorky môžu byť aspoň dve možnosti: pomocou mena učiteľa môžete prejsť na číslo skupiny a zobraziť všetkých študentov a ich priemerné skóre alebo podľa priezviska učiteľa a posledného meno študenta, môžete vidieť priemerné skóre posledného študenta.

Jednoduchá databáza
Jednoduchá databáza

Aj v takejto jednoduchej verzii sú problémy zaručené a bude treba niečo zmeniť. Situácia: učiteľ ochorel, strieda ho ďalší mesiac, čiže dohliada na dve skupiny. V tabuľke učiteľov je pod jedným číslom skupiny iba jedno pole.

Ak chcete problém vyriešiť, musíte pridať duplicitné pole. A ak ochorejú dvaja, pridajte tri polia. Takže stôl učiteľov začína rásť od nuly.

Je tu ešte jedna možnosť: nahraďte číselné pole skupinového kľúča symbolickým. Potom zakaždým, keď vyberiete, budete musieť previesť reťazec na sekvenciu kľúčov a jeden dotaz SQL sa zmení na niekoľko.

Sľubnejším príkladom nie je robiť tabuľky, ale robiť predmety. Potom je učiteľ objektom a môže mať niekoľko skupín pod dohľadom. Ale vždy ide o jeden objekt. Objekt učiteľa má jedinečný kľúč, ale môže mať viacero kontrolovaných skupín. Skupina má tiež jedinečný kľúč. Aj študent.

Všetky tri pozície sú nielen dostupné v rámci úlohy, ale možno ich ďalej rozvíjať.

Objektovo orientované základne

Lídri v informačnom priemysleponúkajú klasické relačné databázy. Sú testované životom, fungujú, sú bezpečné, spoľahlivé a v prípade problémov umožňujú obnoviť informácie.

Objektovo orientované databázy (OODB) sa začali vyvíjať v polovici 80-tych rokov a podľa autoritatívnych autorov sú perspektívne dodnes. Ale zatiaľ, okrem základných teórií a koncepčných ustanovení, neexistuje žiadna OODB, ktorá by dosiahla rovnaké hodnotenie a distribúciu ako MySQL, MS SQL Server alebo Oracle vo všetkých svojich rozmanitých inkarnáciách.

OO databáza
OO databáza

Čo ak však definíciu, koncept údajov, typov, atribútov, tried, hierarchií navrhne vývojár, ktorého hodnotenie je nedostatočné na vytvorenie komunity programátorov, ktorí vyznávajú mentalitu tejto OODB? Budeme sa musieť spoľahnúť na vlastné sily.

V prostredí Linuxu bolo vytvorených viac ako tridsať variantov OODB. Kde je však záruka, že vytvorená databáza nebude vyžadovať viac funkcionality? Prostredie Windows neponúka v tejto oblasti veľa záruk.

Objektovo orientované riešenie

Je tu však riešenie. Pomocou MySQL ako príkladu môžete ukázať, ako sa štandardné relačné tabuľky menia na objektovo orientovaný model riešeného problému.

Príklad vašej vlastnej OODB
Príklad vašej vlastnej OODB

Neexistuje tu žiadna databáza, ale existuje prostredie na vytvorenie vlastného systému objektov. Sila MySQL sa využíva len ako relačná pamäť pre tabuľky z informačných riadkov. Logiku použitia si určuje vývojár sám. Ide najmä o tabuľku is_cache. Má všetkoniekoľko základných polí:

  • owner_code;
  • session_code;
  • h_code;
  • a_surprise;
  • a_contents.

Ostatné polia nesú servisné funkcie. Táto tabuľka stojí na vstupe akejkoľvek požiadavky a zaznamenáva jej príchod. Ako bude databázový model fungovať, určuje jeho vývojár. Čo sa zmestí do poľa obsahu (a_contents), je určené objektmi modelu vytvoreného vývojárom.

Tento nápad obsahuje štyri veci: prístup, relácia prístupu, kód histórie prístupov a konkrétny obsah. Čo je to výzva, aký systém objektov by mal byť postavený - určuje developer. Čo sa myslí reláciou (pracovným procesom), určuje vývojár. Kód histórie je možnosť vrátiť sa späť na požiadavky.

Tuto tabuľky nemajú nič spoločné s predmetom. Existuje ovládač hovorov (is_cache), protokolovanie (is_customs), história hovorov (is_histories). Zostávajúce tabuľky sú určené riešenou úlohou.

V skutočnosti toto riešenie navrhuje vytvoriť si vlastnú OODB na základe vybudovaného modelu databázy domény a riešeného problému. Tu je obrovské plus – ide o vlastný koncept dát, vlastný model ich prezentácie a vzťahu medzi nimi. Je tu základ – skvelá relačná databáza. Nebude problém niečo hľadať a niečomu neporozumieť.

Model: objektový systém + DBMS

V informačných technológiách je takmer nemožné niečo zmeniť. Skutočná informačná revolúcia je ešte ďaleko. profesionálne vedomievývojári softvéru nebudú meniť klasické tradície. Stále však existuje východisko zo situácie.

Ideálne riešenie
Ideálne riešenie

Pomocou spoľahlivých moderných systémov správy databáz ako základu pre vytvorenie prostredia pre existenciu vlastného modelu môžete dosiahnuť výrazný úspech.

V každom prípade budete musieť na vyriešenie úlohy vytvoriť pohľad alebo dátový model, ale musíte to urobiť správne: nech je to systém objektov a dobrý DBMS je jeho prostredím.

Odporúča: