Examen Specialitate

download Examen Specialitate

of 80

description

Examen Cibernetica Asem

Transcript of Examen Specialitate

L I S T A

CUPRINS5PROGRAMAREA CALCULATOARELOR Berzan Stefan

51. Tipuri de date, operatori, conversii de date C/C++

52. Instruciuni C/C++

63. Funcii n C/C++, definirea, prototip, apel, transmitere parametri

64. Pointeri i tablouri n C/C++

75. Tipuri de date definite de utilizator n C/C++

86. Clase i obiecte n C/C++

98. Principii OOP: incapsulare, instaniere, polimorfism

10BAZE DE DATE Cotelea Vitalie

101. Noiunile Baz de Date, SGBD. Modelele logice de date: ierarhic, reea, relaional. Etapele de proiectare a unei baze de date. Algebra relaional. Interogri n algebra relaional.

122. Componentele generale ale limbajului SQL: Definirea schemei bazei de date. Interogarea bazei de date. Definirea accesului i permiselor la date.

14TELEINFORMATICA Bolun Ion

141. Reele de transport date.

152. Reele locale de calculatoare.

163. Asigurarea veridicitii transportului de date n reele.

164. Modelele arhitecturale de reea OSI ISO i TCP/IP.

185. Tehnologii de reea de arie larg.

19TEHNOLOGIA PRELUCRRII AUTOMATIZATE A INFORMAIEI ECONOMICE Costa Ilie

191. Tehnologia informaional: caracteristica calitativ, criteriile calitii, restricii.

192. Bazele estimaiei soluiilor de proiect n domeniul elaborrii procesului tehnologic informaional. Alegerea variantei optime a procesului tehnologic informaional.

213. Tehnologii informaionale centralizate i descentralizate. Corelarea dintre nivelurile de centralizare i descentralizare.

214. Tehnologia neformularist n sisteme informatice economice. Esena, starea i condiiile realizrii.

22SISTEME INFORMATICE ECONOMICE Zacon Tamara

221. Sistem informaional i sistem informatic. Definiii, relaii.

222. Clasificarea SIE: Criterii de clasificare, categorii.

233. Structura general a unui sistem informatic economic (SIE).

234. Structura organizatoric a unui sistem informatic economic (SIE)

245. Structura funcional a unui sistem informatic economic (SIE).

257. Funciile unui sistem informatic economic (SIE).

258. Principii recomandate la proiectarea sistemelor informatice economice.

269. Strategii de realizare a sistemelor informatice economice.

2710. Prezentarea general a ciclului de via al unui sistem informatic economic.

2711. Analiza sistemului informaional.

2812. Proiectarea general a unui sistem informatic.

3013. Proiectarea de detaliu a unui sistem informatic.

3014. Implementarea i exploatarea SIE.

3015. Proiectarea ieirilor unui SI: categorii, cerine, etape.

3016. Codificarea atributelor: Cerinele i funciile codificrii. Tipurile de coduri utilizate ntr-un SIE.

3117. Proiectarea intrrilor SIE. Tipurile de documente de intrare. Modificrile de format i coninut.

3118. Proiectarea bazei informaionale (BI) a unui sistem informatic (SI).

3119. Standardul ISO/IEC privind ciclul de via al SI.

3220. Metode de abordare a SI.

3321. Modele ale ciclului de via al dezvoltrii sistemelor informatice (CVDSI).

3422. Evaluarea cheltuielilor de realizare i exploatare a SI .

3423. Conceptul de eficien economic a SIE. Indicatorii eficienei economice.

3524. Ci i mijloace de cretere a eficienei economice a sistemelor informatice.

35CERCETRI OPERAIONALE Bril Alexandru

351. Etapele principale ale cercetrii operaionale. Obiectivele i criteriile de eficien a problemelor decizionale.

352. Clasificarea problemelor cercetrii operaionale: probleme decizionale n condiii de certitudine, risc i incertitudine. Regulile decizionale n condiii de incertitudine i risc.

363. Modele liniare ale problemelor de cercetare operaional: exemple de probleme; modele matematice ale lor.

384. Probleme de programare liniar (PPL); formele de prezentare. Noiune de soluie (soluie admisibil; soluie de baz; soluie de reper i soluie optim).

395. Proprietile fundamentale ale PPL; Interpretarea geometric a PPL; Metoda grafic de soluionare a PPL.

406. Metoda Simplex de soluionare a PPL.

427. Dualitatea n programarea liniar. Teoremele fundamentale ale teoriei dualitii.

428. Interpretarea economic a dualitii n programarea liniar. Preurile umbr ale factorilor de producie i rolul lor n analiza modelelor liniare.

449. Reoptimizarea; formularea problemei. Soluionarea problemei de optimizare n cazul modificrii: a) termenilor liberi ale restriciilor; b) coeficienilor funciei obiectiv.

4410. Problema de transport: modele echilibrate (nchise) i dezechilibrate (deschise) , modele matematice. Reducerea modelelor deschise la modelul nchis.

4611. Soluionarea problemei de transport prin metoda potenialelor.

4712. Modele de probleme ale programrii liniare n numere ntregi (programarea discret). Exemple de probleme ale programrii discrete. Metoda Ramific i Mrginete (Branch and Baund).

4813. Probleme multicriteriale ale programrii liniare; metode de soluionare.

4914. Probleme de optimizare pe reea: problema arborelui minim , problema drumului minim (maxim) n reea fr circuite; problema drumului minim n reea cu circuite i metode de soluionare.

5015. Metoda drumului critic (Critical Path of Method). Graful-reea i regulile principale de construire. Drumul critic i determinarea lui. Calcularea caracteristicilor de timp al grafului-reea. Semnificaia i importana caracteristicilor de timp pentru analiza grafului-reea.

5116. Teoria firelor de ateptare (teoria cozilor). Clasificarea sistemelor de servire (ateptare); Exemple. Fluxul de sosire al cererilor (comenzilor). Fluxul elementar; testul Pearson(x2) de validare a legii de repartiie a probabilitilor de tip exponenial (Poisson) a fluxului de sosire a cererilor i a timpului de servire.

5317. Procese Markov continui dup timp i discrete dup stri. Sistemul de ecuaii difereniale de tip Kolmogorov. Regim de tranziie i de echilibru (staionar).

5518. Procese moarte i renatere. Formulele Eurlang.

5619. Sisteme de ateptare cu refuz deschise i calcularea caracteristicilor principale necesare pentru analiz.

5620. Sisteme de servire (ateptare) deschise cu coad infinit; caracteristicile principale necesare pentru analiza acestor sisteme.

5621. Sisteme de ateptare nchise; caracteristicile necesare pentru analiza acestor sisteme.

56MODELAREA PROCESELOR MICROECONOMICE Bril Alexandru

561. Spaiul bunurilor i serviciilor. Pachete (colete) de bunuri i servicii accesibile consumatorului. Formularea problemei de alegere optim a pachetului de consum al consumatorului. Relaia de preferin i ipotezele principale de comportament al consumatorilor.

572. Funcia de utilitate i proprietile ei principale . Utilitile marginale ale bunurilor. Rata marginal de substituire a bunurilor (MRSij).

593. Modelul matematic al problemei de alegere optim a pachetului optim de ctre consumator i analiza lui. Consecinele principale (condiiile de echilibru) i analiza lor. Regula de comportament al consumatorului.

624. Funciile de cerere ale consumatorului. Reacia consumatorului la modificrile venitului disponibil i a preurilor. Coeficient de elasticitate al funciei de cerere. Omogenitatea funciei de cerere.

635. Reacia consumatorului la modificarea venitului. Clasificarea bunurilor i serviciilor. Curbele Tornquist i analiza lor.

656. Reacia consumatorului la modificarea preurilor. Clasificarea bunurilor i serviciilor.

657. Ecuaia lui Slutsky. Deducerea; analiza ei. Efectul substituiei i a venitului Interpretarea geometric.

668. Modelarea tehnologiei de producie. Descrierea matematic a procesului tehnologic. Procese tehnologice eficiente. Noiune de funcie de producie. Proprietile i caracteristicile principale ale funciei de producie (APj; MPj; MRSij; elasticitile; etc).

679. Funcii de producie omogene. Efectul la scar al expansiunii (extinderii) a produciei i relaia principal a acestui efect.

6710. Funciile de producie tipice, caracteristicile i proprietile lor principale (Funcii de producie (FP) liniare; FP de tip Cobb-Douglas; de tip Leontiev; de tip CES.

7011. Noiune de funcie cost. Costul mediu; costul marginal. Pragul de rentabilitate n concurena pur i perfect; situaia de monopol.

7112. Problema de maximizare a beneficiului (profitului) n condiiile concurenei perfecte; modelul i analiza ei.

7113. Funcii de ofert a produciei; funcii de cerere a factorilor de producie. Proprieti.

7114. Problema maximizrii profitului (beneficiului) n condiii de monopol; modelul i analiza problemei.

7215. Problema maximizrii profitului productorului n condiii de oligopol; variaiile anticipate. Modelul Cournot al duopolului i analiza lui.

7416. Modelul Cournot al oligopolului i analiza lui.

7417. Modelul econometric clasic. Ipotezele principale. Metoda celor mai mici ptrate (Least Squares Method (LS) de estimare a coeficientilor modelelor clasice simple i multiple

7518. Erorile standard ale estimatorilor coeficienilor modelului clasic liniar econometric. Validarea coeficienilor (Testul T (Student)), modelului (Testul F (Ficher)).

7519. Problema multicolinearitii, heteroscedasticitii i autocorelaiei. Testele de detectare i combatere ale acestor fenomene.

7820. Modele econometrice neliniare. Liniarizarea i estimarea.

7921. Problema estimrii funciilor cost i a funciilor de producie cu ajutorul metodelor econometrice.

PROGRAMAREA CALCULATOARELOR Berzan Stefan1. Tipuri de date, operatori, conversii de date C/C++Un tip de date este precizat prin:

- o mulime finit de valori corespunztoare tipului (constantele tipului)

- o mulime de operatori prin care se prelucreaz valorile tipului

- o multime de restricii de utilizare a operatorilor.

De exemplu tipul ntreg (int) este definit prin:

- mulimea valorilor reprezentnd numere ntregi (ntre -32768 i 32767)

- mulimea operatorilor : +, -, *, /, %

- mulimea restriciilor: pentru operatorul / mpritorul nu poate fi 0, etc.

Tipurile pot fi tipuri fundamentale i tipuri derivate.

Tipurile fundamentale (predefinite) sau de baz sunt:

Tipul caracter (char)

Tipuri ntregi (int, short, long)

Tipuri reale (float, double, long double)

Tipul vid (void)

Tipurile enumerate (enum)

Tipurile caracter, ntreg, real i tipurile enumerate sunt tipuri aritmetice, deoarece valorile lor pot fi interpretate ca numere.

Tipurile caracter, ntreg i enumerrile sunt tipuri ntregi.

Tipurile derivate sunt construite pornind de la tipurile fundamentale. Tipurile derivate sunt:

tablourile

funciile

pointerii

referinele

structurile (sau nregistrrile)

uniunile (nregistrrile cu variante)

n cele ce urmeaz, vom nelege prin obiect, o zon de memorie.

Declararea unui obiect specific numai proprietile obiectului, fr a aloca memorie pentru acesta.

Definirea unui obiect specific proprietile obiectului i aloc memorie pentru obiect.

Declararea obiectelor ne permite referirea la obiecte care vor fi definite ulterior n acelai fiier sau n alte fiiere care conin pri ale programului.

Un operator este un simbol care arat ce operaii se execut asupra unor operanzi (termeni).

Un operand este o constant, o variabil, un nume de funcie sau o subexpresie a crei valoare este prelucrat direct de operator sau suport n prealabil o conversie de tip.

Operatorii, dup numrul de operanzi asupra crora se aplic pot fi: unari, binari i ternari.

n C exist 45 de operatori diferii dispui pe 15 niveluri de prioritate.

n funcie de tipul operanzilor asupra crora se aplic, operatorii pot fi: aritmetici, relaionali, binari, logici, etc.

Operatorii sunt mprii n clase de preceden (sau de prioritate). n fiecare clas de preceden este stabilit o regul de asociativitate, care indic ordinea de aplicare a operatorilor din clasa respectiv: de la stnga la dreapta sau de la dreapta la stnga.

O expresie este o combinaie de operanzi, separai ntre ei prin operatori; prin evaluarea unei expresii se obine o valoare rezultat.Tipul valorii rezultat depinde de tipul operanzilor i a operatorilor folosii.

Evaluarea unei expresii poate avea efecte laterale, manifestate prin modificarea valorii unor variabile.

Valorile pot fi convertite de la un tip la altul. Conversia poate fi implicit sau realizat n mod explicit de ctre programator (cast).2. Instruciuni C/C++Instructiuni in limbajul C

Limbajul C dispune de un set bogat de instruciuni care permit scrierea de programe structurate, programe flexibile, programe compacte. Ca o caracteristic sintactic toateinstruciunile limbajului se termin prin caracterul ;, excepie fcnd instruciunile care setermin cu acolada nchis.

INSTRUCIUNEA VID

Instruciunea vid se reduce la caracterul ;. Eanu are nici un efect. Adesea este nevoie de eala construcii n care se cereprezena unei instruciuni, dar nu este necesar s se execute nimicn punctul respectiv. Forma general: ;Sintaxa impune prezena unei instruciuni, dar logica problemei nu necesit nici o prelucrare. In acest mod se introduc unele relaxri n sintax.

INSTRUCIUNEAEXPRESIE

Instruciunea expresie se obine scriind puncti virgul dup o expresie, deci:

expresie;

Exist cazuri particulare aleinstruciunii expresie:

expresia de atribuire, care de altfel este cel mai important cazparticular al instruciunii

expresie: expresie;

Exemple:

a++;

scanf();

max=a>b ? a : b;

Instruciunea compus

Forma general:

{

declaraii

instruciune1;

instruciune2;

...

instruciune n;

}

Efect: Se execut in ordine instruciunile specificate.Observaii:

- Utilizarea instruciunilor compuse este necesar atunci cand sintaxa permite executara unei instruciuni ( if, for, do-while, while) care efectueaz mai multe operaii.

- Declaraiile care apar intr-o instruciune compus sunt locale instruciunii. Mai exact, ele sunt valabile numai in corpul instruciunii compuse, din momentul declarrii lor pan la sfaritul instruciunii.

3. Funcii n C/C++, definirea, prototip, apel, transmitere parametriFunctia clrscr() sterge ecranul. Ea nu are parametri. Functia are prototipul void clrscr(void); in fisierul .

Functia getch() citeste fara ecou un character de la intrarea standard direct in memorie, fara actionarea tastei enter. Functia nu are parametri. Functia are prototipul int getch(void); in fisierul .

Functia getche() citeste cu ecou un character de la intrarea standard. Functia are prototipul int getche(void); in fisierul .

Functia putch(e) scrie un character la iesirea standard. Ea are un singur parametru. Valoarea expresiei e determina imaginea extrasa. Functia are prototipul int putch(int c); in fisierul .

Function getchar() citeste cu ecou caractere ASCII de la intrarea standard intr-un tampon special pina la actionarea tastei Enter. La actionarea tastei Enter, ea revine cu valoarea codului caracterului current din tampon. Citirea caracterelor prin intermediul unui tampon ne da posibilitatea de a corecta erorile facute la tastare pina la apasarea tastei Enter. Functia are prototipul int getchar(void); in fisierul .

Functia putchar(e) scrie un character ASCII la iesirea standard. Ea revine cu valoarea codului caracterului extras sau cu valoarea -1, in caz de eroare. Functia are prototipul int putchar(int e); in fisierul .

Functia gets(s) citeste cu ecou de la intrarea standard un sir de caractere ASCII care se termina cu . Ea are un parametru valoarea caruia este adresa de inceput a zonei de memorie, unde se pastreaza sirul de caractere numit. Daca intilneste caracterul EOF functia revine cu valoarea 0. Functia are prototipul in fisierul .

Functia puts(s) scrie la iesirea standard un sir de caractere ASCII, care in memorie se termina cu caracterul NUL (\0). Ea are un parametru, valoarea caruia este valoarea de inceput a sirului de extras. Functia are prototipul in fisierul .

Functia printf(c, p1, p2) scrie la iesirea standard date sub controlul unor formate. Are unul sau mai multi parametri. De mentionat ca parametrii p1, p2, sunt prelucrati de la dreapta pre stinga, adica ultimul evaluat este p1. La apelul functiei printf() expresiile p1, p2 pn sunt evaluate in ordine inversa, adica de la dreapta spre stinga. Functia are prototipul in fisierul .

Functia scanf(c, p1, p2) citeste de la intrarea standard date sub controlul unor formate. Are mai multi parametric. De obicei, parametru c este un sir de caractere scris in ghilimele. Functia are prototipul in fisierul .

Functia exit(c) intrerupe executia programului. Parametrul c defineste starea programului in momentul apelului functiei. Functia are prototipul in fisierul si in fisierul .

4. Pointeri i tablouri n C/C++Un pointer este o variabila care contine adresa unei alte variabile. Pointerii sint foarte mult utilizati in C parte pentru ca uneori sint singura cale de rezolvare a unei anumite probleme, parte pentru ca folosirea lor duce la alcatuirea unui cod mai compact si mai eficient decit altul obtinut in alt mod. Tablou = succesiune de locaii de memorie recunoscute prin acelai identificator i prin poziia fiecreia n cadrul irului. Poziia este dat printr-un numr pozitiv numit index.In C, exista o relatie strinsa intre pointeri si tablouri, atit de strinsa incit pointerii si tablourile pot fi tratate simultan. Orice operatie care poate fi rezolvata prin indicierea tablourilor poate fi rezolvata si cu ajutorul pointerilor. Versiunea cu pointeri va fi in general, mai rapida. Declaratia int a[10] defineste un tablou de dimensiunea 10, care este un bloc de 10 obiecte consecutive numite a[0], a[1], ..., a[9] notatia a[i] desemneaza elementul deci pozitiile, ale tabloului, numarate de la inceputul acestuia. Daca pa este un pointer pe un interg, decalarat ca int *pa atunci asignarea pa = &a[0] face ca pa sa pointeze pe al "zero-ulea" element al tabloului a; aceasta inseamna ca pa contine adresa lui a[0]. Acum asignarea x = *pa va copia continutul lui a[0] in x. Daca pa pointeaza pe un element oarecare al lui a atunci prin definitie pa+1 pointeaza pe elemmentul urmator si in general pa-i pointeaza cu i elemente inaintea elementului pointat de pa iar pa+i pointeaza cu i elemente dupa elementul pointat de pa. Astfel, daca pa pointeaza pe a[0] *(pa + 1) refera continutul lui a[1], pa + i este adresa lui a[i] si *(pa+i) este continutul lui a[i]. Aceste remarci sint adevarate indiferent de tipul varaiabilelor din tabelul a. Definitia "adunarii unitatii la un pointer" si prin extensie, toata aritmetica pointerilor este de fapt calcularea prin lungimea in memorie a obiectului pointat. Astfel, in pa+i i este inmultit cu lungimea obiectelor pe care pointeaza pa inainte de a fi adunate la pa. Corespondenta intre indexare si aritmetica pointerilor este evident foarte strinsa. De fapt, referinta la un tablou este convertita de catre compilator intr-un pointer pe inceputul tabloului. Efectul este ca numele unui tablou este o expresie pointer. Aceasta are citeva implicatii utile. Din moment ce numele unui tablou este sinonim cu locatia elementului sau zero, asignarea pa = &a[0] poate fi scrisa si pa = a. Inca si mai surprinzator la prima vedere este faptul ca o referinta la a[i] poate fi scrisa si ca *(a+i). Evaluind pe a[i], C il converteste in *(a+i); cele doua forme sint echivalente. Aplicind operatorul & ambilor termeni ai acestei echivalente, rezulta ca &a[i] este identic cu a+i: a+i adresa elementului al i-lea in tabloul a. Reciproc: daca pa este un pointer el poate fi utilizat in expresii cu un indice pa[i] este identic cu *(pa+i). Pe scurt orice tablou si exprimare de indice pot fi scrise ca un pointer si offset si orice adresa chiar in aceeasi instructiune. Trebuie tinut seama de o diferenta ce exista intre numele tablou si un pointer. Un pointer este o variabila, astfel ca pa=a si pa++ sint operatii. Dar, un nume de tablou este o constanta, nu o variabila: constructii ca a=pa sau a++ sau p=&a sint interzise. Atunci cind se transmite un nume de tablou unei functii, ceea ce se transmite este locatia de inceput a tabloului. In cadrul functiei apelate acest fapt argument este o variabila ca oricare alta astfel incit un argument nume de tablou este un veritabil pointer, adica o variabila continind o adresa. Este posibila si transmiterea catre o functie doar a unei parti dintr-un tablou prin transmiterea unui pointer pe inceputul subtabloului. De exemplu, daca a este un tablou; f(&a[2]) si f(a + 2) ambele transmit functiei f adresa elementului a[2] deoarece &a[2] si a+2 sint expresii pointer care refera al treilea element al lui a. In cadrul lui f, declarea argumentului poate citi f(arr)int arr[]; {... }sauf(arr)int *arr; {...}Astfel, dupa cum a fost conceputa functia f faptul ca argumentul refera de fapt o parte a unui tablou mai mare nu are consecinte.5. Tipuri de date definite de utilizator n C/C++Limbajele de programare de nivel nalt ofera utilizatorului facilitati de a prelucra att datele singulare (izolate), ct si p 646i81g e cele grupate. Un exemplu de grupare a datelor - de acelasi tip - l constituie tablourile. Datele predefinite si tablourile (prezentate n capitolele anterioare) nu sunt nsa suficiente. Informatia prelucrata n programe este organizata, n general n ansambluri de date, de diferite tipuri. Pentru a putea descrie aceste ansambluri (structuri) de date, limbajele de programare de nivel nalt permit programatorului sa-si defineascapropriile tipuri de date.

Limbajul C ofera posibilitati de definire a unor tipurilor de date, cu ajutorul:

structurilor- permit gruparea unor obiecte (date) de tipuri diferite, referite printr-un nume comun;

cmpurilor de biti- membri ai unei structuri pentru care se aloca un grup de biti, n interiorul unui cuvnt de memorie;

uniunilor- permit utilizarea n comun a unei zone de memorie de catre mai multe obiecte de diferite tipuri;

declaratiilortypedef- asociaza nume tipurilor noi de date;

enumerarilor- sunt liste de identificatori cu valori constante, ntregi.

* Structuri = Structurile grupeaza date de tipuri diferite, constituind definitii ale unor noi tipuri de date. Componentele unei structuri se numescmembrii (cmpurile)structurii. La declararea unei structuri se pot preciza tipurile, identificatorii elementelor componente sinumele structurii.

Forma generala de declarare a unei structuri:

structidentificator_tip_structura lista_identificatori_variabile; n care:

structeste un cuvnt cheie (obligatoriu)

identificator_tip_structurareprezinta numele noului tip (poate lipsi)

lista_de_declaratii_membrieste o lista n care apar tipurile si identificatorii membrilor structurii

lista_identificatori_variabileeste o lista cu identificatorii variabilelor de tipul declarat.

*.Cimp de biti = Limbajul C ofera posibilitatea de prelucrare a datelor la nivel de bit. De multe ori se utilizeaza date care pot avea doar 2 valori (0 sau 1), cum ar fi datele pentru controlul unor dispozitive periferice, sau datele de valori mici. Declarnd aceste date de tipintsaushort int, n memorie se rezerva 16 biti. Alocarea unui numar att de mare de locatii de memorie nu este justificata, de aceea, limbajul C ofera posibilitatea declararii unor date pentru care sa se aloce un numar specificat de biti (alocare pe biti).

Definitie:Un sir de biti adiacenti formeaza uncmp de biti.

Cmpurile de biti se pot declara ca membri ai unei structuri, astfel:

struct identificator_tip_struct lista_identif_var_struct;

* Uniuni = Aceeasi zona de memorie poate fi utilizata pentru pastrarea unor obiecte (date) de diferite tipuri, prin declararea uniunilor. Uniunile sunt similare cu structurile, singura diferenta constnd n modul de memorare. Declararea uniunilor:unionidentificator_tip_uniune lista_identificatori_variabile;Spatiul de memorie alocat corespunde tipului membrului de dimensiune maxima. Tipul uniune foloseste aceeasi zona de memorie, care va contine informatii organizate n mai multe moduri, corespunzator tipurilor membrilor.

* Enumerari = Tipul enumerare asociaza fiecarui identificator o consatanta ntreaga. Sintaxa declaratiei:

enum identificator_tip_enumerare lista_identif_variabile;

Din declaratie pot lipsi fieidentificator_tip_enumerare, fielista_identif_variabile. Pentru fiecare element al enumerarii, constanta poate fi asociata n mod explicit (ca n declaratia anterioara), fie implicit. n modul implicit nu se specifica nici o constanta, iar valoarea implicita este 0 pentru primul element, iar pentru restul elementelor, valoarea precedenta incrementata cu 1. Enumerarile se folosesc n situatiile n care variabilele pot avea un numar mic de valori ntregi, asociind un nume sugestiv pentru fiecare valoare.

6. Clase i obiecte n C/C++ ntr-un program se pot folosi att date de tipuri predefinite ct i date de tipuri definite de utilizator. Cu datele de tipuri predefinite se pot efectua un ir de operaii, care sunt i ele predefinite. Astfel, cu datele int x, y, a, b; se pot efectua operaiile predefinite pentru numere ntregi. Tipul utilizator definete

doar modul de reprezentare al datelor, dar nu i operaiile care pot fi efectuate cu aceste date. De aceea prelucrarea datelor de tipuri predefinite este mai simpl dect

prelucrarea datelor de tipuri definite de utilizator. Tipul utilizator nu stabilete nici-o legtur ntre reprezentarea datelor i operaiile asupra acestor date. Exemplu. Considerm tipul structur ce definete numerele complexe.

struct COMPLEX

{

double re;

double im;

};

Aici se definete reprezentarea numerelor complexe ca o pereche ordonat de numere double. Se pot defini variabile de acest tip: COMPLEX z, w; Aceast declaraie spune c z i w sunt compuse fiecare din 2 numere double.

Clasa este un tip abstract de date. Noiunea a aprut din necesitatea de ascundere a datelor n definii tipului abstract. Datele clasei pot fi protejate prin utilizarea modificatorilor de protecie.

Modificatori de protecie sunt public, private, protected. Pentru a aplica un aa modificator la o dat careva, se scrie numele modificatorului urmat de semnul : n faa declaraiei datei respective. De exemplu: private: int x; sau protected: int y, z; double w; Modificatorul public spune c data sau metoda respectiv nu este protejat i poate fi folosit fr restricii n tot programul. Modificatorul private permite utilizarea datei sau funciei respective doar funciilor membru ale clasei. Modificatorul protected permite utilizarea datelor doar funciilor membru

ale clasei i funciilor claselor derivate din clasa respectiv. Domeniul de aciune al unui modificator de protecie este din punctul unde a fost scris i pn la sfritul definiiei clasei sau pn la apariia altui modificator. Modificatorul private este implicit.

Aa, pentru tipul abstract complex, definit mai sus; putem declara variabile: complex z, w, *p, x[10]; Se pot declara variabile simple, pointeri, tablouri etc. Variabilele ale crui tip se definesc printr-o clas se numesc obiecte. Deci, un obiect este o variabil de tipul unei clase, de un tip

abstract de date. Despre obiecte se mai spune c ele sunt instanieri ale clasei respective. Aadar, z este o instan a clasei complex. Procesul de declaraie a variabilelor de

tipul unei clase se numete instaniere.

7. Supradefinirea operatorilor n C/C++

Functiile operator constituie un tip special de functii , care s-ar putea utiliza pentru redefinirea operatorilor de baza care apar n C. Un tip de clasa se poate defini mpreuna cu un set de operatori asociati, obtinuti prin suprancarcarea operatorilor existenti. In acest fel, se efectueaza operatii specifice cu noul tip la fel de simplu ca n cazul tipurilor standard. Procedeul consta n definirea unei functii cu numele

operator < simbol >

De exemplu, se presupune definirea unei clase NrComplex, si se doreste supradefinirea operatorului de adunare, pentru adunarea a doua numere complexe. Functia operator+() trebue sa primeasca doi parametri de tipul NrComplex si sa returneze un rezultat de tip NrComplex, avand acces direct la datele membre ale clasei.

Exista 2 posibilitati de realizare: ca functie prietena a clasei NrComplex sau ca functie membra a clasei NrComplex.

Exemplu - supradefinirea operatorului + ca functie friend:

class NrComplex {

float real, imaginar;

public:

NrComplex(float r=0, float i=0);

friend NrComplex operator+(NrComplex, NrComplex); // operatorul suma definit ca

// functie prietena a clasei

};

NrComplex operator+ (NrComplex c1, NrComplex c2) {

NrComplex c;

c.real=c1.real+c2.real;

c.imaginar=c1.imaginar+c2.imaginar;

return c;

}

void main() {

NrComplex c1(1,2), c2(5,5), s;

s=c1+c2;

}

Expresia c1+c2 este interpretata de compilator ca un apel al functiei

operator+(c1,c2)

Exemplu - supradefinirea operatorului + ca functie membra:

class NrComplex {

float real, imaginar;

public:

NrComplex(float r=0, float i=0);

NrComplex operator+(NrComplex); // operatorul suma definit ca

// functie membra a clasei

};

NrComplex NrComplex::operator+ (NrComplex c2) {

NrComplex c;

c.real=real+c2.real;

c.imaginar=imaginar+c2.imaginar;

return c;

}

void main() {

NrComplex c1(1,2), c2(5,5), s;

s=c1+c2;

}

O functie membra primeste in mod implicit adresa obiectului pentru care este apelata. Functia operator+() va avea prototipul

NrComplex operator+(NrComplex);

Expresia c1+c2 este interpretata de compilator ca un apel al functiei:

c1.operator+(c2)

In acest caz, al supradefinirii operatorului + ca functie membru, datorita transferului implicit al primului operand, apare o asimetrie in definitia functiei operator+().

Mai apare si o alta restrictie impusa de functiile operator membre ale clasei: primul operand este intotdeauna de tipul clasa respectiv, deci solutia nu este adecvata daca primul operand trebuie sa fie de un alt tip.

Alte precizari privind supradefinirea operatorilor: Se pot supradefini in C++ numai operatori existenti, deci simbolul asociat functiei operator trebuie sa fie deja definit ca operator pentru tipurile standard (nu e permisa introducerea unor simboluri noi de operatori). De asemenea, nu se pot modifica pluralitatea (un operator unar nu poate fi supradefinit ca unul binar sau invers), precedenta, asociativitatea.

Functia operator trebuie sa aiba cel putin un parametru (implicit sau explicit) de tipul clasa caruia ii este asociat operatorul respectiv. Aceasta restrictie implica faptul ca supradefinirea operatorilor e posibila numai pentru tipurile clasa definite in program, pentru tipurile standard operatorii isi pastreaza definitia.

Functiile operator pot fi implementate ca si functii membre a clasei sau ca si functii prietene a clasei. In particular, pentru operatorii: = [] () -> functia operator trebuie sa fie membra a clasei.

In general, pentru un operator binar op, expresia x op y este interpretata:

x.operator op(y); // functie membru

sau

operator op(x,y); // functie friend

In general, pentru un operator unar op, expresiile x op sau op x se interpreteaza:

x.operator op(); // functie membru

sau

operator op(x); // functie friend

8. Principii OOP: incapsulare, instaniere, polimorfismProgramarea orientat obiect (programe cu noi tipuri ce integreaz att datele, ct i metodele asociate crerii, prelucrrii i distrugerii acestor date); se obin avantaje prin abstractizarea programrii (programul nu mai este o succesiune de prelucrri, ci un ansamblu de obiecte care prind via, au diverse proprieti, sunt capabile de aciuni specifice i care interacioneaz n cadrul programului); intervin tehnici noi privind instanierea, derivarea i polimorfismul tipurilor obiectuale.

Un program orientat spre obiecte (OO) consta dintr-un grup de obiecte care coopereaza, comunicand prin trimiteri de mesaje, pentru a indeplini un obiectiv comun. Fiecare obiect are o responsabilitate clara.

Un obiect este o constructie software care incapsuleaza (regrupeaza, protejeaza, si ofera controlul accesului) date, impreuna cu abilitatea de a utiliza sau modifica aceste data, intr-o entitate software.

Ce este incapsularea?

Incapsularea este principiul conform caruia o entitate software (in particular un obiect) trebuie sa aiba interfata complet separata de implementare. Toate datele si codul implementarii trebuie sa fie complet ascunse (hidden) in spatele interfetei.

Ideea este ca dupa crearea unei interfete (metodele publice ale unei clase), cat timp interfata ramane consistenta, aplicatia poate interactiona cu obiectele. Acest lucru ramane adevarat chiar daca rescriem in intregime codul scris intr-o metoda data.

Spunem c tipurile de date obiectuale respect principiul ncapsulrii. Astfel, programatorul ce utilizeaz un tip obiectual CONT (n banc) nu trebuie s poarte grija modului cum sunt reprezentate n memorie datele referitoare la un cont sau a algoritmului prin care se realizeaz actualizarea soldului conform operaiilor de depunere, extragere i aplicare a dobnzilor. EL va utiliza unul sau mai multe conturi (instane ale tipului CONT), accesnd proprietile i metodele din interfa, realizatorul tipului obiectual asumndu-i acele griji n momentul definirii tipului CONT.

Ce este mostenirea?

Pentru tipurile de date obiectuale class este posibil o operaie de extindere sau

specializare a comportamentului unei clase existente prin definirea unei clase noi ce

motenete datele i metodele clasei de baz, cu aceast ocazie putnd fi redefinii unii

membri existeni sau adugai unii membri noi. Operaia mai poart numele de derivare.

Clasa din care se motenetea se mai numete clas de baz sau superclas. Clasa

care motenete se numete subclas, clas derivat sau clas descendent.n contextul mecanismelor de motenire trebuie amintii modificatorii abstract i sealed

aplicai unei clase, modificatori ce oblig la i respectiv se opun procesului de derivare. Astfel, o

clas abstract trebuie obligatoriu derivat, deoarece direct din ea nu se pot obine obiecte

prin operaia de instaniere, n timp ce o clas sigilat (sealed) nu mai poate fi derivat (e un

fel de terminal n ierarhia claselor). O metod abstract este o metod pentru care nu este

definit o implementare, aceasta urmnd a fi realizat n clasele derivate din clasa curent4.

O metod sigilat nu mai poate fi redefinit n clasele derivate din clasa curent.

Ce este polomorfism?

Folosind o extensie a sensului etimologic, un obiect polimorfic este cel capabil s ia

diferite forme, s se afle n diferite stri, s aib comportamente diferite. Polimorfismul

obiectual5 (deoarece tot aspecte polimorfice mbrac i unele tehnici din programarea clasic sau tehnica suprancrcrcrii funciilor i operatorilor)se manifest n lucrul cu obiecte din clase aparinnd unei ierarhii de clase, unde, prin redefinirea unor date sau metode, se obin membri diferii avnd ns acelai nume. Astfel, n cazul unei referiri obiectuale, se pune problema stabilirii datei sau metodei referite. Comportamentul polimorfic este un element de flexibilitate care permite stabilirea contextual, n mod dinamic6, a membrului referit.

De exemplu, dac este definit clasa numit PIESA (de ah), cu metoda nestatic

muta(pozitie_initiala,pozitie_finala), atunci subclasele TURN i PION trebuie

s aib metoda muta definit n mod diferit (pentru a implementa maniera specific a

pionului de a captura o pies en passant7[ntr-o alt concepie, metoda muta poate fi implementat la nivelul clasei PIESA i redefinit la nivelul subclasei PION, pentru a particulariza acest tip de deplasare care captureaz piesa peste care trece pionul n diagonal.]). Atunci, pentru un obiect T, aparinnd claselor derivate din PIESA, referirea la metoda muta pare nedefinit. Totui mecanismele POO permit stabilirea, n momentul apelului, a clasei proxime creia i aparine obiectul T i apelarea metodei corespunztore (mutare de pion sau tur sau alt pies).

Pentru a permite acest mecanism, metodele care necesit o decizie contextual (n

momentul apelului), se decalr ca metode virtuale (cu modificatorul virtual).

O metod ne-virtual nu este polimorfic i, indiferent de clasa creia i aparine

obiectul, va fi invocat metoda din clasa de baz.BAZE DE DATE Cotelea Vitalie1. Noiunile Baz de Date, SGBD. Modelele logice de date: ierarhic, reea, relaional. Etapele de proiectare a unei baze de date. Algebra relaional. Interogri n algebra relaional.Baza de date: - la modul general, o colectie de date corelate intre ele, care se refera la un anumit aspect al realitatii si destinat unui grup de utilizatori; - intr-un mod mai precis, o colectie de date memorate pe suport electric.

O baza de date poate fi definita ca un ansamblu de date elementare sau structurate, accesibile unei comunitati de utilizatori. Mai concret, o baza de date, este un ansamblu de fisiere intercorelate, care contine nucleul de date necesare unui sistem informatic(aplicatie informatica).

O baz de date poate fi:

integrat;

partajat.

Prin integrat nelegem c baza de date poate fi gndit ca o unificare de mai multe fiiere de date, distincte i neredundante.

Prin partajarea unei baze de date se nelege c bucile individuale de date din baza de date pot fi partajate ntre mai muli utilizatori individuali, fiecare dintre ei putnd avea acces la aceeai bucat de date simultan (sisteme multiutilizator).

Hardul unui sistem de baze de date const din volumele de memorare secundare (discuri, dischete sau benzi magnetice) pe care rezid baza de date, mpreun cu aparatele, unitile de control i canalele respective.

ntre baza de date fizic (adic datele aa cum sunt ele memorate pe suport) i utilizatorii sistemului exist un nivel de software, numit sistem de gestionare a bazelor de date (DBMS Data Base Management System), care permite construirea unor baze de date, introducerea informaiilor n baza de date i dezvoltarea de aplicaii privind bazele de date.

Un DBMS d posibilitatea utilizatorului s aib acces la date folosind un limbaj de nivel nalt, apropiat de modul obinuit de exprimare, pentru a obine informaii, utilizatorul fcnd abstracie de algoritmii aplicai pentru selectarea datelor implicate i a modului de memorare a lor. DBMS-ul este deci o interfa ntre utilizator i sistemul de operare.

Un sistem de gestiune a bazelor de date constituie o interfata ntre utilizatori si BD, care permite n principal crearea, actualizarea si consultarea acesteia. n acest context putem defini SGBDul ca un instrument de asamblare, codificare, aranjare, protectie si regasire a datelor n BD.

Utilizatorii sistemelor de gestionare a bazelor de date (DBMS) se grupeaz n trei categorii:

a. programatorii de aplicaie (care scriu programele aplicaie n limbaje de programare: Cobol, C, etc.) sau n limbaje de programare specifice: dBase, FoxPro, etc.);

b. end-userii sau utilizatorii (care acceseaz baza de date de la un terminal, folosind un limbaj de interogare numit query language);

c. administratorii bazelor de date DBA (care stabilesc structura iniial a bazei de date i modul de memorare a datelor la nivel fizic, acord utilizatorilor drepturi de acces la baza de date sau pri ale ei, asigur securitatea datelor, modific structura i ntreine baza de date).

Exist trei categorii de modele de baze de date:

1. modelul relaional;

2. modelul reea;

3. modelul arborescent (ierarhic).

1. Modelul relaional

Un model relaional de baze de date cuprinde trei componente principale:

structura datelor prin definirea unor domenii (valori atomice) i a relaiilor n (atribute, tupluri, chei primare);

integrarea datelor prin impunerea unor restricii;

prelucrarea datelor prin operaii din algebra relaional sau calcul relaional.

Modelul relaional se bazeaz pe noiunea matematic de relaie (din teoria mulimilor) definit ca o submulime a produsului cartezian a unei liste finite de mulimi numite domenii. Elementele unei relaii se numesc tupluri (sau n-cupluri), iar numrul de domenii din produsul cartezian se numete arietatea relaiei (FOTACHE 1997, 102).

De obicei relaiile sunt reprezentate sub forma unor tabele n care fiecare rnd reprezint un tuplu i fiecare coloan reprezint valorile tuplurilor dintr-un domeniu dat al produsului cartezian.

n reprezentarea sub form de tabel a unei relaii, coloanelor i domeniilor corespunztoare lor, li se asociaz nume intitulate atribute. Mulimea numelor atributelor unei relaii se numete schem relaional.

Deci prin relaie se nelege o mulime de funcii definite pe o mulime de atribute cu valori n reuniunea unor domenii, cu restricia ca valoarea corespunztoare fiecrui atribut s se afle n domeniul asociat acelui atribut.

Se numete cheie candidat al unei relaii R coloana sau mulimea de coloane din R pentru care valorile corespunztoare din oricare dou tupluri nu coincid, deci identific tuplurile prin relaia respectiv i nu conin strict o submulime de coloane cu aceast proprietate. Pentru fiecare relaie se alege un candidat de cheie care se numete cheie primar a relaiei. Tuplurile unei relaii nu pot s conin valoarea nul n coloane ce aparin cheii primare. Eventualii candidai de chei diferii de cheia primar se numesc chei alternante. Se numete cheie strin o coloan sau o mulime de coloane a unei relaii R1 ale crei valori, dac nu sunt nule, coincid cu valori ale unei chei primare dintr-o relaie R, nu neaprat distinct de R1.

Mulimea tuturor schemelor relaionale corespunztoare unei aplicaii se numete schema bazei de date relaionale, iar coninutul curent al relaiilor, la un moment dat, se numete baz de date relaional.

n modelul relaional, entitile sunt reprezentate sub form de relaii n care schema relaional conine toate atributele entitii i fiecare tuplu al relaiei corespunde unui element al entitii.

Cele mai multe cereri ale unui utilizator privesc determinarea unor informaii cu anumite proprieti, iar rspunsul posibil este o relaie care descrie toate elementele cu aceste proprieti. Modul de prezentare al rspunsului depinde de interfaa dintre DBMS i utilizator.

2. Modelul reea

Modelul reea este cel mai apropiat de forma de reprezentare a bazelor de date sub forma diagramelor entitate-relaie. Deosebirea const n faptul c toate relaiile ce apar pot fi numai binare i de tipul 1:1 sau 1:N. Aceast restricie permite reprezentarea grafic a unei baze de date de tip reea sub forma unui graf direcionat numit reea.

ntr-o reea, nodurile corespund entitilor i relaiile sunt reprezentate prin sgei ntre noduri (de la tat la fiu) i anume sgei simple dac relaia este de tipul 1:1 i sgei duble dac relaia este de tipul 1:N.

n modelul reea, entitilor le corespund fiiere logice care au drept cmpuri atributele entitii i eventuale cmpuri de legtur pentru relaii. Fiecrui element al entitii i corespunde o nregistrare logic. Dac nregistrrile sunt identificate numai prin relaia cu alte entiti, atunci se mai adaug la nregistrarea logic nc un cmp ce cuprinde un numr de ordine care permite identificarea acestor nregistrri.

Operaiile cele mai frecvente pentru modelul reea se mpart n dou categorii:

cutarea unor elemente ale unor entiti cu anumite proprieti sau cutarea unor informaii prin utilizarea legturilor ntre entiti;

navigarea n reeaua de date.

3. Modelul ierarhic

Modelul ierarhic (arborescent) este considerat un caz particular al modelului reea, n care diagrama asociat este o pdure (mulime de arbori) i n care toate legturile sunt pe direcia drumului, de la rdcin la nodul fiu din relaie, toate relaiile fiind de tipul 1:N.

La fel ca n cazul celorlalte dou modele, exist posibilitatea interpretrii diagramelor entitate-relaie sub forma modelului ierarhic. Pentru evitarea redundanelor n modelul ierarhic, se folosete noiunea de element virtual, care nlocuiete dublura unui element prin adresa elementului respectiv, fiecare element aprnd n baza de date real o singur dat.

Operaiile din bazele de date de tip ierarhic se traduc n procese de parcurgere a arborilor. Elementele virtuale permit legarea informaiilor din aceeai entitate sau din entiti diferite.

Implementarea la nivel logic pentru modelul ierarhic poate fi cea utilizat pentru modelul reea sau prin nregistrri de lungime variabil.

Datele sunt stocate pe mediul extern n ordinea dat de parcurgerea n preordine a arborilor, ceea ce uureaz determinarea informaiilor pentru cererile care se refer la descendenii unor noduri printr-un numr mic de accese la mediul extern.

Metodele curente de proiectare a bazelor de date sunt in general divizate in trei etape separate:* Crearea schemei conceptuale * Crearea design-ului logic al bazei de date* Crearea design-ului fizic al bazei de date1.Crearea schemei conceptuale. Aceasta este un design de nivel inalt (incluzand relatiile dinte datele intregului sistem), care descrie datele si relatiile necesare pentru executia operatiilor necesare, fiind independent de orice model de baze de dare. Designul de la acest nivel este foarte general, se realizeaza intr-o perioada scurta de timp si precizeaza modul in care gruparile de date sunt integrate in sistemul de asamblu.2.Crearea design-ului logic al bazei de date. In aceasta faza schema conceptuala este transformata in structuri specifice unui anumit sistem de gestiune a bazei de date. La acest nivel designul este rafinat, sunt definite elementele de date specifice care sunt grupate in inregistrari. In cazul modelului rational, la sfarsitul acestei etape vom avea un numar de tabele care vor permite stocarea si manupularea corecta a tuturor datelor necesare sistemului.3.Crearea design-ului fizic al bazei de date. In aceasta etapa designul logic este transformat intr-o structura fizica eficienta.

Elemente de algebr relaional

Aa cum s-a afirmat anterior, algebra relaional este unul din cele dou limbaje formale de interogare ale modelului relaional. Algebra relaional ofer mijloace puternice de a construi relaii noi din alte relaii date. Atunci cnd relaiile date sunt reprezentate de informaii memorate, relaiile construite cu mijloacele algebrei pot fi rspunsuri la fraze de interogare asupra acestor informaii.

Orice algebr permite construirea de expresii prin aplicarea unor operatori asupra unor operanzi atomici sau asupra altor expresii algebrice. Adesea, pentru a grupa operatorii i operanzii sunt folosite paranteze.

n algebra relaional, operanzii sunt:

a) variabile, care reprezint relaii;

b) constante, care sunt relaii finite.

n algebra relaional clasic toi operanzii i toate rezultatele expresiilor sunt mulimi. Vom grupa operaiile din algebra relaional tradiional (sau clasic) n patru clase:

a) operaiunile specifice teoriei mulimilor (reuniune, intersecie, diferen), dar aplicate asupra relaiilor;

b) operaiunile care ndeprteaz pri ale unei relaii (selecie, proiecie);

c) operaiunile care combin tuplurile a dou relaii (produs cartezian, jonciune)

d) operaiunea prin care sunt atribuite nume noi atributelor relaiei i/sau relaiei.

O proprietate fundamental n algebra relaional const n faptul c fiecare operator accept nstanele unei (sau a dou) relaii n calitate de argumente i ntoarce ca rezultat o alt nstan de relaie. Aceast proprietate permite folosirea compus (compunerea) operatorilor pentru a forma fraze de interogare complexe. O astfel de fraz de interogare corespunde unei expresii algebrice relaionale, care se definete recursiv ca fiind o relaie, un operator algebric unar aplicat unei singure expresii, sau ca un operator algebric binar aplicat la dou expresii.

2. Componentele generale ale limbajului SQL: Definirea schemei bazei de date. Interogarea bazei de date. Definirea accesului i permiselor la date.Limbajul SQL (StructuredQueryLanguage) este limbajul utilizat de majoritatea sistemelor de baze de date relationale (SGBDR) pentru definirea si manipularea date. Este un limbaj neprocedural i declarativ, deoarece utilizatorul descrie ce date vrea s obin, fr a fi nevoie s stabileasc modalitile de a ajunge la datele respective. Nu poate fi considerat un limbaj de programare sau unul de sistem, ci mai degrab face parte din categoria limbajelor de aplicaii, fiind orientat pe mulimi.

Componentele limbajului SQL2

SQL: componente

DDL: Data Definition Language

DML: Data Manipulation Language

DCL: Data Control Language

Enbedded

Sub numele de interogare sau cerere sunt referite acele solicitri de date n mod direct fr indicarea modului de obtinere. O cerere se poate lansa din fereastra de comenzi sau din interiorul unui program FoxPro pentru c ea funcioneaz ca orice alt comand dar se poate proiecta ntr-un mod interactiv cu ajutorul utilitarului Query Designer.

Instructiunea SELECT reprezinta blocul de interogare de baza si ea selecteaza informatiile dorite din tabelele bazei de date. Instructiunea SELECT este foarte puternica si are urmatoarea sintaxa generala:

SELECT [DISTINCT] lista_coloane FROM lista_tabele [WHERE conditie] [clauze_secundare];

Se remarca 3 sectiuni (clauze) importante ale constructiei de interogare: clauza SELECT, clauza FROM si clauza WHERE.

Clauza SELECT introduce lista atributelor (coloanelor) unor tabele sau al expresiilor care vor fi selectate si afisate. Coloanele din lista trebuie sa apartina uneia din tabelele specificate in clauza FROM.

Ca rezultat al instructiunii de mai sus se pot obtine doua sau mai multe linii identice, daca exista angajati cu acelasi nume si prenume. In general, daca lista de atribute nu contine o cheie a relatiei, rezultatul operatiei SELECT poate contine linii duplicat. Pentru eliminarea liniilor duplicat se introduce parametrul DISTINCT si atunci rezultatul este o relatie in sensul definitiei din modelul relational.

Daca lista de atribute este un asterisc (*), atunci se selecteaza toate atributele produsului cartezian al tabelelor indicate prin clauza FROM, care indeplinesc conditia din clauza WHERE. In clauza SELECT se pot redenumi atributele (coloane ale tabelelor) sau se pot specifica nume pentru expresii, folosind urmatoarea sintaxa:

SELECT nume1 [AS] noul_nume1,..., expresie [AS] nume_expresie FROM lista_tabele [alte_clauze];

Se observa ca noul nume atribuit unei coloane sau expresii urmeaza vechiului nume sau expresiei, precedat (optional, depinzand de implementare) de cuvantul-cheie AS.

Clauza FROM este obligatorie daca intr-una din clauzele SELECT, WHERE, HAVING apar numede atribute (coloane ale unor tabele). In acest caz, lista de tabele care insoteste clauza FROM trebuie sa contina numele tuturor tabelelor (separate prin virgula) ale caror coloane se folosesc. Daca lista contine mai mult de un tabel, atunci numele coloanelor din clauza SELECT trebuie sa fie diferite si, daca nu sunt diferite, atunci se califica numele coloanei cu numele tabelului caruia ii apartine (precedand numele atributului cu numele tabelului ur mat de operatorul punct(.).Ex.SELECT ANGAJATI.Nume,Prenume,SECTII.Nume FROM ANGAJATI,SECTII;

Clauza WHERE restrictioneaza tuplurile returnate ca rezultat la acele tupluri care indeplinesc conditia introdusa de aceasta clauza. In forma cea mai obisnuita, clauza WHERE este urmata de o conditie, data ca o expresie booleana.

Clauza ORDER BY introduce numele atributului dupa care se face ordonarea liniilor rezultate. Ordonarea este implicit in ordine crescatoare; daca numele atributului este urmat de cuvantul DESC, ordonarea liniilor se face in ordine descrescatoare a valorilor acelui atribut.

Clauza GROUP BY se foloseste pentru a grupa rezultatele functiilor agregat (totalizatoare) dupa valoarea uneia sau mai multor coloane. Daca se doreste calculul unei valori totalizatoare separat pe grupe de linii, atunci se introduce clauza GROUP BY, urmata de numele uneia sau mai multor coloane. In acest caz, functia totalizatoare se aplica separat acelor linii care au aceeasi valoare a atributelor listate de clauza GROUP BY. De exemplu, salariul mediu calculat separat pe grupe de angajati, fiecare grup fiind compus din linii care au aceeasi valoare a atributului Functie, se obtine cu urmatoarea comanda SQL:

SELECT AVG(Salariu) FROM ANGAJATI GROUP BY(Functie);

Clauza HAVING este asemanatoare clauzei WHERE, adica introduce o conditie pe care trebuie sa o indeplineasca tuplurile rezultat, dar, in plus, permite utilizarea functiilor agregat in expresia conditionala. De exemplu:

SELECT Nume,Prenume FROM ANGAJATI HAVING Salariu >= AVG(Salariu);

- Definirea utilizatorilor i accesului la baza de date n SQL2. Exemple.

*Creatorul unui obiect obine automat toate drepturile asupra acestuia.

*SGBD duce evidena cui i se ofer i cine pierde privilegiile.

INSTRUCIUNEA GRANT

*Instruciunea GRANT se utilizeaz pentru oferirea autorizaiilor

GRANT ON TO [WITH GRANT OPTION]

*< list utilizatori > este: un ID utilizator+Public+ un rol+ Dac se dorete ca recipientul s poat transmite privilegiile altora se adaug: WITH GRANT OPTION

EXEMPLU (1): Grant

Fie Joe a creat tabelele

sailors(Sid, Sname, Rating, Age)

boats(Bid, Bname, Color)

reserves(Sid, Bid, Day)

Joe acum execut urmtoarele:

GRANT INSERT, DELETE ON reserves TO Yuppy WITH GRANT OPTION;

Yuppy poate acum insera sau terge tupluri din reserves i autoriza pe cineva cu aceleai privilegii.

Joe execut in continuare:

GRANT SELECT ON reserves TO Michael;

GRANT SELECT ON sailors TO Michael WITH GRANT OPTION;

Michael poate acum formula interogri SELECT asupra relaiilor sailors i reserves, i poate transmite acest privilegiu altora pentru relaia sailors i nu pentru reserves.

Definirea permiselor asupra relaiilor n SQL2. Exemple.

Controlul Accesului

*Se bazeaz pe conceptul de drept de acces sau privilegii asupra obiectelor i mecanizmelor pentru acordarea privilegiilor.

*Creatorul unui obiect obine automat toate drepturile asupra acestuia.

*SGBD duce evidena cui i se ofer i cine pierde privilegiile.

INSTRUCIUNEA GRANT

*Instruciunea GRANT se utilizeaz pentru oferirea autorizaiilor

GRANT ON TO [WITH GRANT OPTION]

*< list utilizatori > este: un ID utilizator+Public+ un rol+ Dac se dorete ca recipientul s poat transmite privilegiile altora se adaug: WITH GRANT OPTION

EXEMPLU (1): Grant

Fie Joe a creat tabelele

sailors(Sid, Sname, Rating, Age)

boats(Bid, Bname, Color)

reserves(Sid, Bid, Day)

Joe acum execut urmtoarele:

GRANT INSERT, DELETE ON reserves TO Yuppy WITH GRANT OPTION;

Yuppy poate acum insera sau terge tupluri din reserves i autoriza pe cineva cu aceleai privilegii.

Joe execut in continuare:

GRANT SELECT ON reserves TO Michael;

GRANT SELECT ON sailors TO Michael WITH GRANT OPTION;

Michael poate acum formula interogri SELECT asupra relaiilor sailors i reserves, i poate transmite acest privilegiu altora pentru relaia sailors i nu pentru reserves.

TELEINFORMATICA Bolun Ion1. Reele de transport date.Def: structura topologica- totalitatea nodurilor si legaturilor intre acestea. Exista diverse struct.topologice folosite in retele de transfer date din care pot fi evidentiate 5 topologii majore, fiecare din acestea este extremala dupa un anumit criteriu:1.Stea-nod centru la care sunt conectate toate celelate noduri;cea mai simpla, dar sic ea m.putin fiabila; la caderea nod central, reteaua se desfiinteaza complet, devenind isolate toate nodurile.2.Arbore-asigura cea mai mica lugime sumara a canalelor, deci este cea mai ieftina, dar este putin fiabila; la caderea unui nod, reteaua se divizeaza in m.multe fragmente.3.Inel-prevede 2 leg.si doar 2 pt fiecare nod; asigura cea m.mica lung sumara a canalelor la respectarea conditiei privind existenta a cel putin 2 cai independente intre orisice pereche de noduri(indep. Daca acestea nu contin elemente commune,noduri, canale, cu exceptia nodurilor sursa si destinatar).4.Completa-presupune leg directe intre toate perchile de noduri, este cea mai fiabila dar sic ea mai scumpa, se foloseste uneori pt retele magistrale de nivel superior.5.Plasa-prevede cel putin 2 leg pt fiecare nod; cea mai folosita topologie pt retele magistrale.in ultimii ani retele magistrale bioptica se construiesc conform topologiei multiinel, intrun inel pina la 10noduri.

Comutarea, multiplexarea si concentrarea circuitelor- procedee de reducere a costurilor cu canalele de comunicatie. Comutarea: n noduri; daca nu folosim comutator:N1=n(n-1)/2 canale, M=0; daca instalam un comutator: N2=n, M=1.

Multiplexarea: separarea m.multor canale de comunicatie in cadrul unei linii.separarea poate fi in frecventa-FDM sau in timp-TDM.

Multipl. In timp-prevede oferirea intregii latimi de banda a liniei fiecaruia din canale dar pe rind.Realizarea acestui lucru folosind un comutator.

Ex: Cablu coaxial: F=100MHz-latimea de banda, tb de separta canale vocale: F0=3400-300Hz=3100Hz; banda de protectie: Fpr=900Hz. =>pt un canal vocal: F1=4000Hz.

N=100*106/4*103=25*103-25000 canale intrun cablu coaxial.

Multiplexarea fibrei optice 40Gbps, canale-64Kbps=> N=40Gbps/64Kbps=0.6*106.

Concentrarea canalelor.

Retele cu comutarea de canale.folosesc in calitate de noduri de comunicatie comutatoarele de canale.pt a efectua transmisia de date intre statiile A si B mai intii intre acestea se formeaza un canal via nodurile de comunicatie.Acest canal este unul temporar pe durata transmisiei de date, ulterior el este desfiintat, eliberind resursele respective. Avantaje: simplitate; posibilitatea transmisiei de traffic izocron(cu viteza const. in timp).Dezavantaje: 1.la folosirea unor noduri de com. Neelectronice se cere timp semnificativ pt stabilirea conexiunii;2. in cazul unor canale analogice calitatea joasa a acestora;3. incarcarea joasa a canalelor pina la 10-20%;4. aceleasi viteze de transmisie pe intreg traseu.

Ex. De retele cu comutare de canale:reteaua telefonica traditionala, reteaua ISDN.

Retele cu comutare de mesaje. Folosesc in calitate de noduri de comunicatie comutatoarele de mesaje, pt a transmite un msg de la A la B mai intii msg se transmite la nodul adiacent.acest nod receptioneaza msg, il inscrie in memorie, determina canalul de iesire, il inregistreaza in firul de asteptare catre acest canal si cind ii vine rindul il transmite mai departe.in acelasi mod msg este transmis de la nod la nod pina ajunge la destinatar. Avantaje: 1.incarcarea inalta a canalelor, pina la 80-90% si m.mult;2. pot fi viteze diferite in diferite canale punct-la-punct; 3.nu se cere timp pt stabilirea conexiunii A-B. Dezavantaje: 1.de regula nu este posibil dialogul; 2. se cere memorie la noduri pt pastrarea temporara a msg de transit; 3.se introduce inf.suplimentara(de serviciu) in fiecare msg-creste traficul de date.

Retele cu comutare de pachete. Folosesc in calitate de noduri de com.comutatoarele de pachete. Pt a transmite un msg de la A la B mai intii msg este impartit in segmente, la fiecare adauginduse antet si sfirsit si se obtine un pachet.fiecare pachet se transmite prin retea la fel ca transmiterea unui msg printro retea cu comutare de msg. Exista 2 realizari ale comutarii de pachete: 1.metoda DATA GRAMA-prevede determinarea canalelor de iesire la noduri independent de alte pachete ale aceluiasi msg. Se poate intimpla ca pachete diferite sa urmeze prin retea cai diferite astfel pachetele pot sosi la destinatar intro alta ordine, de aceea fiecare pachet contine informatie de ordine in msg.la destinatar din pachete aparte se inlatura inf de serviciu si se asambleaza msg.metoda este operative, flexibila darn u prea sigura.2.Metoda cu circuite virtuale- prevede transmiterea tuturor pachetelor aceluiasi msg pe unul si acelasi traseu, denumit circuit virtual.Metoda este mai sigura, dar mai putin flexibila.

Reele cu difuzare de pachete se caracterizeaz prin folosirea unui singur canal de Transfer date. Toate staiile se conecteaz la acest canal. Deoarece este un singur canal n reea n fiecare moment de timp se transmite un singur semnal, astfel transmite o singur statie, iar toate celelalte pot doar receptiona aceste date.

Prima reea de difuzare o reea real- Aloha, construit n 1971 de ctre Universitatea din Gonolulul.

Principala problem cost n determinarea creia din staii ce doresc s transmit date de oferit resursele unicului canal. Problema se rezolv de ctre metoda de acces la mediu. Metoda data a fost propusa tot de Aloha , si aceasta metod a fost la baza metodei CSMA/CD propusa n 1973 pe reele locale Ethernet. Majoritatea tehnologiilor pentru reele locale sunt cu difuzare de pachete.

Clasificarea retelelor de calculatoare:

a) dupa destinatie:

-retele corporative (de firma, corporatie)

-retele publice( prestarea serviciilor altor organizatii, persoane)

b)dupa aria de cuprindere:

-retele de arie larga(WAN)-arie de acoperire nelimitata.

-retele regionale (RAN)-aria unei regiuni, zone~100km

-retele metropolitane (MAN)-aria unui oras~50km

-retele locale (LAN)citiva km

-retele personale(PAN)citiva zeci de metri.

-retele de corp (BAN)citiva metri.

c)dupa tehnologia de operare:

-TCP/IP

-X.25

-Frame Relay

-ISDN, ATM,MPLS

2. Reele locale de calculatoare.Se numete local reeaua ce cuprinde aria uneicldiri sau a ctorva cldiri

nvecinate, asemenea reele se deosebesc nu doar prin aria de cuprindere, ci ndeosebi prin tehnologiile de reea folosite. Asemenea sunt mult mai simple comparativ cu cele pentru reele de arie larg.

Prima reea local a fost ETHERNET, construit n 1973 de ctre fima XEROX n statul Aloalta(SUA) propus de Robert ...

Reeaua folosete ca mediu de transmisie cablul coaxial gros ETHERNET. ntr-o reea pot fi pna la 100 de staii. Viteza de transmisie 2,94 Mbs. Metoda de acces la mediu CSMA/CD(acces multiplu cu controluri purttoare i detecia coleziunii = CARIER SENSE MULTIPLE ACCESS WITH COLOSION DETECTION). Ulterior au fost propuse i multe alte tehnologii de reele locale de exemplu: ARCNET (firma DataPoint Corp) 1977, TOKEN RING -1985, astzi deosebesc 4 generaii de reele locale:

I Generaie(1973) de reele se caracterizeaz prin viteze de transmisie de pn la 10-20 Mbps.

Ca mediu de transmisie se folosesc firele torsadate, cablul coaxial, i mai rar firele optice.

Topologiile folosite : magistral, stea, arbore i inel.

Reprezentani: ETHERNET, ARCNET, TOKEN RING.

Tehnica de access la mediu folosit este CSMA/CD, jeton/inel, jeton/magistral.

II Generaie(1988) cu FDDI. Particulariti:

Viteza de transmisie: 100 mbps.

Mediu de transmisie: fire torsadate, fibr optic mai rar cablul coaxial.

Metode de access la mediu sunt extinse cu metoda containere/inel : SLOTTED RING.

Topologiile se completeaz cu topologia dublu inel.Reprezentani: FDDI, CDDI, FastEthernet, DQDB, 100VGAnyLan.

III Generaie(1996) - GigabitEthernet se caracterizeaz prin:

Viteza de transmisie de la sute de Mbps pn la 4 Gbps.

Mediu de transmisie: fibra optic, firele torsadate, cablul coaxial.

Reprezentani: FFOL, LATM, Gigabit Token Ring, Gigabit Fiber Chanel.

IV Generaie (2002) cu 10 GigabitEthernet.

Viteza de transmisie 10-40 Gbps.

Mediu de transmisie: fibra optic, fire torsadate, cablu coaxial.

pentru 2010 a V Generaie - 100 GigabitEthernet la Institutul IEEE.

n prezent tehnologia Ethernet sau i alte tehnologii LAN conforme standardului IEEE 802.3 opereaz la viteze de peste 10 Mbit/s. Aceasta este rata de transfer teoretic maxim. IEEE are ns proiecte de dezvoltare a standardelor de 40 i chiar 100 Gbit/s.

Primele retele Fast Ethernet, cunoscute si ca 100Base-T sau 100Base-X, au fost create in 1993. Ele sunt o dezvoltare a specificatiei 10base-T Ethernet si asigura o viteza de transfer date de 100 Mbps, iar daca se implimenteaza si tehnologia Full Duplex Ethernet 200 Mbps. Tehnologia 100Base-T poate fi usor implimentata in mediul Ethernet existent. Retelele pivot 100base-T pot fi utiizate pentru integrarea si dezvoltarea retelelor Ethernet din prima generatie.Sistemul de cablare 100Base-t poate fi realizat pe baza de cablu torsadat neecranat UTP de Categoria 3,4 sau 5, cablu ecranat STP sau cablu optic (100Base FX).In statiile retelei pot fi instalate pachete de interfata autoadaptabile 10/100 Mbps, ce permit operarea cu viteza de 100 Mbps sau 10 mbps, la alegere, folosind cablajul existent. Acest lucru, precum si posibilitatea comutatoarelor 100Base-t de a opera la viteze de 10 si 100 Mbps, faciliteaza esential integrarea in retelele 100Base-T a mijloacelor de retea 10Base-t, trecerea de la 10Base-T la 100Base-T.Medoda de acces este CSMA/CD(acces multiplu pina la 4canale).La FastEthernet pot fi cel mult 2 concentratoare,exista 2 categorii:universale(pot avea porturi de orce tip)si specializate(pot avea doar porturitsau porturiTX,FX.

Retelele Gigabit Ethernet se bazeaza pe o tehnologie Ethernet avansata, elaborata incepind cu anul 1996 pentru viteze de transfer date de 1 Gbps. Standardele respective sunt finisate in 1998, desi in 1997-1998 sunt implementate mai multe retele si diverse echipamente, inclusiv integrind retele locale de ganeratia 1 si 2.Standartele prevad urmatoarele specificatii:-1000Base T pentru cablu torsadat de categoria5,unde lungimea max a unui segment este de 100m;-1000Base-CX pentru cablu coaxial,unde lungimea max a unui segment este de 25m;-1000Base-SX,1000Base-LX pentru cablu optic cu lungime de unda scurta si lungime de unda lunga,unde lungimea max a unui segment este de 316m.In afara de aceasta in retelele GigaEthernet se mai pot folosi doar un repetor astfel la folosirea repetorului se poate obtine o retea cu segmente mixte.Agregarea legaturilor folosind un concentrator putem lega pina la 4conexiuni;folosirea metodei dublex-se folosesc p/u stocarea de date:SAN;in retelele metropolitane(se cer pina la zeci de km).

FDDI-construita in98.Lungimea sumara maxima e/e de 200km la nr.max de statii in retea-500{19,79}.Tehnologia FDDI originala denumita si FDDI-I e/e orintata la transmisia de date prin mediul de transport in mod pachet:transmisia unei secvente de pachete cu limitarea duratei de transmisie in timpul unei sesiuni,determ.de capturarea si apoi detinerea jetonului.Acesta tehnologie nu este adecvata pentru aplicatii multimedia,video si chiar audio,care cer asigurarea transmiterii unui traffic izocron-mentinera unei rate de transfer de date continue si constante intre nodurile respective ale retelei pe durata transmiterii intregului mesaj.Retele FDDI nu sau afirmat prea rapid pe piata din cauza costurilor ridicate.in primul rind al mediului de fibra optica.FDDI II este o extensia a FDD-I ea mentine serviciul de comutare pachete,gestionat prin tehnicajeton de controlal FDD-I,si ofera un serviciu de comutare circuite de 100Mbps.Capacitatea max a unui circuit comutat pote fi 6,144Mbps,iar nr.max de circuite comutate a cite 6,144Mbs este6

Tehnologia 10GigaEthernet este o dezvoltare a GigabitEthernet la viteza de operare 10Gbps,acesta prevede operarea in regimul dublex si deacea nu necesita folosirea protocolului de acces la mediu CSMA/CD.specificatii:10000Base T;10000Base F;10000Base CX4.Fibre optice are7 semniramificari,cablu coaxial,fire torsadate doar 1 specificatie,metoda de acces CSMA/CD,tehnologia poate fi utilzata si in retelele de arie larga in functie de specificatie,cel mai mare cablu de fir 40km,tehnologia e/e compatibila cu celelalte 3 tehnologii Ethernet,GigaEtherne..pot fi pina la 4 canale.Se foloseste pe larg in retelele SAN.Retelele 10GigaEthernet sunt de la 1 septembrie 2008 relativ scumpe

Retele locale TokenRing prima retea lansata e/e in 1996,topologia este inel fizic,metoda de acces la mediul jeton,mediul de transmisie fire torsadate,STPType1,1A,numarul max de statii 256,in cadrul placii de retea functioneaza retele electronice care realizeaa ocolirea statiei deconectate .Echipamente speciale num.MAU MSAU.La TokenRing initial a fost implimentat metoda pe jeton,cu viteza de lukru de 4Mbps de institutul IEEE 802.5.Specificatii;pentru Ethernet-802.3,p/uFastEthenet-802.34,GigaEthernet-802.37,10GigaEthernet-802.3ae.Ulterior IBM a implimentat metoda jeton pe inel cu eliberare rapida viteza-10Mbps nu e/e standartizata de IEEE.In generatia 2 Tokenring nu are dezvoltare.In 2001 e/e aprobata standartizarea p/u GigabitTokenRing ambele tehnologii functioneaza eficient in sisteme de calcul IBM.(SNA,AIX,MUS)-in generatia 4 nu are dezvoltare.x Ethernet relizata de compania Xerox 1973.Specificatii:10Base-5(cablu coaxial,lungime max 500m);10Base-2(coaxial,lung.max 185);10Base-T(cablu cu fire torsadate,lungime max100m);10Base-F(cablu optic).

Topologia (structura) unei reele rezult din modul de conectare a elementelor reelei ntre ele. Ea determin i traseul concret pe care circul informaia n reea "de la A la B". Principalele tipuri de topologii pentru reelele LAN sunt:topologia Bus (nseamn magistral) - are o fiabilitate sporit i o vitez mare de transmisie;topologia Ring (inel) - permite ca toate staiile conectate s aib drepturi i funciuni egale;topologia Star (stea) - ofer o vitez mare de comunicaie, fiind destinat aplicaiilor n timp real.Reelele mai mari prezint o topologie format dintr-o combinaie a acestor trei tipuri.

3. Asigurarea veridicitii transportului de date n reele.Canalele de comunicatie functioneaza intr-un anumit mediu si sunt influentate de acesta. Influenta mediului modifica caracteristicile semnalelor de date transmise prin canal. In acest caz devine mai dificila valorificarea parametrilor initiali ai semnalelor la destinatie. Asemenea influente se numesc perturbatii.

In functie de modul de influenta asupra semnalului, perturbatiile se divizeaza in additive si multiplicative, iar dupa forma in armonice, in impulsuri si de fluctuatie. Perturbatii additive prezinta procese stohastice, care se suprapun semnalului ce se transmite. Exista perturbatii additive concentrate dupa frecventa (armonice), concentrate in timp (in impulsuri) si de fluctuatie.

Perturbatii multiplicative se prezinta in forma de modificari stohastice ale caracteristicilor canalului de comunicatie. Cauza ale perturbatiilor pot fi: descarcari electrice, statii emise radio, linii de tensione inalta, contacte necalitative in echipamente, intreruperi de scurta durata in linii, zgomot de incalzire, influenta reciproca a canalelor in liniile de comunicatii etc.

Transmisia de date fara erori in intervalul stabilit de timp este numita veridicitate. Deseopri veridicitatea transmisiei este joasa si se cere aplicarea unor masuri speciale de asigurare a veridicitatii necesare a transmisiei de date. Exista 2 categorii de metode de imbunatatire a veridicitatii transmisiei:

Imbunatatirea indicilor calitativi ai canalului de comunicatie, in baza inlaturarii cauzelor aparitiei erorilor sau a includerii in componenta canalului a unor echipamente suplimentare, care ar diminua influenta perturbatiilor

Introducerea de redundanta in mesajul transmis

La metode din prima categorie se refera metodele de receptie cu protectie la erori a elementelor unitare, bazate pe alegerea nivelului semnalului, a raportului semnal/zgomot, a latimii de banda a canalului, pe statica erorilor in canal s.a.

Metode din categoria a doua se bazeaza pe detectarea si corectarea erorilor prin introducerea artificiala de redundanta in mesajul de transmis.

4. Modelele arhitecturale de reea OSI ISO i TCP/IP.Modelul de referinta OSI (ISO) PENTRU RETELELE MARIIn incercarea de standardizare a protocoalelor de comunicatie, ISO a fost propus de catre Organizatia Inter-nationala pentru Standardizare un model de retea, structurat pe sapte niveluri ierarhice model cunoscut sub numele de modelul de referinta ISO pentru interconectarea sistemelor deschise sau, mai pe scurt, modelul de referinta OSI (ISO) . Prin sisteme deschise [Open System (OS)] se inteleg sisteme care fac publice conceptul si toate detaliile lor de implementare, permitand atasarea de noi entitati care ii respecta regulile (deci extinderea sa cu usurinta) dar si participarea specialistilor la perfectionarea sa.

Numarul de 7 niveluri pentru modelul de referinta OSI (ISO) a fost stabilit (prin negocieri al caror rezultat nu a intrunit o adeziune generala) avand in vedere urmatoarele considerente:

un numar prea mic de niveluri implica necesitatea gruparii unui numar excesiv de functii (servicii) intr-un acelasi nivel, rolul fiecarui nivel ne mai fiind astfel clar definit;

un numar prea mare de niveluri obliga la existenta unui numar mare de interfete intre ele, complicand excesiv circulatia informatiei utile in retea.

Modelul de referinta OSI conceput pentru WAN nu reprezinta un adevarat model de arhitectura de retea, caci el nu descrie exact serviciile si protocoalele ce trebuie utilizate la fiecare nivel, ci doar sarcinile pe care ar trebui sa le indeplineasca fiecare din ele; este drept ca CCITT a emis recomandari iar ISO a elaborat standarde internationale pentru protocoalele si serviciile de la toate nivelurile, dar ele nu fac parte din modelul propriu-zis. In cele ce urmeaza, prezentam succint rolul fiecarui nivel ierarhic al modelului de referinta OSI (ISO).

Nivelul fizic [physical layer] reprezinta interfata calculatorului sau terminalului cu canalul fizic / mediul de transmisie. Are sarcina de a transmite siruri de biti, convertindu-le in semnale care sa poata fi transmise eficient pe canalul fizic dintre doua IMP - in cadrul WAN - sau intre doua statii - in cadrul LAN.. Problemele ce trebuie rezolvate la acest nivel sunt de natura electrica, mecanica, procedurala si functionala. I Nivelul fizic (1) controleaza transmisia efectiva pe un anume mediu fizic in cadrul WAN pe fiecare tronson [hop] (legatura directa intre doua noduri) al unei cai.

Nivelul legaturii de date: Sarcina principala a nivelului legaturii de date [data link layer] este de a transforma un mijloc primar de transmitere a sirurilor de biti (adica ceea ce ofera legatura fizica controlata de nivelul ierarhic 1 al retelei) intr-un veritabil canal virtual de transmitere a informatiilor, fiabil si fara erori, pus la dispozitia nivelului 3 pentru fiecare tronson de pe o cale de comunicatie dintre doi utilizatori in cazul WAN facand ca o conexiune de nivel 3 sa fie insensibila fata de mediul si modul fizic de transmisie. In acest scop, la nivelul legaturii de date se indeplinesc urmatoarele functii: Stabileste adresele fizice (hard) ale dispozitivelor - calculatoare, terminale sau IMP - din retea; Fragmenteaza informatia primita de la nivelul 3 in unitati de informatie numite cadre / blocuri (de ordinul sutelor de octeti / baiti), pe care le transmite secvential. Solutioneaza problema alterarii sau chiar distrugerii cadrelor (din cauza perturbatiilor la care este supus canalul fizic).

Nivelul legaturii de date are misiunea transmiterea fara erori pe fiecare tronson al unui traseu, in cazul WAN a cadrelor, indiferent de mediul de transmisie utilizat.

Nivelul de retea [network layer] numit si nivelul subretelei de comunicatie controleaza operatiile din subretea, creand, mentinand cat este necesar si apoi intrerupand o conexiune virtuala pentru nivelul 4 intre utilizatorii finali.

Nivelul de retea (3) raspunde, in principal, de alegerea traseelor mesajelor intre utilizatorii finali si modificarea acestora fie in sensul asigurarii unor cai optime, fie pentru rezolvarea unor situatii anormale in sub-retea.

Nivelul de transport este primul dintre nivelurile de tip sursa-destinatie (OD) (spre diferenta de primele trei, la care protocoalele se desfasurau doar intre doua IMP de la capetele unui tronson de linie fizica dintr-o WAN) si cel care separa nivelurile orientate pe aplicatii (nivelurile 5, 6 si 7) - menite sa asigure livrarea corecta a datelor intre calculatoarele interlocutoare - de cele destinate operarii subretelei (nivelurile 1, 2 si 3) - responsabile cu vehicularea mesajelor prin retea (si care pot suferi modificari de implementare fara a influenta nivelurile superioare). In esenta, nivelul 4 preia informatia de la nivelul 5, o descompune, daca e necesar, in unitati mai mici (TPDU), si o trece nivelului 3, asigurand sosirea ei in forma corecta la destinatar.

Nivelul de sesiune reprezinta (daca ignoram nivelul 6 , care executa mai degraba anumite transformari ale informatiei) adevarata interfata a utilizatorului cu reteaua: cu acest nivel negociaza utilizatorul (un proces, uneori o persoana) pentru stabilirea unei conexiuni cu un (proces sau o persoana de la un) alt calculator, conexiune ce permite nu numai un transport de date (ca la nivelul 4), ci si furnizarea unor servicii deosebite, utile pentru anumite aplicatii (ca, de exemplu, conectarea/atasarea de la distanta, prin intermediul retelei, a unui utilizator la un calculator lucrand multiprogramat sau transferul unui fisier intre doua calculatoare).Deci acest nivel are rolul de a stabili o sesiune intre utilizatorioperatie numita uneori si stabilirea unei legaturi si de a administra (prin serviciile oferite) dialogul intre entitatile pereche de la nivelul 6.

Nivelul 5 determinaa cine este interlocutorul si stabileste comunicatia intre aplicatii, coordonand si sincronizand dialogul.

Nivelul de prezentare: Spre diferenta de primele cinci niveluri, care aveau sarcina de a transfera corect si fiabil unitati de informatie dintr-un loc in altul al retelei, nivelul de prezentare [presentation layer] se ocupa de semantica si sintaxa informatiilor transmise, facand conversiile de coduri de reprezentare a datelor numerice, sirurilor de caractere si comenzilor, precum si conversiile de formate ale fisierelor de la reprezentarea utilizata intr-un calculator la cea standardizata pentru retea si, in final, la cea utilizata in calculatorul interlocutor (reprezentare ce poate fi diferita de cea din primul calculator) oferind astfel coerenta informatiilor pe care programele de aplicatii le schimba intre ele sau la care se refera in cursul dialogului lor si, totodata, o independenta a utilizatorilor fata de caracteristicile eterogene ale echipamentelor.

Nivelul de aplicatie [application layer] ofera utilizatorilor (mai exact, programelor de aplicatii ale acestora) posibilitatea de acces la retea, cu toate seviciile pe carea aceasta i le poate furniza. Aici se face selectia serviciilor in functie de necesarul de comunicatie al aplicatiilor si se hotaraste multimea mesajelor permise, ca si actiunea intreprinsa la receptionarea fiecaruia din ele.

Standardele de servicii si protocoale ,elaborate de ISO pentru nivelul 7 al modelului de referinta OSI sunt numeroase si se inscriu in doua categorii:

A) Standarde utilizate in diferite aplicatii,

B) Standarde specifice anumitor tipuri de aplicatii.

Nivelul 7 permite accesul utilizatorilor la retea si selecteaza serviciile de comunicatie pentru aplicatiile care sunt destinate a rula in retea.

* Observatie: Desi, dupa cum am mentionat, notiunea de arhitectura a retelelor de calculatoare nu face referiri la modul de implementare a ei, este cazul sa mentionam urmatoarele:

Nivelurile 5, 6 si 7 sunt implementate in calculatoarele din WAN , adeseori in cadrul sistemului de operare al retelei [network operating system (NOS)].

Nivelul 4 este implementat adeseori printr-o parte a NOS ce se numeste statie de transport [transport station].

Nivelul 3 este implementat, de regula, in calculatoare si in IMP, printr-un program de interfatare ce asigura functionarea hardului [driver].

Nivelul 2 este implementat prin soft si partial prin hard. Nivelul 1 este implementat doar prin hard.

2 - Modelul TCP/IP pentru arhitectura inter-retelelor de calculatoare

Principiile si ideile ce stau la baza tehnologiei internet au rezultat din cercetarile Agentiei pentru Proiecte de Cercetare Avansate - Advanced Research Projects Agency (ARPA). Aceasta tehnologie include un set de standarde ce precizeaza detaliile privind modul in care calculatoarele comunica, precum si un set de conventii pentru interconectarea retelelor si dirijarea traficului. Numita oficial suita de protocoale internet TCP/IP [TCP/IP Internet Protocol Suite] - dupa numele celor doua principale standarde ale sale -, aceasta tehnologie poate fi utilizata pentru a comunica in orice multime de retele interconectate. Astfel, unele intreprinderi utilizeaza TCP-IP pentru a interconecta toate retelele din intreprindere, chiar daca nici una din ele nu are conexiune cu vreo retea exterioara; alte grupuri utilizeaza TCP/IP pentru comunicatia intre utilizatori aflati la distante geografice foarte mari.

Tehnologia TCP/IP formeaza baza pentru o internet la scara globala ce conecteaza universitati, intreprinderi industriale si comerciale, institutii guvernamentale, locuinte personale, etc. Printre cei care au participat la fondarea si utilizarea unei inter-retele globale bazate pe protocoalele TCP/IP - inter-retea desemnata prin termenul de Internet *) - se numara National Science Foundation (NSF), Department of Energy (DOE), Department of Defense (DOD), Health and Human Services Agency (HHS) si National Aeronautics and Space Administration (NASA) - toate din S.U.A. Aceasta inter-retea globala mai este cunoscuta si sub denumirile de ARPA/NSF Internet, TCP/IP Internet sau Internet globala. Ea a demonstrat viabilitatea tehnologiei TCP/IP si faptul ca aceasta permite interconectarea de retele de calculatoare bazate pe tehnologii eterogene.

Structura unei internet, vazuta ca mai multe retele fizice interconectate prin intermediul unor rutere, creaza o imagine inselatoare a conceptului de internet, intrucat atentia cea mai mare trebuie indreptata catre interfata pe care o internet o ofera utilizatorilor si nu catre tehnologia de interconectare. Un utilizator considera o internet drept o unica retea virtuala ce interconecteaza toate calculatoarele si prin care este posibila comunicatia; structura aferenta este mascata, dar mei ales irelevanta. Intr-un anumit sens, o internet este o abstractizare a retelelor fizice, intrucat, la niuvelul ei cel mai de jos, ea furnizeaza aceleasi functiuni ca o retea fizica: accepta pachete si le trimite. Nivelurile superioare ale software-ului de internet sunt cele ce contribuie cel mai mult la functionalitatea bogata perceputa de utilizatori.

Ca si modelul de referinta OSI-ISO, modelul arhitectural (conceptual) al software-ului unei internet bazate pe protocoalele TCP/IP este organizat pe niveluri ierarhice.

Dar acest model nu a provenit de la vreun organism de standardizare, ci a rezultat din cercetarile care au condus la suita (stiva) de protocoale TCP/IP.

In linii mari, suita de protocoale TCP/IP este organizata pe 5 niveluri conceptuale construite peste un nivel hardware.5. Tehnologii de reea de arie larg.Primele reele de calculatoare construite au fost reelele de arie larg. De regul reelele de arie larg sunt cu comunicaii comutate, utiliznd la necesitate i canale de comunicaie radio sau chiar cosmice. Tehnica cu comutare de mesaje este demult depit. Cea mai rspndita este tehnica cu comutare de pachete i modificrile ei mai recente: tehnica cu comutare cadre (Frame Replay) i tehnica cu comutare de celule (Cell Replay). Se utilizeaz i tehnica cu comutare de circuite, datorit dezvoltrii puternice a reelelor telefonice analogice, mai trziu i a celor numerice, iar n ultimii ani a reelelor numerice cu servicii integrate.Reelele telefonice sunt cele mai rspndite, cu cei mai muli abonai. Ele au devenit pentru mai muli ani suportul de baz i pentru transferul de date n reelele de calculatoare. Folosind canale telefonice comutate sau dedicate, se obine un transfer de date punct la punct" ntre perechile de staii respective. n baza lor pot fi construite reele de calculatoare cu comutare de circuite i canale dedicate.

Uzual ns, pentru transferul de date, mai ales la distante mari, se folosesc reele cu comutare de pachete. n asemenea reele canalele de transfer date ntre nodurile de comutaie pachete deseori sunt realizate pe baza de canale telefonice dedicate analogice sau numerice, uneori trunchiuri mai multe canale paralele. Conectarea terminalelor, calculatoarelor la nodurile de comutaie se face prin canale telefonice comutate sau dedicate.

Pentru canalele telefonice analogice se utilizeaz viteze de transfer date de la 0,3 la 56Kbps, iar pentru trunchiuri primare analogice viteze de 48-144 Kbps; pentru canalele telefonice numerice viteze de 56 sau 64 Kbps, iar pentru trunchiuri numerice viteze de la 128 Kbps la 2,048 Mbps.

n scurt timp dup apariia reelelor NPL i ARPA, au fost construite mai multe reele de calculatoare cu comutare de pachete. A devenit acut problema standardizrii, ndeosebi n scopul facilitrii itnerconectrii reelelor. Astfel n 1976 a aprut setul de standarde X.25 pentru reele de transfer date cu comutare de pachete.

Setul X.25 specific interfaa dintre echipamentul terminal de date, ce opereaza n mod sincron, si echipamentul de terminatie a circuitului de date respectiv (standardul X.21 pentru canale mnumerice si X.21 bis pentru canale analogice) si, de asemenea, protocoalele de comunicatie cu nodul adiacent de comunicatie a pachetelor (standardele HDLC si X.25 propriu-zis).

Una din primele retele X.25 este Transpac n Franta, care ulterior s-a extins n mai multe tari. Reteaua Transpac mpreuna cu Minitel are mai mult de 12 mln. Abonati. Din retele de tip X.25, cea mai mare arie de cuprindere o are reeaua Sprint. Ea ofera servicii n peste 140 tari, interactionnd cu circa 300 de retele publice sau de firma.

n scopul integrarii serviciilor de transmisie a informatiilor (voce, date, imagini), nca n 1965 a fost propusa implementarea Retelei Numerice cu Servicii Integrate (Integrated Services Digital Network - ISDN). n acest mod toate serviciile respective pot deveni la fel de raspndite ca serviciul telefonic. ntr-o retea ISDN nodurile de comutatie realizeaza att comutarea de canale, neaparat necesara transmisiei vocei la distanta, dar care poate fi utilizata si pentru transferul de date, ct si comutarea de pachete pentru transmisia de date. Astfel, ntr-o retea ISDN att mediul de transmisie ct si nodurile de comutatie sunt integrate fiind polifunctionale.

Conectarea echipamentelor abonailor la reea (nodul de comutaie adiacent) se face printr-un trunchi de transmisie date, numit tub de biti (bit pipe). Exista mai multe variante de acces tub de biti:acces de baza 2B+D, ce prevede un tub de biti din doua canale B de 64 Kbps si un canal D de 16 Kbps; acces primar 23B+D, ce prevede un tub de biti cu 23 canale B de 64 Kbps si un canal D de 64 Kbps (se foloseste n SUA, Canada, Japonia); acces primar 30B+d, ce prevede un tub de biti cu 30 canale B de 64 Kbps, un canal D de 64 Kbps si un canal D de 64 Kbps pentru semnalizare (se foloseste n Europa); acces hibrid A+C, ce include un canal telefonic analogic de 4 KHz si un canal C numeric de 8 sau 16 Kbps.

O data cu cresterea cantitatii canalelor de comunicatie, devine irationale corectarea erorilor la nodurile intermediare ale retelei de transfer date, realizata n retelele de tip X.25. n a doua jumatate a anilor 80 a fost propusa tehnologia de retea releu de cadre (Frame Replay). Aceasta tehnologie nu prevede recuperarea ci doar detecia erorilor, corecia erorilor trebuie sa fie suportata de echipamentele staiilor utilizatorilor. Astfel, protocoalele de comunicatie Frame Replay sunt mult mai simple dect la X.25, necesitnd mai putine cheltuieli de resurse ale nodurilor de comutatie si, respectiv, reducndu-se esential ntrzierile de transmisie a pachetelor. Dezvoltarea standardelor pentru Frame Replay a nceput n 1986, ele fiind publicate n forma finala n 1991.

O reea Frame Replay const din noduri de comunicaie Frame Replay, interconectate prin trunchiuri de comunicaie. Reelele Frame Replay se utilizeaz pentru interconectarea de reele. n acest reelele respective se conecteaz la nodurile de comutaie Frame Replay. Reelele Frame Replay suport viteze de acces de 56 Kbps i n x 64 Kbps pn la 1,544 Mbps, n SUA Canada i Japonia i pn la 2,048 Mbps n Europa, iar n dezvoltrile recente sunt posibile viteze de transfer de pn la 45 Mbps.

Serviciul de Date de Multi megabiti cu Comutare SMDS (Switched M