Koncept podataka: definicija, primjeri

Sadržaj:

Koncept podataka: definicija, primjeri
Koncept podataka: definicija, primjeri
Anonim

Podaci se obično povezuju s programiranjem iu suvremenom informacijskom svijetu predstavljeni su u tri logički ekvivalentne verzije: podaci opisani i korišteni u programu u programskom jeziku; podaci u sustavima baza podataka; podataka u distribuiranim informacijskim sustavima. Moderno programiranje dalo je relativnu slobodu samo prvoj varijanti formalizacije informacija. Druge dvije opcije su manje-više pouzdani oblici pružanja informacija i odnosa između njegovih komponenti.

Podaci prošli i sadašnji

Osnovna pozicija programskih jezika je točan opis podataka i algoritama. Računala ne "predstavljaju" nikakve šanse za neizvjesnost: postoji nešto na što treba djelovati, a postoji naredba koja izvodi tu radnju.

Moderni koncept temelji se na mnogo višim temeljima: postoji datost, a što će točno biti određeno je na mjestu njezine upotrebe. U svakom slučaju, u trenutku korištenja, podaci se automatski provjeravaju i pretvaraju u ispravnu vrstu. Suvremeni programer nije dužan voditi računa o njihovom preliminarnom opisu i poštivanju kompatibilnosti tipova u algoritmu.

Prošli i sadašnji podaci
Prošli i sadašnji podaci

Proces prijelaza:

  • iz upisanih podataka i njihovog obveznog opisa prije upotrebe;
  • na neupisane podatke i slobodu od bilo kakve obveze opisivanja i korištenja.

Zapravo, možemo prepoznati relativnu relaksaciju zahtjeva formalizacije - dostupna je samo u okruženju modernih programskih alata. Tijekom izvođenja, tip svakog datuma je fiksiran, a slijed naredbi je dobro definiran.

Vrste i modeliranje

Matematika i fizika, trgovina i proizvodnja, ekonomija i druga područja gdje se koriste brojevi, uvijek su operirali podacima i nisu pridavali nikakvu važnost konceptu tipa. Činjenica da brojevi mogu biti cijeli ili razlomci zapravo nije bila važna.

Svaka specifična formula ili određena radnja može dati cijeli broj, beskonačni razlomak, realan ili kompleksan broj. Do sada postoje takva čuda uma kao što su beskonačno mala i beskonačno velika. Štoviše, ova čuda čak imaju svojstva.

Još uvijek nema slobode u programiranju. Sve mora biti strogo formalizirano. Koncept podataka je, prije svega, tip:

  • cijeli broj;
  • boolean;
  • char;
  • string i tako dalje.

Nazivi tipova mogu se razlikovati u različitim programskim jezicima, ali uvijek postoji cijeli ili realni broj, booleova vrijednost, simbol,crta. Još su preostale relikvije i specifične ideje: neoznačeni cijeli broj, kod, bajt, riječ, dvostruka riječ, niz fiksne duljine.

Relikvije i ideje
Relikvije i ideje

Koncept podataka u podatkovnom sustavu nema slobode. Jezik SQL - "međunarodni" (postoji dijalekt za svaku modernu bazu podataka) - ne tolerira nikakve netočnosti ne samo u podacima, već i u sql upitima. Pogreška u zahtjevu jamstvo je izostanka rezultata. O kršenju opisa uopće ne treba govoriti.

Modeliranje informacijskih procesa i prikaza podataka jedini je siguran način za izgradnju strukture koja se može razvijati i prilagođavati promjenjivim uvjetima.

Dinamika originala

Prirodne informacije su kontinuirane promjene. Dati formalni opis i koncept modela podataka u određenom predmetnom području znači riješiti tri problema:

  • definirajte koji su podaci ovdje;
  • formalizirajte odnos među njima;
  • opišite procese za promjenu podataka i odnosa.

Primjer skupa podataka jednostavnog algoritma u JavaScriptu - smanjena kopija modela čak i najsolidnijeg sustava upravljanja bazom podataka.

Samo u drugom slučaju, stručnjaci i stručnjaci, prilikom dizajniranja struktura podataka, tablica i relacija, obično ne vide (stvarno je teško pokriti veliku količinu prirodnih informacija) bit stvari, i dobiva se glomazan, nerazvijen skup gomila podataka, dok izvorne informacije u predmetnom području kruže slobodno i lako.

Statičnimoguće

Uobičajena je JavaScript praksa uključiti kod priložen stranici i funkcije dodijeljene događajima na oznakama stranice. U svakom slučaju, oznake stranice definiraju podatke koje određeni web resurs prihvaća, mijenja ili stvara.

Ako svoj kod za rukovanje vrlo pažljivo koncentrirate na događaje elemenata, a ne na kod stranice u cjelini, ovo je najbolji izlaz. U idealnom slučaju, kada kod ne uvodi nove podatke ili ne popravlja dostupne podatke, već se fokusira na ono što točno ima u određenom trenutku.

Zapravo, ako definirate koncept "podataka" kao minimalno statičan opis izvornih informacija i slijedite ga, onda to znači da imate šanse za uspjeh.

S obzirom na baze podataka, stvari su puno kompliciranije. Bilo koji JavaScript kod "obavlja" stranicu s funkcionalnošću. Svaka baza podataka je zbirka tablica, odnosa između njih, pohranjenih procedura, upita i funkcionalnosti dostupnih izvana.

Statičnost je problem svakog algoritma. Suvremeni koncept podataka je statičan: broj, niz, znak i tako dalje. Prilikom obrade ili pisanja u tablicu baze podataka, sve ispada glatko. Ali kada original dobiva drugu dimenziju ili značenje? Prva opcija: promijenite znak, ali veze i zahtjevi mogu odmah pasti.

Statika i objekti

Definiranje koncepta "podataka" kao objekta dramatično mijenja situaciju. Objekt ima svoju strukturu. Ovdje možete koristiti bilo koji opis bilo koje varijable. Uloga neće igrati. Objekt ima metode putem kojih su podaci dostupni. Pošto svekoristi se u području programiranja, odnosno tri osnovne metode: čitanje, pisanje, promjena. Možete dodati više za usporedbu, pretraživanje, kloniranje itd.

Tematsko područje nameće niz svojstava za svaki podatak. Dakle, ispada da se koncept podataka pretvara u svojevrsni opis koji se može dinamički mijenjati. Statičnost unutar objekta daje dinamiku izvan njega.

Promjenom kombinacije statičkih deskriptora unutar objekta, ne morate brinuti o dinamici njegovih odnosa s drugim objektima.

Programiranje i prezentacija podataka

Što su podaci? Javna svijest je već navikla na informacijsku tehnologiju, radi u oblacima i ima kontejnere u virtualnim prostorima. Sada, ne samo profesionalni programeri i korisnici, već i obični ljudi su kompetentni u pitanjima informacija i njihove upotrebe.

Javno mišljenje
Javno mišljenje

Ali što je programiranje? Do danas javno mnijenje daje sljedeću definiciju ovog pojma i njegovih pojmova:

  • Informacije i podaci su osnovni koncepti koji se koriste u informatici.
  • Podaci su na određeni način primljena i zabilježena opažanja u odnosu na okolnu stvarnost.
  • Oni su jednostavni i složeni (strukture), primarni i sekundarni.
  • Baza podataka je zbirka neovisnih materijala predstavljenih na sustavan način tako da se mogu pronaći, modificirati i koristiti.

Koliko je ovo objektivno? Autoritativni autorimislim tako. Prava praksa nastoji osigurati da svako predmetno područje odredi svoj ispravan sustav podataka i daje svaku priliku za izgradnju dobrog dinamičkog modela.

Nije neuobičajeno da kupac (potrošač) nameće vlastito mišljenje programeru (dizajneru baze podataka) o tome kako i što učiniti. Sa stajališta programiranja, svaka želja kupca može se ispuniti s najvećom preciznošću.

Treba Oracle za rješavanje problema proračuna za održavanje ruralne vodoopskrbe (zgrada 21 u selu) - dobro. MySQL je potreban za organiziranje sustava praćenja poštanskih pošiljaka za sve poštanske urede u Rusiji - također će sve raditi.

Uvijek možete sastaviti bilo koji algoritam i omogućiti pristup bilo kojem prikazu informacija unutar definicije koncepta podataka, koju je uspostavio programer sustava upravljanja bazom podataka ili programskog jezika. Pitanje je drugačije: kako to učiniti s minimalnim troškovima u maksimalnoj dinamici?

Baze podataka, primjeri

Jednostavna baza se stvara bez modela. Osnovni koncepti podataka i komunikacije su mali, funkcionalnost je vrlo jednostavna. Na primjer, za visokoškolsku ustanovu trebate:

  • stol učitelja;
  • tablica grupe (broj ključa i grupe);
  • opća tablica učenika (koriste se grupni ključevi).

Dekan želi znati napredak nastavnika. Tablica nastavnika ima polja:

  • prezime;
  • name;
  • patronim;
  • broj grupe pod nadzorom.

Studenska tablica ima polja:

  • prezime;
  • name;
  • patronim;
  • datum rođenja;
  • GPA (za sve predmete);
  • broj grupe.

Mogu postojati najmanje dvije opcije za uzorkovanje: pomoću imena nastavnika možete otići do broja grupe i vidjeti sve učenike i njihove prosječne rezultate, ili prema prezimenu nastavnika i prezimenu ime studenta, možete vidjeti prosječan rezultat posljednjeg.

Jednostavna baza podataka
Jednostavna baza podataka

Čak i u tako jednostavnoj verziji, problemi su zajamčeni i nešto će se morati mijenjati. Situacija: učitelj se razbolio, zamjenjuje ga još mjesec dana, što znači da nadgleda dvije grupe. Postoji samo jedno polje pod jednim brojem grupe u tablici nastavnika.

Da biste riješili problem, morate dodati duplikat polja. A ako se dvoje razboli, onda dodajte tri polja. Dakle, stol učitelja počinje rasti od nule.

Postoji još jedna opcija: zamijenite numeričko polje tipke grupe simboličkim. Zatim, svaki put kada odaberete, morat ćete pretvoriti niz u niz ključeva, a jedan sql upit će se pretvoriti u nekoliko.

Primjer koji više obećava nije izrada tablica, već izrada objekata. Tada je učitelj objekt, a može imati nekoliko skupina pod nadzorom. Ali to je uvijek jedan objekt. Objekt nastavnika ima jedinstveni ključ, ali može imati više nadziranih grupa. Grupa također ima jedinstveni ključ. I student.

Sve tri pozicije nisu dostupne samo unutar zadatka, već se mogu dalje razvijati.

Objektno orijentirane baze

Lideri informacijske industrijenude klasične relacijske baze podataka. Testirani su životom, rade, sigurni su, pouzdani i, u slučaju problema, omogućuju vraćanje podataka.

Objektno orijentirane baze podataka (OODB) počele su se razvijati sredinom 1980-ih i, prema autoritativnim autorima, obećavaju do danas. Ali do sada, osim temeljnih teorija i konceptualnih odredbi, ne postoji OODB koji je postigao istu ocjenu i distribuciju kao MySQL, MS SQL Server ili Oracle u svim svojim raznolikim inkarnacijama.

OO baza podataka
OO baza podataka

Ali što ako definiciju, koncept podataka, tipova, atributa, klasa, hijerarhija predlaže programer čija ocjena nije dovoljna za stvaranje zajednice programera koji ispovijedaju mentalitet ovog OODB-a? Morat ćemo se osloniti na vlastitu snagu.

U Linux okruženju stvoreno je više od trideset varijanti OODB-a. No gdje je jamstvo da stvorena baza podataka neće zahtijevati više funkcionalnosti? Windows okruženje ne nudi mnogo jamstava u ovom području.

Objektno orijentirano rješenje

Međutim, postoji rješenje. Koristeći MySQL kao primjer, možete pokazati kako se standardne relacijske tablice pretvaraju u objektno orijentirani model problema koji se rješava.

Primjer vlastitog OODB-a
Primjer vlastitog OODB-a

Ovdje ne postoji baza podataka, ali postoji okruženje za formiranje vlastitog sustava objekata. Snaga MySQL-a koristi se samo kao relacijska memorija za tablice iz redaka informacija. Logiku korištenja određuje sam programer. Konkretno, postoji tablica is_cache. Ima sveganekoliko osnovnih polja:

  • kod_vlasnika;
  • session_code;
  • h_code;
  • a_surprise;
  • a_contents.

Ostala polja nose uslužne funkcije. Ova tablica stoji na ulazu svakog zahtjeva i bilježi njegov dolazak. Što će model baze podataka raditi, određuje njegov programer. Što će stati u polje sadržaja (a_contents) određeno je objektima modela koji je izradio programer.

Postoje četiri stvari u ovoj ideji: pogodak, sesija pogodaka, kôd povijesti pogodaka i određeni sadržaj. Što je poziv, koji sustav objekata treba izgraditi - određuje programer. Što se podrazumijeva pod sesijom (radnim procesom) određuje programer. Šifra povijesti je mogućnost vraćanja na zahtjeve.

Ovdje tablice nemaju nikakve veze s predmetnim područjem. Postoji kontroler poziva (is_cache), postoji logiranje (is_customs), postoji povijest poziva (is_histories). Preostale tablice određuju se prema zadatku koji se rješava.

Zapravo, ovo rješenje predlaže stvaranje vlastitog OODB-a na temelju izgrađenog modela baze podataka domene i problema koji se rješava. Ovdje postoji veliki plus - ovo je vaš vlastiti koncept podataka, vaš vlastiti model njihove prezentacije i odnos između njih. Ovdje postoji temelj - sjajna relacijska baza podataka. Neće biti problema tražiti nešto i nešto pogrešno razumjeti.

Model: objektni sustav + DBMS

Gotovo je nemoguće bilo što promijeniti u informacijskoj tehnologiji. Prava informacijska revolucija još je daleko. profesionalna svijestprogrameri neće promijeniti klasične tradicije. Ali još uvijek postoji izlaz iz situacije.

Idealno rješenje
Idealno rješenje

Upotrebom pouzdanih modernih sustava upravljanja bazama podataka kao osnove za stvaranje okruženja za postojanje vlastitog modela, možete postići primjetan uspjeh.

U svakom slučaju, morat ćete izgraditi pogled ili podatkovni model da biste riješili zadatak, ali to morate učiniti ispravno: neka to bude sustav objekata, a dobar DBMS njegovo okruženje.

Preporučeni: