|
DATA, INFORMATIE SI CUNOSTINTA. ORGANIZAREA DATELOR IN VEDEREA PRELUCRARII AUTOMATE CU AJUTORUL CALCULATOARELOR ELECTRONICE
1.1. Conceptele de societate informationala - societate a cunoasterii. Sistem informational, sistem informatic, sistem bazat pe cunostinte.
Notiunea de societate informationala (Information Society) descrie o economie si o societate in care colectarea, stocarea, prelucrarea, transmiterea, diseminarea si utilizarea informatiilor si cunostintelor, inclusiv dezvoltarea tehnicilor de comunicatie interactiva, au un rol decisiv. Factorii semnificativi in aceasta dezvoltare sunt: inalta tehnologie (HighTech), industria, lumea lucrului (Work World), precum si toate formele de cultura in societate. Societatea informatica este o parte a societatii informationale care foloseste progresele tehnicii de calcul in toate domeniile de activitate economico-sociala.
Societatea bazata pe cunostinte (Knowledge-Based Society) este o parte a societatii informatice care utilizeaza tehnologiile informatiei si ale comunicatiilor (IT&C) preponderent pentru prelucrarea datelor sub forma de cunostinte. Considerand un nivel superior (pe modelul de dezvoltare in spirala al societatii umane), cel mai cuprinzator concept este cel de societate a cunoasterii (Knowledge Society). Societatea cunoasterii este fundamentata pe acumularea si utilizarea de date sub forma de informatii si cunostinte la nivel social. Dupa acad. Mihai Draganescu, societatea cunoasterii reprezinta mai mult decat societatea informationala si decat societatea informatica, inglobandu-le de fapt pe acestea. Societatea cunoasterii foloseste piese (pieces) ale cunoasterii[1].
Societatea informationala are la baza sistemele informationale, societatea informatica - sistemele informatice, iar societatea bazata pe cunostinte se fundamenteaza pe sistemele bazate pe cunostinte (Knowledge-Based Systems). Sintagma folosita de Romano Prodi, fostul presedinte al Comisiei Europene, este de economie bazata pe cunostinte (Knowledge-Based Economy, KBE); aceasta KBE reprezinta cea mai rafinata parte a noii economii (New Economy), prin noua economie intelegand economia specifica societatii informationale - societatii cunoasterii (SI - SC).
Sistemul este un ansamblu de elemente dependente (componente, principii, reguli, relatii, etc.) care formeaza un intreg organizat, pe baza unui plan prestabilit, cu scopul realizarii unui anumit obiectiv. Sistemul informational reprezinta acel sistem de prelucrare a informatiilor, impreuna cu resursele organizationale asociate, cum sunt resursele umane, tehnice si financiare ce furnizeaza si distribuie informatia. Sistemul informatic reprezinta partea automatizata a sistemului informational ce realizeaza prelucrarea datelor si informatiilor folosind un sistem de calcul; este un ansamblu de echipamente si programe pe calculator (software) care asigura prelucrarea datelor.
Sistemul bazat pe cunostinte este o parte a sistemului informatic care proceseaza cunostinte intr-o cantitate determinanta si semnificativa.
Cunostinta este informatie cu inteles si informatie care actioneaza1. Cunostinta semnifica ceea ce este cunoscut. Intr-o alta perceptie, cunostintele sunt informatii dobandite prin instruire (educatie) si practica (experienta). La modul general, datele sunt reprezentate conventional prin numere, marimi, relatii etc. si sunt folosite la rezolvarea problemelor sau sunt obtinute printr-o activitate de cercetare.
Informatia reprezinta elementele de noutate despre un fenomen, proces etc. Noutatea caracteristica notiunii de informatie este perceputa de utilizator numai in momentul intrarii in contact cu aceasta informatie. Ca urmare, din punct de vedere informatic, datele sunt informatii sau cunostinte reprezentate simbolic si inregistrate in vederea gestionarii (evidentei) si/sau prelucrarii. Rezultatul prelucrarii este tot o data care, prin interpretare, se transforma initial in informatie si apoi (nu intotdeauna) in cunostinta.
1.2 Data, informatie si cunostinta
Caracterul de data, informatie sau cunostinta este relativ (adica se schimba in functie de contextul ce defineste insusirea de noutate pentru informatie si de inteles si utilitate prin actiune pentru cunostinta).
"Oceanul" informational actual necesita nu numai eforturi de stocare a datelor, informatiilor si cunostintelor, dar mai cu seama de selectie, la momentul oportun a celor mai relevante si utile dintre acestea.
Se reaminteste faptul ca informatica este stiinta prelucrarii automate a datelor.
Informatica de gestiune este acea parte a informaticii care prelucreaza automat datele de evidenta si control vehiculate in cadrul unei organizatii economice. Ca urmare, esenta tuturor sistemelor informatice prezentate mai sus este gestionarea datelor care, interpretate de factorul uman, devin uneori, asa cum s-a aratat in acest paragraf, informatii sau cunostinte.
1.3 Notiuni fundamentale utilizate in organizarea datelor
Datele sunt stocate in memoria interna si memoria externa a oricarui sistem de calcul. Organizarea datelor se refera la procesul de definire si structurare a datelor in colectii de date, precum si la realizarea legaturilor intre elementele unei colectii si intre colectiile de date. Organizarea datelor se proiecteaza in scopul regasirii automate a acestora dupa diverse criterii.
Obiectivele organizarii datelor sunt, in principal, urmatoarele:
. timp de acces minim la date;
. aparitia o singura data a datelor in sistem;
. spatiu de memorie interna si externa pentru date cat mai mic;
. reflectarea prin organizare a tuturor legaturilor dintre procesele economice pe care aceste date le reprezinta;
. posibilitatea modificarii structurii datelor si a relatiilor dintre date fara a produce schimbari in programele care le gestioneaza.
Tehnicile de organizare a datelor in colectii de date sunt: fisierul de date si baza de date.
Fisierul de date reprezinta o colectie de date memorata pe un suport tehnic intr-o succesiune de inregistrari. Accesul la o inregistrare din fisierul de date se obtine prin parcurgerea inregistrarilor fisierului in secventa in care au fost stocate (acces secvential) sau pe baza unei chei de identificare care sa permita regasirea rapida a inregistrarii (acces direct). Accesul direct se obtine prin indexarea fisierelor, adica prin crearea unor tabele de indecsi care pentru fiecare valoare a atributului cheie primara (atribut care permite identificarea in mod unic a unei inregistrari din fisier) sa contina adresa corespunzatoare (in cadrul fisierului) a fiecarei inregistrari.
Cresterea necesarului de date, informatii si cunostinte pentru agentii economici si progresele tehnologiilor informatiei si ale comunicatiilor (IT&C) au determinat organizarea datelor in baze de date. O baza de date este un fisier format din inregistrari (records) sau randuri, fiecare continand campuri (fields) sau coloane, si o multime de operatii de cautare, sortare, recombinare etc.
In proiectarea si intelegerea unui sistem informatic, organizarea datelor reprezinta o etapa fundamentala care presupune:
1) definirea, structurarea, ordonarea si gruparea datelor in colectii de date
omogene
2) stabilirea legaturilor intre date, intre elementele unei colectii de date si intre
colectiile de date, dupa o ierarhie bine precizata;
3) memorarea datelor pe un suport informational prelucrabil intr-un sistem de
calcul.
Notiunile fundamentale folosite in organizarea datelor sunt entitatea, atributul si valoarea. Intre acestea exista legaturi de interdependenta astfel:
o entitate are mai multe atribute, iar atributele au o anumita multime de valori;
entitatea reprezinta un obiect concret sau abstract definit prin proprietatile sale;
orice proprietate a unui obiect este exprimata printr-o pereche (ATRIBUT,VALOARE).
Exemple:
a) "materialul M are lungimea mare", unde "lungimea" este atributul, iar "mare"
este valoarea (LUNGIMEA, MARE);
b) un client - persoana fizica al unei societati comerciale poate fi reprezentat prin
multimea de perechi: (NUME, POPESCU); (PRENUME, ION); (LOCALITATE,
TG. JIU); (TELEFON, 0253211231); (BANCA, BCR); (CONT_BANCAR,
RO15RZBR0000070002170022).
Multimea atributelor M_ATR = (NUME, PRENUME, LOCALITATE, TELEFON, BANCA, CONT_BANCAR) poate fi asociata mai multor clienti ai societatii comerciale. Ca urmare, atributele nu caracterizeaza doar o entitate, ci o clasa de entitati care este denumita entitate de grup. Elementele unei entitati de grup prezinta drept caracteristica aceeasi multime de atribute. Ca urmare, entitatile din cadrul unei entitati de grup sunt de acelasi tip, definindu-se astfel un tip de entitate.
Atributul este denumit si camp sau caracteristica. Un camp poate lua o anumita clasa de valori, fiind caracterizat de natura acestei clase de valori (de exemplu, atributul este numeric daca ia valori numerice, atributul este alfanumeric daca clasa de valori este reprezentata de siruri de caractere etc.).
Atributele compuse se obtin prin concatenarea mai multor atribute elementare.
Atributul care identifica in mod unic o entitate se numeste atribut-cheie.
Caracteristicile care nu identifica in mod unic o entitate se numesc atribute non-cheie.
Din punctul de vedere al compunerii, datele se clasifica in:
. date elementare sau scalare, adica data nu se mai divide in raport cu informatia
sau cunostinta pe care o reprezinta;
. date compuse, adica formate din mai multe date elementare.
Din punct de vedere logic, o data este definita prin identificator, atribut si valoare.
De exemplu:
MATERIAL - identificator
PRET_UNITAR - atribut
120000 - valoare
Din punct de vedere fizic, unei date ii corespunde o zona de memorie de o anumita marime care se afla la o adresa absoluta.
1.4. Relatiile dintre date
Intre date exista relatii sau legaturi diferite. Intre datele care apartin unor tipuri de entitati se pot realiza doua feluri de legaturi:
. prima legatura se exprima prin apartenenta datelor la entitate;
. a doua legatura se defineste pentru entitatile de acelasi tip sau de tipuri diferite.
Exemple:
a. Daca se noteaza cu SALARIATI multimea salariatilor unei societati comerciale, intre datele a1 si a2 ce apartin acestei multimi, se pot defini relatii de tipul:
a1 are aceeasi functie de incadrare cu a2;
a1 are acelasi salariu cu a2;
a1 are aceeasi varsta cu a2 etc.
b. Se considera doua clase de entitati: PRODUSE_BANCARE si CLIENTI. Intre datele acestor doua clase de entitati se pot defini relatiile:
un produs bancar poate fi achizitionat de unul sau mai multi clienti ai bancii;
un client al bancii poate achizitiona unul sau mai multe produse bancare.
1.5. Structuri de date
Structura de date este o colectie de date intre care s-au stabilit un ansamblu de relatii pe baza carora functioneaza un mecanism de selectie si identificare a componentelor. Multimea de date, asociata structurii de date, poate cuprinde datele unui tip sau ale mai multor tipuri de entitati. Componentele structurii se identifica prin nume sau prin pozitia pe care o detin in structura in raport cu ordinea specificata.
In situatia in care pentru localizarea unei componente se parcurg toate celelalte componente dinaintea ei, structura are acces secvential. In schimb, atunci cand o componenta poate fi selectata fara a tine seama de celelalte, structura are acces direct.
Componentele unei structuri de date sunt date elementare sau sunt ele insele structuri de date.
Asupra unei structuri de date se pot efectua urmatoarele operatii:
. crearea (inseamna memorarea datelor initiale pe suportul de stocare);
. actualizarea (schimbarea starii structurii prin adaugare, modificare sau stergere
de elemente, modificarea valorii sau relatiilor dintre elemente);
. consultarea (accesarea componentelor structurii de date);
. sortarea (aranjarea elementelor unei structuri de date in conformitate cu criterii
prestabilite);
. ventilarea (divizarea unei structuri de date in doua sau mai multe structuri de
date);
. fuzionarea (formarea unei structuri de date noi din doua sau mai multe structuri
de date) etc.
Structurile de date care prezinta aceeasi organizare si asupra carora se executa aceleasi operatii formeaza un anumit tip de structuri de date. Tipul de structura de date reprezinta o multime ordonata de date intre care s-au stabilit anumite relatii si pentru care realizarea operatiilor se efectueaza cu un grup de operatori de baza care au o anumita semantica.
Daca se ia in considerare tipul componentelor, structurile de date se clasifica in omogene (componentele sunt de acelasi tip) si eterogene (componentele au tipuri diferite).
Cand structura de date se descompune in structuri de date de acelasi tip, atunci structura obtinuta este denumita recursiva.
Dupa nivelul de structurare al datelor, se deosebesc structura fizica (structura de date care se refera la modul de implementare pe suporti tehnici informationali) si structura logica (modul de ordonare a datelor si modul de folosire a operatorilor de tratare a datelor).
Daca se ia in considerare posibilitatea modificarii valorilor si a structurilor, se identifica structuri statice (pe tot parcursul existentei acestora prezinta acelasi numar de componente si in aceeasi ordine (adica au cardinalitate finita, prin cardinalitate intelegand numarul elementelor multimii)) si structuri dinamice (permit modificarea valorilor si a structurii de date prin aplicarea unor operatori; aceste structuri de date au cardinalitate infinita deoarece prezinta un numar nelimitat de componente).
O structura logica poate fi implementata atat ca structura statica, cat si ca structura dinamica. Exista insa si structuri logice ce nu pot fi implementate static. In organizarea datelor trebuie definita atat structura logica, cat si cea fizica, deoarece cele doua nivele se conditioneaza reciproc.
Din punctul de vedere al tipului de structura de date, se deosebesc:
structura de date punctuala (o entitate de grup izolata);
structura de date liniara (primul element nu are predecesori; ultimul element nu are succesori; intre date se stabilesc relatii de tipul "unu-la-unu"; cand ultimul element coincide cu primul element, structura liniara devine structura circulara sau inelara);
structura de date arborescenta (este denumita si structura de date ierarhica sau descendenta; exista un element unic care este denumit nodul radacina (root node);orice nod diferit de nodul radacina prezinta un predecesor imediat unic; orice nod care nu este terminal prezinta un numar finit de succesori imediati; intre noduri se stabilesc relatii de tipul "unu-la-multi");
structura de date retea (acest tip de structura de date se defineste cand exista o relatie de preordine intre elementele colectiei de date; un nod prezinta mai multi predecesori; un nod poate fi predecesor pentru propriul sau predecesor; intre elementele retelei se stabilesc relatii de tipul "multi-la-multi");
structura de date relationala (acest tip de structura de date este formata din mai multe tabele, relatii sau tablouri de date elementare).
Datele si structurile de date pot fi predefinite sau definite de utilizator.
Structurile de date se folosesc, in special, in programare, iar unele dintre ele sunt fundamentale si in teoria bazelor de date (cum este, de exemplu, tabloul sau tabelul (table), care este folosit in structurarea bazelor de date relationale).
1.6. Modele de date
Modelarea datelor serveste pentru prelucrarea datelor cu ajutorul calculatorului electronic. Definirea unui model de date cuprinde urmatoarele:
structura modelului
operatorii care se utilizeaza la manipularea structurilor de date;
stabilirea regulilor de integritate pentru mentinerea corectitudinii datelor.
Definirea structurii modelului cuprinde definirea obiectelor (entitatilor) si a caracteristicilor asociate (atributelor). Se utilizeaza urmatoarele elemente: campul (cel mai mic element al structurii) grupul simplu sau compus (set compus din campuri multiple si grupuri) si inregistrarea (ansamblu de campuri sau grupuri care constituie si elementul generic al structurii). Relatiile dintre inregistrarile unei entitati (obiect) sau mai multor entitati (obiecte) independente se materializeaza intr-o legatura dintre o realizare a inregistrarii parinte si una sau mai multe realizari ale inregistrarii copil. Prin entitate se intelege un obiect al universului real ce este supus modelarii, obiect care este caracterizat de o identitate proprie, de o existenta proprie si de o familie de caracteristici care semnifica proprietatile acestui obiect. Relatiile sunt denumite si asocieri.
Pentru realizarea unei reprezentari grafice (sub forma de diagrame) a structurii modelului se utilizeaza tehnica entitate-asociere care consta in identificarea componentelor (entitatilor), identificarea asocierilor dintre entitati si codificarea lor, identificarea atributelor si precizarea atributelor de identificare a entitatilor. Fiecare entitate prezinta mai multe realizari. Legaturile dintre entitati sunt reprezentate prin arce neorientate sau orientate (figura 1) care stabilesc legatura intre nodurile ce reprezinta entitatile participante la asociere. Semnificatia legaturii este exprimata printr-un nume acordat legaturii. Legatura se reprezinta cu un nod eticheta (sub forma de romb) dispus pe arc ca nod intermediar.
Tipul sau forma legaturii se evidentiaza cu ajutorul cardinalitatii. In figura 1 este reprezentata grafic cardinalitatea legaturii intre CLIENTI - PRODUSE. Cardinalitatea legaturilor semnifica numarul minim si numarul maxim de realizari (instante) de entitate care pot fi asociate cu o realizare a partenerului de asociere. Cardinalitatea se reprezinta prin perechi de numere, cate o pereche pentru fiecare entitate din cadrul legaturii. Din figura 1 se observa ca un anumit produs poate fi achizitionat de mai multi clienti si un client poate cumpara mai multe produse. Perechea (1,n) este asociata entitatii CLIENTI si semnifica faptul ca un client poate sa achizitioneze un produs sau poate sa achizitioneze mai multe produse. Perechea (0,n) este asociata entitatii PRODUSE si semnifica faptul ca un produs poate sa nu fie achizitionat de nici un client sau poate sa fie achizitionat de mai multi clienti.
Baza de date cuprinde structurile de date si relatiile logico-functionale intre aceste structuri. Relatiile astfel constituite pot fi binare sau n-are.
Relatiile binare sunt stabilite prin existenta unui domeniu, a unui codomeniu si a unei corespondente intre elementele domeniului si ale codomeniului. Exista 4 tipuri de relatii binare:
a). relatii de tip 1-1, numite si "unu la unu" (one to one);
b). relatii de tip 1-n, numite si "unu la multi" (one to many);
c). relatii de tip n-1, numite si "multi la unu" (many to one);
d). relatii de tip n-m, numite si "multi la multi" (many to many).
a). Relatiile de tip 1-1 corespund asocierilor biunivoce dintre o realizare din domeniu cu o realizare din codomeniu.
Exemplu:
NR. AUTOCAMION NR. KM. PARCURSI
GJ-25-FSM . 53000
GJ-55-GSH . 123000
b). Relatiile de tip 1-n corespund asocierii unei realizari din domeniu cu mai multe realizari din codomeniu.
Exemplu:
CONTURI SISTETICE CONTURI ANALITICE
101▪ ▪ 1011
▪ 1012
532 ▪ ▪ 5321
▪ 5322
▪ 5323
c). Relatiile de tip n-1 corespund asocierii mai multor realizari din domeniu cu o singura realizare din codomeniu.
Exemplu:
PRODUSE FURNIZORI
P1 ▪ ▪ F1
P2 ▪
P3 ▪ ▪ F1
P4 ▪
D). Relatiile de tip m-n corespund asocierii mai multor realizari din domeniu cu mai multe realizari din codomeniu.
Exemplu:
UNITATI PRODUCTIVE UNITATI COMERCIALE
UP1 ▪ ▪ UC1
UP2 ▪ ▪ UC2
UP3 ▪ ▪ UC3
Relatiile n-are sunt constituite din i caracteristici (atribute) apartinand nunui numar de n realizari.
Exemplu:
Cele n realizari Cele i caracteristici
POPESCU ION . 25 ani - 2 copii - 870 lei/luna
GEORGESCU N. . 40 ani - 1 copil - 11200 lei/luna
ZAMFIR E. .. 32 ani - 2 copii - 9250 lei/luna
Asemenea realizari trebuie sa fie "atomice", adica sa posede o caracteristica distinctiva fata de oricare alta realizare, oferind posibilitatea identificarii unice in cadrul multimii realizarilor din baza de date. Daca de exemplu prin "nume si prenume" nu se poate obtine o astfel de unicitate, cheia atomizarii va fi proiectata prin "marca de salariat" sau prin codul numeric personal.
Atributele reprezinta proprietati distincte ale entitatilor, insa ele se pot referi si la asocierile dintre entitati. Dupa complexitate, atributele se clasifica in atribute simple sau elementare si in atribute complexe (compuse din mai multe atribute elementare). Dupa realizarile pe care le pot prezenta atributele, acestea pot fi monovaloare, multivaloare, obligatorii sau optionale. Un atribut de identificare este denumit cheie, atunci cand este caracterizat prin unicitatea valorii sale pentru fiecare instanta a entitatii (de exemplu,cod_client pentru entitatea CLIENTI, cod_produs, pentru entitatea PRODUSE.
Atributele cheie se marcheaza prin subliniere sau printr-o sageata spre entitatea careia ii apartin.
Operatorii utilizati in modelele de date sunt citire, memorare, modificare, jonctiune etc. Pentru asigurarea corectitudinii datelor se folosesc reguli de integritate.
Avand in vedere statutul functional al realtiilor in cadrul bazelor de date, in evolutia proiectarii acestora au fost concepute diverse modele de reprezentare a datelor Cele mai importante modele de date sunt:
o modelul ierarhic;
o modelul retea;
o modelul relational;
o modelul obiect;
o modelul obiect-relational.
Modelul ierarhic contine ca structuri de baza tipuri de inregistrari care grupeaza toate atributele unei entitati. Acest model poseda ierarhia ca tip de structura. Aceasta ierarhie dispune de un tip de inregistrare definit ca radacina/root si mai multe tipuri de inregistrari subordonate, legate sub forma de arbore, motiv pentru care modelul este denumit si arborescent.
Nodul din arbore care nu este radacina sau nod final, are un singur nod superior si unul sau mai multe noduri inferioare. Legatura de la un nod superior la unul inferior este de tipul 1-m, iar legatura de la un nod inferior la unul superior este de tipul 1-1.
Datorita existentei celor doua structuri, modelul ofera operatori separati si anume:
operatori de citire pentru tipul de inregistrare;
operatori de citire pentru tipul ierarhie;
operatori de memorare pentru tipuri de inregistrari;
operatori de memorare pentru ierarhie
In cazul modelului retea, datele sunt reprezentate ca la modelul ierarhic, cu deosebirea ca fiecare inferior poate avea mai multi superiori. Structurile specifice modelului retea pot sa fie tipul de inregistrari (asigura atributele unei entitati) si tipul de set (asigura legaturile intre tipurile de inregistrare).
Modelul relational este fundamentat pe teoria matematica a relatiilor, caracterizandu-se printr-o singura structura de date si anume relatia sau tabelul. Un astfel de model poate fi perceput ca o multime de tabele obtinute prin metoda normalizarii.
Normalizarea porneste de la o multime de atribute sau campuri de date si de la o multime de dependente functionale dintre atribute. Normalizarea permite obtinerea unei scheme conceptuale a modelului relational intr-o forma normalizata in care se elimina anomaliile de actualizare.
Modelul orientat obiect este bazat pe structura denumita clasa de obiecte ce este definita prin abstractizare din entitatile desemnate.
Modelul obiect-relational este destinat sa imbogateasca modelul relational cu sistemul conceptelor modelului obiect.
[1] Mihai Draganescu - De la societatea informationala la societatea cunoasterii, Ed. Tehnica, Bucuresti, 2003