Concept de date: definiție, exemple

Cuprins:

Concept de date: definiție, exemple
Concept de date: definiție, exemple
Anonim

Datele sunt de obicei asociate cu programarea și în lumea informațională modernă sunt prezentate în trei versiuni echivalente logic: date descrise și utilizate într-un program într-un limbaj de programare; date în sisteme de baze de date; date în sistemele informaţionale distribuite. Programarea modernă a dat libertate relativă doar primei variante de formalizare a informaţiei. Celel alte două opțiuni sunt forme mai mult sau mai puțin fiabile de furnizare de informații și relații între componentele sale.

Date trecute și prezente

Poziția fundamentală a limbajelor de programare este descrierea exactă a datelor și a algoritmilor. Calculatoarele nu „prezentă” nicio șansă de incertitudine: există ceva asupra căruia trebuie acționat și există o comandă care efectuează acea acțiune.

Conceptul modern se bazează pe un fundament mult mai în alt: există un dat, iar ce anume va fi este determinat la locul de utilizare. În orice caz, în momentul utilizării, datele sunt verificate automat și convertite la tipul corect. Un programator modern nu este obligat să aibă grijă de descrierea lor preliminară și de respectarea compatibilității de tip în algoritm.

Date trecute și prezente
Date trecute și prezente

Proces de tranziție:

  • din datele tastate și descrierea lor obligatorie înainte de utilizare;
  • la date neînregistrate și liber de orice obligație de a le descrie și de a le folosi.

De fapt, putem recunoaște relaxarea relativă a cerințelor de formalizare - este disponibilă numai în mediul instrumentelor moderne de programare. În timpul execuției, tipul fiecărei date este fix, iar secvența de comandă este bine definită.

Tipuri și modelare

Matematica și fizica, comerțul și producția, economie și alte domenii în care sunt folosite numerele, au funcționat întotdeauna cu date și nu au acordat nicio importanță conceptului de tip. Faptul că numerele pot fi întregi sau fracționate nu a contat cu adevărat.

Fiecare formulă specifică sau acțiune specifică poate da un număr întreg, o fracție infinită, un număr real sau complex. Până acum, există astfel de minuni ale minții infinit de mici și infinit de mari. În plus, aceste miracole au chiar proprietăți.

Încă nu există libertate în programare. Totul trebuie strict formalizat. Conceptul de date este, în primul rând, un tip:

  • integer;
  • boolean;
  • car;
  • șir și așa mai departe.

Numele de tipuri pot diferi în diferite limbaje de programare, dar există întotdeauna un număr întreg sau real, o valoare booleană, un simbol,linia. Au mai rămas relicve și idei specifice: întreg nesemnat, cod, octet, cuvânt, cuvânt dublu, șir cu lungime fixă.

Relicve și idei
Relicve și idei

Conceptul de date într-un sistem de date nu are libertate. Limbajul SQL - „internațional” (există un dialect pentru fiecare bază de date modernă) - nu tolerează nicio inexactitate nu numai în date, ci și în interogările sql. O eroare în cerere este o garanție a absenței unui rezultat. Nu este deloc nevoie să vorbim despre încălcările descrierilor.

Modelarea proceselor de informații și a reprezentărilor de date este singura modalitate sigură de a construi o structură care poate evolua și se poate adapta la condițiile în schimbare.

Dinamica originalului

Informația naturală este o schimbare continuă. A oferi o descriere formală și un concept al unui model de date într-un domeniu specific înseamnă a rezolva trei probleme:

  • definiți ce date sunt aici;
  • formalizați relația dintre ei;
  • descrie procesele de modificare a datelor și a relațiilor.

Un exemplu de set de date al unui algoritm simplu în JavaScript - o copie redusă a modelului chiar și a celui mai solid sistem de gestionare a bazelor de date.

Doar că, în al doilea caz, experții și specialiștii, atunci când proiectează structuri de date, tabele și relații, de obicei nu văd (este chiar dificil să acopere o cantitate mare de informații naturale) esența lucrurilor, și se obține un set greoi și nedezvoltat de grămezi de date, în timp ce în domeniul subiectului informațiile sursă circulă liber și ușor.

Staticposibil

Este o practică obișnuită JavaScript includerea codului atașat unei pagini și a funcțiilor atribuite evenimentelor pe etichetele paginii. Oricum, etichetele de pagină definesc datele pe care o anumită resursă web le acceptă, le modifică sau le creează.

Dacă vă concentrați foarte atent codul de gestionare asupra evenimentelor elementului, și nu asupra codului paginii în ansamblu, aceasta este cea mai bună cale de ieșire. În mod ideal, atunci când codul nu introduce date noi sau nu fixează datele disponibile, ci se concentrează pe ceea ce are exact la un anumit moment în timp.

De fapt, dacă definiți conceptul de „date” ca o descriere minim statică a informațiilor sursă și o urmați, atunci aceasta înseamnă că aveți șanse de succes.

În ceea ce privește bazele de date, lucrurile sunt mult mai complicate. Orice cod JavaScript „oferă” paginii cu funcționalitate. Orice bază de date este o colecție de tabele, relații dintre ele, proceduri stocate, interogări și funcționalități disponibile din exterior.

Static este problema oricărui algoritm. Conceptul modern de date este static: un număr, un șir, un caracter și așa mai departe. Când procesați sau când scrieți într-un tabel de bază de date, totul decurge fără probleme. Dar când dobândește originalul o altă dimensiune sau sens? Opțiunea 1: schimbați semnul, dar conexiunile și solicitările pot intra imediat.

Statică și obiecte

Definirea conceptului de „date” ca obiect schimbă dramatic situația. Obiectul are propria sa structură. Aici puteți folosi orice descriere a oricăror variabile. Rolul nu va juca. Un obiect are metode prin care datele sunt disponibile. Din moment ce totulfolosit în domeniul programării, adică trei metode de bază: citire, scriere, schimbare. Puteți adăuga mai multe pentru a compara, a căuta, a clona etc.

Tematicul impune o serie de proprietăți fiecărei date. Astfel, reiese că conceptul de date este transformat într-un fel de descriere care poate fi schimbată dinamic. Static în interiorul unui obiect dă dinamică în afara acestuia.

Schimbând combinația de descriptori statici în interiorul unui obiect, nu trebuie să vă faceți griji cu privire la dinamica relațiilor acestuia cu alte obiecte.

Programarea și prezentarea datelor

Ce sunt datele? Conștiința publică este deja obișnuită cu tehnologia informației, lucrează în nori și are containere în spații virtuale. Acum, nu numai programatorii și utilizatorii profesioniști, ci și oamenii obișnuiți sunt competenți în problemele de informare și utilizarea acesteia.

Opinie publica
Opinie publica

Dar ce este programarea? Până în prezent, opinia publică dă următoarea definiție acestui concept și conceptelor sale:

  • Informațiile și datele sunt conceptele de bază folosite în informatică.
  • Datele reprezintă un anumit mod de a primi și de a înregistra observații în raport cu realitatea înconjurătoare.
  • Sunt simple și complexe (structuri), primare și secundare.
  • O bază de date este o colecție de materiale independente prezentate într-un mod sistematic, astfel încât să poată fi găsite, modificate și utilizate.

Cât de obiectiv este acesta? Autorii autoritariasa cred. Practica reală tinde să se asigure că fiecare domeniu de studiu determină sistemul corect de date și oferă toate oportunitățile de a construi un model dinamic bun.

Nu este neobișnuit ca un client (consumator) să-și impună propria părere unui programator (designer de baze de date) despre cum și ce să facă. Din punct de vedere al programării, orice dorință a clientului poate fi îndeplinită cu cea mai mare precizie.

Nevoie Oracle pentru a rezolva problema bugetării pentru întreținerea alimentării cu apă rurală (cladirea 21 din sat) - bine. MySQL este necesar pentru a organiza un sistem de urmărire a trimiterilor poștale pentru toate oficiile poștale din Rusia - totul va funcționa și el.

Puteți oricând să compuneți orice algoritm și să oferiți acces la orice reprezentare a informațiilor în cadrul definiției conceptului de date, care este stabilit de dezvoltatorul sistemului de management al bazei de date sau al limbajului de programare. Întrebarea este diferită: cum să o faci cu costuri minime în dinamică maximă?

Baze de date, exemple

Se creează o bază simplă fără model. Conceptele de bază de date și comunicare sunt mici, funcționalitatea este foarte simplă. De exemplu, pentru o instituție de învățământ superior aveți nevoie de:

  • tabel de profesori;
  • tabel de grup (cheie și număr de grup);
  • tabel general al studenților (se folosesc cheile de grup).

Decanul vrea să cunoască progresul profesorilor. Tabelul profesorilor are câmpuri:

  • nume;
  • nume;
  • patronimic;
  • număr de grup supravegheat.

Tabelul student are câmpuri:

  • nume;
  • nume;
  • patronimic;
  • data nașterii;
  • GPA (pentru toate subiectele);
  • număr de grup.

Pot exista cel puțin două opțiuni pentru eșantionare: folosind numele profesorului, puteți merge la numărul grupului și puteți vedea toți elevii și scorurile lor medii, sau după numele profesorului și ultimul numele studentului, puteți vedea scorul mediu al ultimului.

Baza de date simplă
Baza de date simplă

Chiar și într-o versiune atât de simplă, problemele sunt garantate și va trebui schimbat ceva. Situație: profesorul s-a îmbolnăvit, îl înlocuiește încă o lună, ceea ce înseamnă că supraveghează două grupe. Există un singur câmp sub un număr de grup în tabelul profesorului.

Pentru a rezolva problema, trebuie să adăugați un câmp duplicat. Și dacă doi se îmbolnăvesc, atunci adăugați trei câmpuri. Deci tabelul profesorilor începe să crească de la zero.

Există o altă opțiune: înlocuiți câmpul numeric al tastei de grup cu unul simbolic. Apoi, de fiecare dată când selectați, va trebui să convertiți șirul într-o secvență de taste, iar o interogare sql se va transforma în mai multe.

Un exemplu mai promițător nu este acela de a face mese, ci de a face obiecte. Atunci profesorul este un obiect și poate avea mai multe grupuri supravegheate. Dar este întotdeauna un singur obiect. Obiectul profesor are o cheie unică, dar poate avea mai multe grupuri supravegheate. Grupul are și o cheie unică. Și un student.

Toate cele trei poziții nu sunt doar disponibile în cadrul sarcinii, ci pot fi dezvoltate în continuare.

Baze orientate pe obiect

Lideri din industria informațieioferă baze de date relaționale clasice. Sunt testate de viață, funcționează, sunt sigure, de încredere și, în caz de probleme, vă permit să restaurați informații.

Bazele de date orientate pe obiecte (OODB) au început să fie dezvoltate la mijlocul anilor 1980 și, potrivit autorilor autorizați, sunt promițătoare până în prezent. Dar până acum, în afară de teoriile fundamentale și prevederile conceptuale, nu există niciun OODB care să fi obținut aceeași evaluare și distribuție ca MySQL, MS SQL Server sau Oracle în toate încarnările sale diverse.

baza de date OO
baza de date OO

Dar dacă definiția, conceptul de date, tipuri, atribute, clase, ierarhii este propusă de un dezvoltator al cărui rating este insuficient pentru a crea o comunitate de programatori care profesează mentalitatea acestui OODB? Va trebui să ne bazăm pe propriile noastre forțe.

Peste treizeci de variante de OODB au fost create în mediul Linux. Dar unde este garanția că baza de date creată nu va necesita mai multe funcționalități? Mediul Windows nu oferă prea multe garanții în acest domeniu.

Soluție orientată pe obiect

Totuși, există o soluție. Folosind MySQL ca exemplu, puteți arăta cum tabelele relaționale standard se transformă într-un model orientat pe obiecte al problemei care este rezolvată.

Un exemplu de propriul OODB
Un exemplu de propriul OODB

Nu există nicio bază de date aici, dar există un mediu pentru formarea propriului sistem de obiecte. Puterea MySQL este folosită doar ca memorie relațională pentru tabelele din rândurile de informații. Logica de utilizare este determinată de însuși dezvoltatorul. În special, există un tabel is_cache. Are de toatemai multe câmpuri de bază:

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

Restul câmpurilor au funcții de service. Acest tabel se află la intrarea oricărei cereri și înregistrează sosirea acesteia. Ceea ce va funcționa modelul bazei de date este determinat de dezvoltatorul său. Ceea ce se va potrivi în câmpul de conținut (a_contents) este determinat de obiectele modelului creat de dezvoltator.

Există patru lucruri în această idee: accesare, sesiune de accesare, cod istoric de accesări și conținut specific. Ce este un apel, ce sistem de obiecte ar trebui construit - este determinat de dezvoltator. Ceea ce se înțelege prin sesiune (proces de lucru) este determinat de dezvoltator. Codul istoric este capacitatea de a derula înapoi în cazul solicitărilor.

Tabelele de aici nu au nicio legătură cu tematica. Există un controler de apeluri (is_cache), există înregistrare (is_customs), există un istoric de apeluri (is_histories). Tabelele rămase sunt determinate de sarcina rezolvată.

De fapt, această soluție sugerează să vă creați propriul OODB pe baza modelului de bază de date de domeniu construit și a problemei care se rezolvă. Există un plus imens aici - acesta este propriul tău concept de date, propriul tău model de prezentare și relația dintre ele. Există o bază aici - o bază de date relațională grozavă. Nu vor fi probleme să cauți ceva și să înțelegi greșit ceva.

Model: sistem de obiecte + DBMS

Este aproape imposibil să schimbi ceva în tehnologia informației. Adevărata revoluție informațională este încă departe. conștiință profesionalădezvoltatorii de software nu vor schimba tradițiile clasice. Dar există încă o cale de ieșire din situație.

Soluția ideală
Soluția ideală

Folosind sisteme moderne fiabile de gestionare a bazelor de date ca bază pentru crearea unui mediu pentru existența propriului model, puteți obține un succes vizibil.

În orice caz, va trebui să construiți o vedere sau un model de date pentru a rezolva sarcina, dar trebuie să o faceți corect: să fie un sistem de obiecte, iar un SGBD bun să fie mediul său.

Recomandat: