Sistem Informatic Pentru Evidenta Statistica In Activitati Sportive

Sisteme și Tehnologii Informatice Avansate

Sistem informatic pentru evidența statistică în activități sportive

Argument

În prezentarea de față voi aborda principalele aspecte ale bazei de date folosită de o echipa de fotbal pentru gestionarea contractelor încheiate cu fotbalistii, din perspectiva proiectantului de aplicații, utilizând ȋn realizarea sa SGBD-ul SQL Server, server puternic orientat pe performanță și scalabilitate înaltă.

Se au în vedere următoarele: definirea clară a problemei care constă în realizarea sistemului și scopul pentru care acesta este creat – automatizarea obținerii informațiilor necesare conducerii în scopul luării deciziilor.

De altfel, se mai au în vedere și avantajele pe care le aduce sistemul, ce activități economice se pot dezvolta prin intermediul acestuia și ce probleme se pot rezolva cu ajutorul lui.

Printre avantaje se numără:

Din punct de vedere administrativ- se reduc erorile în ceea ce privește gestiunea contactelor și se diminuează costurile operaționale;

Din punct de vedere executiv – personalul poate gestiona și obține date relevante în privința contactelor încheiate, se pot obține rapoarte în timp real despre situația contactelor si a jucatorilor, se îmbunătățește disponibilitatea și accesibilitatea datelor;

Din punct de vedere managerial: deciziile sunt luate în funcție de informațiile disponibile în acel moment , crește nivelul de onorare al contractelor și al integrității informațiilor financiare (se elimină problema “adevărurilor multiple” – fiecare departament avȃnd același set de rezultate în ceea ce privește contractele, datele contradictorii eliminȃndu-se) , se optimizează procesul de buisness.

Activitățiile pe care le sprijină sistemul sunt : estimarea tendințelor anumitor fenomene (creșterea sau scăderea numarului de contacte), îmbunătațirea , în timp real , a activității de management a echipei de fotbal, elaborarea unui sistem operațional cȃt mai eficient, facilitarea atingerii unor obiective strategice din punct de vedere al managementului și nu în ultimul rȃnd , desfășurarea unei activități cȃt mai productive pe palierul contactelor încheiate care influențează și celelalte funcții ale afacerii (de ex. Marketing-ul).

Problemele care se pot rezolva prin crearea acestui sistem informatic de evidență a contactelor sunt urmatoarele: integritatea datelor, informatizarea datelor, accesibilitatea rapidă la date, identificarea cu ușurință a datelor necesare anumitor prelucrări, protecția și securitatea datelor , modul de organizare a datelor etc.

Resursele de care se țin cont în realizarea acestui sistem informatic fac referire la resursele financiare , juridice operaționale , tehnice și de timp pentru a vedea dacă raportul dintre perioada necesară recuperării investițiilor din sistemul creat , beneficiile cantitative / calitative și obiectivele agenței este unul echitabil.

Structura proeictului va cuprinde 3 capitole:

1. Introducere

2. Tehnologia utilizată in realizarea softului de managemet – sunt utilizate două tehnologii fundamantale, C# si SQL Server.

3. Studiu de caz: “Sistem informatic pentru evidența statistică în activități sportive”. În acest capitol se vor prezenta etapele parcurse în realizarea aplicației, rapoartele ce vor fi generate pe baza datelor din baza de date, precum și graficele care vor evidenția activitatea echipei de fotbal, atât din punct de vedere economic cât și administrativ.

Capitolul 1. Introducere

1.1 Filosofia sistemelor informatice

Funcționarea unui sistem informațional decizional presupune desfășurarea următoarelor activități:

culegerea datelor despre starea sistemului condus și a mediului său înconjurător;

transmiterea datelor în vederea prelucrării;

prelucrarea datelor în scopul asigurării cu informații necesare procesului decizional;

adoptarea deciziilor și transmiterea acestora spre execuție;

asigurarea controlului și urmărirea înfăptuirii deciziilor.

Sistemul informațional face legătura între sistemul condus și sistemul de conducere, fiind subordonat acestora. Această legătură este bidirecțională. Se poate spune că sistemul informațional este „umbra” proceselor economice din unitate.

Utilizarea tehnicii de calcul a produs mutații în modul de realizare a activităților desfășurate în cadrul unui sistem informațional, și implicit a determinat apariția conceptului de sistem informatic.

Sistemul informatic este un ansamblu de elemente intercorelate funcțional în scopul automatizării obținerii informațiilor necesare fundamentării deciziilor.

S.I. se prezintă sub forma unei „cutii negre” care are intrări informaționale ce sunt transformate în informații de fundamentare a deciziilor prin intermediul unor resurse, reguli, proceduri.

Prin implementarea unor modele matematice și utilizarea tehnicii de calcul în activitățile specifice, sistemul informatic imprimă valențe sporite sistemului informațional sub aspect cantitativ și calitativ. Este vorba de creșterea capacității de calcul sub aspectul volumului datelor prelucrate și a operațiilor efectuate, creșterea exactității informațiilor, sporirea operativității, complexității și completitudinii situațiilor de raportare-informare etc. Toate acestea determină o apropiere mai mare a decidentului de fenomenele și procesele economice pe care le are în atenție, cu multitudinea aspectelor economice pozitive care derivă din aceasta.

În ceea ce privește raportul dintre sistemul informatic și sistemul informațional, se poate aprecia că sistemul informatic tinde spre egalarea dimensiunilor sistemului informațional, însă nu are sfera de cuprindere egală cu cea a celui din urmă, deoarece în cadrul sistemului informațional pot exista activități ce nu pot fi automatizate 100%.

1.2 Elementele componente ale sistemului informtic

Un sistem informatic este compus din 6 grupe de elemente:

A) Baza tehnico-materială – este constituită din totalitatea echipamentelor de culegere, verificare, transmitere, stocare și prelucrare a datelor. Reprezintă hardware-ul sistemului informatic.

B) Programele necesare SI – reprezintă software-ul sistemului informatic și cuprinde totalitatea programelor necesare pentru funcționarea acestuia: sistemul de operare, soft specializat pentru gestiunea datelor (SGBD, SGF), programe de aplicații.

C) Baza informațională – se referă la datele supuse prelucrării, fluxurile informaționale, sistemele și nomenclatoarele de coduri

D) Baza științifică și metodologică constă din modele matematice ale proceselor și fenomenelor economice, metode și tehnici de realizare a sistemelor informatice.

E) Resursele umane – sunt formate din personalul de specialitate (analiști, programatori, ingineri de sistem, administratori de baze de date, operatori etc) și din beneficiarii sistemului. Deoarece analiștii de sisteme informatice nu pot să cunoască specificul tuturor unităților beneficiare cu care ar putea veni în contact în decursul timpului, în echipa de realizare a sistemului informatic se cooptează și specialiști din partea unității beneficiare, care să aibă idee de ceea ce se poate face cu calculatorul, dar mai ales să știe foarte bine ce vor de la calculator, în contextul viitorului sistem informatic. Se crează deci o echipă mixtă de realizare a sistemului informatic.

F) Cadrul organizatoric – este specificat în regulamentul de organizare și funcționare (ROF) al unității în care funcționează sistemul informatic.

Obiectivul principal urmărit prin introducerea unui S.I. îl constituie asigurarea selectivă și în timp util a tuturor nivelurilor de conducere cu informații necesare și reale pentru fundamentarea și elaborarea operativă a deciziilor cu privire la desfășurarea cât mai eficientă a întregii activități din unitatea economică.

Obiectivul principal se referă deci la întreaga activitate din unitatea economică. În scopul cunoașterii mai îndeaproape a activității, și desfășurării acesteia în cele mai bune condiții, pot fi definite și alte obiective secundare, care sunt numite „condiții” pentru realizarea obiectivului principal. Între obiectivul principal și obiectivele secundare trebuie să existe o compatibilitate, în sensul că realizarea obiectivelor secundare trebuie să ducă la realizarea obiectivului principal. Reciproca este și ea valabilă.

1.3 Sisteme Informatice manageriale

SISTEMELE INFORMATICE manageriale furnizează informații pentru a sprijini activitatea de adoptare a deciziilor. Cele mai importante sisteme manageriale au drept obiective: raportări pre-definite și planificate pentru manageri – realizate de sistemele de raportare a informațiilor;

suport interactiv și ad-hoc pentru luarea deciziilor de către manageri – realizat de sistemele suport pentru decizii;

informații importante pentru managementul la vârf – furnizate de S.I. executive.

S.I. manageriale sunt proiectate pentru a furniza informații precise, oportune și relevante, necesare adoptării deciziilor efective. Conceptul de sistem informatic managerial a fost dezvoltat pentru a contracara o dezvoltare ineficientă și o utilizare ineficace a calculatoarelor electronice.

Importanța sistemelor informatice manageriale rezidă în faptul că acestea subliniază orientarea managerială a procesării informației în afaceri. Un scop important al sistemelor informatice bazate pe tehnologia informației și comunicațiilor este acela de suport pentru managementul luării deciziilor și nu doar de procesare a datelor generate de sistemul operațional. Aceasta subliniază faptul că trebuie folosit un cadru sistemic pentru a organiza activitățile și funcțiunile sistemelor informatice.

1.4 Etapele parcurse în dezvoltatea aplicației

În general există urmatoarele etape de dezvoltare al unui produs software:

analiza cerințelor

proiectarea arhitecturală

proiectarea detaliată

scrierea codului

integrarea componentelor

validare

verificare

întreținere

Analiza cerințelor

Se stabilește ce anume vrea clientul ca programul sa facă. Scopul este înregistrarea cerintelor într-o maniera cât mai clară și mai fidelă. Claritatea se referă la lipsa ambiguitații iar fidelitatea la înregistrarea cât mai exactă (posibil cuvânt cu cuvânt).

Proiectarea arhitecturală

Din motive de complexitate, programele mari nu pot fi concepute și implementate ca o singură bucată. Programul va trebui construit, așadar, din module sau componente. Proiectarea arhitecturală împarte sistemul într-un numar de module mai mici și mai simple, care pot fi abordate individual.

Proiectarea detaliată

Se realizează proiectarea fiecarui modul al aplicației, in cele mai mici detalii.

Scrierea codului

Proiectul detaliat este transpus într-un limbaj de programare. În mod tipic, aceasta se realizează modular, pe structura rezultată la proiectarea arhitecturală.

Integrarea componentelor

Modulele programului sunt combinate în produsul final. Rezultatul este sistemul complet.

Validare

În procesul de validare ne asigurăm că programul îndeplinește cerințele utilizatorului. Un exemplu de validare este testul de acceptare, în care produsul este prezentat clientului. Clientul spune dacă este mulțumit cu produs sau daca mai trebuie efectuate modificări.

Verificare

În procesul de verificare ne asigurăm că programul este stabil și că funcționează corect din punctul de vedere al dezvoltatorilor. Întrebarea la care raspundem este: construim corect produsul?

Intretinere

După ce programul este livrat clientului, mai devreme sau mai târziu sunt descoperite defecte sau erori ce trebuie reparate. De asemenea, pot aparea schimbări in specificațiile utilizatorilor, care vor diverse imbunătățiri.

Figura 1.1 Etapele parcurse in proiectarea sistemului software

– Determinarea cerințelor care influențează arhitectura – presupune crearea unui model al cerințelor care va dirija proiectarea arhitecturii.

– Proiectarea arhitecturii – definirea structurii și a responsabilităților componentelor care formează arhitectura.

– Validarea – testarea arhitecturii; de obicei se realizează parcurgând lista de cerințe și eventualele cerințe ulterioare și verificarea faptului că arhitectura proiectată în etapa anterioară permite implementarea cerințelor.

Etapele enumerate mai sus sunt parcurse iterativ până când se obține o arhitectură validă. În continuare vor fi prezentate în detaliu cele trei etape.

Procesul de identificare a cerințelor care afectează arhitectura are două tipuri de intrări: pe de o parte arhitectul trebuie să analizeze cerințele funcționale, iar pe de altă parte el trebuie să țină cont și de cerințele venite din partea celor care vor interacționa cu aplicația. În urma analizei efectuate asupra celor două tipuri de cerințe rezultă cerințele care influențează arhitectura sistemului software.

Un alt aspect care trebuie avut în vedere vis-a-vis de cerințele care influențează arhitectura unui sistem software, este faptul că aceste cerințe nu sunt egale, unele fiind mai importante decât altele. De aceea este necesară o prioritizare a acestor cerințe. De obicei se folosesc trei niveluri de prioritizare:

– Ridicată – sistemul software trebuie să implementeze cerințele cu această prioritate. Aceste cerințe au un cuvânt greu de spus în ceea ce privește arhitectura.

– Medie – cerințele cu această prioritate vor trebuii implementate la un moment dat, dar nu sunt absolut necesare pentru prima versiune.

– Scăzută– funcționalități dorite, dar care se pot implementa în măsura posibilităților.

Prioritizarea cerințelor se complică atunci când apar conflicte între cerințe, de exemplu: timp scurt până la scoaterea pe piață a produsului versus dezvoltarea de componente generice și reutilizabile. De cele mai multe ori rezolvarea acestor conflicte nu este ușoară, dar este sarcina arhitectului să le rezolve.

Figura 1.2 Exemple de cerințe care acționează ca și constrangeri

Proiectarea Arhitecturii

Reprezintă cea mai importantă acțiune întreprinsă de către arhitect. Un document de cerințe foarte bine structurate, respectiv o comunicare bună cu restul echipelor implicate în proiect nu însemnă nimic dacă se proiectează o arhitectură slabă. Etapa de proiectare a arhitecturii are ca și intrări cerințele obținute în etapa anterioară iar ca rezultat se obține un document care descrie arhitectura sistemului software.

Proiectarea arhitecturii se realizează în doi pași: primul pas se referă la alegerea unei strategii globale, iar al doilea constă din specificarea componentelor individuale și a rolului pe care fiecare componentă îl joacă în arhitectura globală.

Capitolul 2. Tehnologii utilizate

2.1. C#

Lansat publicului in iunie 2000 și oficial în primavara anului 2002, C# este un limbaj de programare care combină facilități testate de-a lungul timpului cu inovații de ultim moment. Creatorii acestui limbaj au fost o echipă de la firma Microsoft condusa de Anders Hejlsberg. Deși limbajul este creat de Microsoft, acesta nu este destinat doar platformelor Microsoft. Compilatoare C# există și pentru alte sisteme precum Linux sau Macintosh. Creat ca instrument de dezvoltare pentru arhitectura .NET, limbajul oferă o modalitate facilă și eficientă de a scrie programe pentru sistemul Windows, internet, componente software etc. C# derivă din două dintre cele mai de succes limbaje de programare: C și C++. De asemenea, limbajul este o “ruda” apropiată a limbajului Java. Pentru o mai bună înțelegere a limbajului C# este interesant de remarcat care este natura relațiilor acestuia cu celelalte trei limbaje mentionate mai sus. Pentru aceasta, vom plasa mai intai limbajul C# în contextul istoric determinat de cele trei limbaje.

Limbajul C.

Programarea structurată – Limbajul C a fost inventat de către Dennis Ritchie în anii ‘70 pe un calculator pe care rula sistemul de operare UNIX. Limbajul C s-a dezvoltat în urma revoluției programării structurate din anii ’60. Înainte de programarea structurată, programele erau greu de scris și de înțeles din cauza logicii. O masă încâlcită de salturi, apeluri și reveniri, greu de urmărit era cunoscută sub numele de cod spaghetti. Datorită sintaxei sale concise și ușor de utilizat, in anii ‘80, limbajul C a devenit cel mai răspândit limbaj structurat. Limbajul C are însă limitele sale. Una dintre acestea o reprezintă incapacitatea de a lucra cu programe mari. Limbajul C ridică o barieră atunci când programul atinge o anumită dimensiune. Acest prag depinde de program, instrumentele folosite, programator, dar este posibil să se situeze in jurul a 5000 de linii de cod.

Ca parte a ansamblului strategiei .NET, dezvoltată de Microsoft, la finele anilor ’90 a fost creat limbajul C#. C# este direct înrudit cu C, C++ si Java. “Bunicul” limbajului C# este C-ul. De la C, C# moștenește sintaxa, multe din cuvintele cheie si operatorii. De asemenea, C# construiește peste modelul de obiecte definit în C++. Relația dintre C# și Java este mai complicată. Java derivă la randul său din C și C++. Ca și Java, C# a fost proiectat pentru a produce cod portabil. Limbajul C# nu derivă din Java. Între C# și Java există o relație similară celei dintre “veri”, ele derivă din același strămoș, dar deosebindu-se prin multe caracteristici importante. Limbajul C# conține mai multe facilități novatoare, dintre care cele mai importante se referă la suportul încorporat pentru componente software. C# dispune de facilitati care implementeaza direct elementele care alcătuiesc componentele software, cum ar fi proprietațile, metodele și evenimentele. Poate cea mai importantă facilitate de care dispune C# este posibilitatea de a lucra într-un mediu cu limbaj mixt.

Limbajul C# conține un set de tipuri predefinite (int, bool etc.) și permite definirea unor tipuri proprii (enum, struct, class etc.)

Conversii numerice:

În C# existã două tipuri de conversii numerice:

• implicite

• explicite.

Conversia implicită se efectuează (automat) doar dacă nu este afectată valoarea convertită.

Regulile de conversie explicită sunt descrise de tabelul următor:

Figura 2.1 Reguli de conversie

Principiile programării orientate obiect

Metodologiile de programare s-au modificat continuu de la apariția calculatoarelor pentru a ține pasul cu marirea complexității programelor. Pentru primele calculatoare, programarea se făcea introducând instrucțiunile în mașina de scris in binar. Pe măsură ce programele au crescut s-a inventat limbajul de asamblare, în care se puteau gestiona programe mai mari prin utilizarea unor reprezentări simbolice ale instrucțiunilor masinii. Cum programele continuau să crească, s-au introdus limbaje de nivel înalt, precum FORTRAN si COBOL, iar apoi s-a inventat programarea structurată. POO a preluat cele mai bune idei de la programarea structurată, combinându-le cu concepte noi. A rezultat o modalitate diferită de a organiza un program. În fapt, un program poate fi organizat în două moduri: în jurul codului (mod de lucru descris de sintagma “codul actioneaza asupra datelor”, valabil in cazul programării structurate) sau în jurul datelor (abordare descrisă de sintagma “datele controlează accesul la cod”, valabilă în cazul programării orientate obiect).

Toate limbajele POO au patru caracteristici comune: încapsularea, polimorfismul, moștenirea și reutilizarea. Încapsularea este un mecanism care combina codul și datele pe care le manipulează, menținând integritatea acestora fată de interferența cu lumea exterioară. Încapsularea mai este folosită și la realizarea de cutii negre, întrucât se ascunde funcționalitatea proceselor. Când codul și datele sunt încapsulate se creaza un obiect. În cadrul unui obiect, codul și datele pot fi publice sau private. Codul și datele private sunt accesibile doar în cadrul aceluiași obiect, în timp ce codul și datele publice pot fi utilizate și din părți ale programului care există in afara acelui obiect.

Unitatea fundamentală de încapsulare este clasa. Clasa specifică datele și codul care operează asupra datelor. O clasă definește forma unui obiect. Sau altfel spus, o clasă reprezintă o matriță, iar un obiect reprezintă o instanță a clasei. Polimorfismul este calitatea care permite unei interfețe sa aibă acces la un grup generic de acțiuni. Termenul este derivat dintr-un cuvânt grecesc având semnificația “cu mai multe forme”. Spre exemplu, să presupunem că avem nevoie de o routină care să returneze aria unei forme geometrice, care poate fi un triunghi, cerc sau trapez. Întrucât ariile celor trei forme se calculează diferit, routina trebuie sa fie adaptată la datele pe care le primește încat să distingă despre ce fel de forma este vorba și să returneze rezultatul corect.

Conceptul de polimorfism este exprimat prin sintagma “o singură interfață mai mlte metode”.

Moștenirea

Moștenirea este procesul prin care un obiect poate dobândi caracteristicile altui obiect. Prin utilizarea moștenirii si încapsulării clasa amintită poate fi reutilizată. Nu mai este nevoie să testăm codul respectiv ci doar să il utlizăm corect.

Părțile componente ale unei aplicații C#

Un limbaj de programare este compus dintr-o serie de cuvinte cheie care au semnificații speciale. Un program utilizează aceste cuvinte împreună cu alte cuvinte adiționale și simboluri într-o formă organizată. Un program C# include următoarele:

Figura 2.2 Cuvinte cheie în C#

În C# sunt definiți mai mulți operatori. În cazul în care într-o expresie nu intervin paranteze, operațiile se execută conform priorității operatorilor. În cazul în care sunt mai mulți operatori cu aceeași prioritate, evaluarea expresiei se realizează de la stânga la dreapta. În tabelul alăturat prioritatea descrește de la 0 la 13.

Figura 2.3 Operatori în C#

2.2. SQL Server

SQL (Structured Query Language) este un limbaj neprocedural pentru interogarea și prelucrarea informațiilor din baza de date. Întrucât este un limbaj declarativ, utilizatorul trebuie să descrie ceea ce trebuie să obțină fară să indice modul de obținere a rezultatului.

Compilatorul limbajului SQL generează automat o procedură care accesează baza de date și execută comanda.

Principalele caracteristici prin care limbajului SQL diferă de alte limbaje sunt:

asigură accesarea automată a datelor;

operează asupra unor seturi de date, și nu asupra elementelor individuale;

permite programarea la nivel logic, fără a pune accent pe detaliile implementării.

Instrucțiunile SQL pot fi grupate în mai multe categorii, în funcție de tipul acțiunii pe care o realizează. Unele dintre aceste categorii sunt evidențiate ca limbaje în cadrul SQL, după cum urmează:

DDL52 – limbajul de definire a datelor.

Instrucțiunile DDL sunt utilizate pentru definirea structurii obiectelor. Aceste comenzi permit :

 crearea, modificarea, ștergerea obiectelor din bază , inclusiv baza însăși

(CREATE, ALTER, DROP);

 ștergerea datelor din obiectele bazei, cu păstrarea structurii acestora

(TRUNCATE)

 redenumirea obiectelor (RENAME)

 acordarea / revocarea unor privilegii (GRANT, REVOKE)

DML53 – limbajul de manipulare (prelucrare) a datelor.

Instrucțiunile DML sunt utilizate pentru interogarea și prelucrarea obiectelor bazei de date. Aceste comenzi permit :

 selectarea datelor din tabele (SELECT);

 adăugarea înregistrărilor în tabele sau vizualizări (INSERT);

 modificarea valorilor unor coloane din înregistrări existente în tabele sau

vizualizări (UPDATE);

 adăugarea sau actualizarea condiționată a unor înregistrări în tabele sau

vizualizări (MERGE);

 ștergerea înregistrărilor din tabele sau vizualizări (DELETE);

DCL55 – limbajul de control al datelor.

Instrucțiunile DCL gestionează modificările efectuate de către comenzile DML și grupează aceste comenzi în unități logice, numite tranzacții. Aceste comenzi permit :

 permanentizarea modificărilor unor tranzacții (COMMIT);

 anularea totală sau parțială a modificărilor dintr-o tranzacție (ROLLBACK);

 definirea unui punct până la care se poate anula tranzacția (SAVEPOINT);

Un produs complex de accesare și prelucrare a bazelor de date așa cum este SQL Server permite scrierea unor secvențe de cod SQL complexe, grupate în proceduri stocate sau declanșatori. Majoritatea aplicațiilor utilizează în principal instrucțiuni DML.

Caracterizarea SGBDR

Sistemele relaționale îndeplinesc funcțiile unui SGBD cu o serie de aspecte specifice care rezultă din definirea unui SGBDR.

Caracterizarea SGBDR se poate face pe două niveluri: global (sistemele relaționale sunt privite ca o categorie distinctă de SGBD) și particular (fiecare SGBDR are aspecte individuale comparativ cu altele similare).

A. Mecanismele și instrumentele care ajută la caracterizarea globală a SGBDR-urilor sunt: limbajele relaționale, protecția datelor, optimizarea cererilor de regăsire, utilitarele specializate.

1) Limbajele relaționale

SGBDR oferă seturi de comenzi pentru descrierea și manipularea datelor. Acestea pot fi incluse într-un singur limbaj relațional (SQL, QUEL, QBE, SQUARE, ALPHA, ISBL) sau separate în LDD și LMD. În ambele situații, comenzile pentru definirea datelor sunt distincte de cele pentru manipularea datelor.

Limbajele relaționale de definire a datelor (LDD) sunt simplificate, cu puține comenzi. Descrierea datelor este memorată în BDR, sub formă de tabele, în dicționarul (metabaza) bazei de date. Facilități de descriere sunt prezente în SGBDR prin comenzi, care definesc anumite operații, la nivelurile: conceptual, logic, fizic.

Limbajele relaționale de manipulare a datelor (LMD) pot fi caracterizate după criterii generale, funcționale și calitative.

a) Caracterizarea generală a LMD se face după modul de tratare a datelor, operatorii relaționali, realizatorii și utilizatorii limbajului.

Modul de tratare a datelor. Toate LMD relaționale realizează o tratare la nivel de ansamblu a datelor: unitatea de informative pentru lucru este tabela. Avantajele sunt date de posibilitatea gestionării automată a tuplurilor duplicate și prelucrarea paralelă a ansamblurilor.

La comunicarea unui LMD relațional cu un limbaj universal, avantajele se pierd deoarece comunicarea se poate face doar tuplu cu tuplu și nu la nivel de ansamblu. Deoarece limbajele universale oferă alte avantaje legate de proceduralitate, soluția este de a integra în acestea un limbaj relațional. Cursorul este soluția în SGBDR pentru a face trecerea de la tratarea la nivel de ansamblu la cea la nivel de înregistrare (tuplu).

Operatorii relaționali implementați. SGBDR s-au dezvoltat, din punct de vedere relațional, având la bază calculul relațional orientat pe tuplu (ALPHA, QUEL), calculul relațional orientat pe domeniu (QBE), algebra relațională (ISBL), transformarea (mapping) (SQL, SQUARE). Limbajele bazate pe calculul relațional sunt neprocedurale, cele bazate pe algebra relațională sunt procedurale, celelalte sunt combinații.

Realizatorii limbajelor relaționale s-au orientat pe domenii precise din teoria relațională. Astfel, au rezultat: limbaje relaționale standardizate internațional (exemplu SQL – ANSI), limbaje cu standard de utilizare impus de constructor (exemplu QUEL), limbaje nestandardizate (celelalte limbaje relaționale).

Utilizatorii limbajelor relaționale sunt mult diversificați. SGBDR oferă atât elemente procedurale (pentru specialiști) cât și neprocedurale (pentru nespecialilști).

b) Caracterizarea funcțională a LMD se face după facilitățile de interogare, actualizare a datelor, etc.

Facilitățile de interogare a datelor. Acestea sunt puternice și oferite prin comenzi pentru interogarea tabelelor de bază (exemplu SELECT) și interogarea tabelelor virtuale (exemplu SELECT).

Facilitățile de actualizare a datelor. Acestea se referă la actualizarea tabelelor de bază și a tabelelor virtuale prin comenzile: INSERT INTO (adaugă rânduri la sfârșitul unei tabele); UPDATE ( modifică rânduri dintr-o tabelă); DELETE FROM (șterge rânduri dintr-o tabelă). Unele SGBDR nu permit actualizarea tabelelor virtuale (exemplu Foxpro), altele permit acces lucru cu o serie de restricții pentru ca operația să se propage spre tabelele de bază fără ambiguități (exemplu DB2, Oracle).

Alte facilități funcționale. La facilitățile relaționale de mai sus, SGBDR-urile oferă și alte facilități pe care le au toate limbajele de programare procedurale cum sunt: calculul aritmetic prin operatorii specifici (+, -, *, /, **); agregarea prin funcții standard (SUM) și prin comenzi (COMPUTE OF expr ); comenzi de intrare/ieșire standard (ACCEPT…PROMPT…).

c) Caracterizarea calitativă a LMD se face după puterea selectivă, ușurința de învățare, utlizare și eficiența limbajului.

Puterea selectivă a LMD relaționale este dată de posibilitatea selectării datelor după criterii (filtre) complexe (exemplu comanda SELECT).

Ușurința de învățare și utilizare este nuanțată în funcție de tipul LMD-ului relațional. Cele bazate pe calculul relațional sunt neprocedurale (descriptive), deci ușor de învățat și utilizat (apropiat, ca stil, de limbajul natural) (exemplu QUEL) iar cele bazate pe algebra relațională sunt procedurale (algoritmice), deci mai greu de învățat și utilizat (exemplu ISBL). Cele intermediare promovează stilul neprocedural dar acceptă și elemente de control procedural (exemplu SQL) iar cele bazate pe grafică oferă primitive grafice pentru machetarea cererilor de regăsire, deci ușor de utilizat (exemplu QBE).

Eficiența utilizării este determinată de posibilitatea optimizării cererilor de regăsire. LMD bazate pe calculul relațional lasă compilatorul să aleagă ordinea de execuție a operațiilor, deci rezultă o eficiența mare. LMD bazate pe algebra relațională au o ordine impusă pentru execuția operațiilor, deci rezultă o eficiență mica.

2) Protecția datelor

Aspectele privind protecția datelor sunt foarte importante pentru un sistem de baze de date și ele trebuie implementate de către SGBDR.

Protecția bazei de date se referă la integritatea datelor (integritatea semantică, concurența la date, salvarea/restaurarea) și securitatea datelor (autorizarea accesului, viziunile, procedurile speciale, criptarea).

a) Integritatea semantică. Definirea restricțiilor de integritate se face, conform cerințelor modelului relațional, în LDD (exemplu CREATE TABLE, ALTER TABLE). Utilizarea restricțiilor de integritate se face cu ajutorul unor mecanisme care controlează validitatea regulilor pentru fiecare nouă stare a BD. Aceste mecanisme sunt metode de detectare a inconsistenței datelor (se verifică restrcițiile de integritate) la sfârșitul tranzacțiilor, care se realizează automat de SGBDR și puncte de verificare a integrității fixate de utilizator, acolo unde dorește el în program.

b) Concurența la date (coerența). Unitatea de lucru pentru asigurarea coerenței datelor este tranzacția. Aceasta este un ansamblu de comenzi tratate unitar. Tranzacția se execută în totalitate sau deloc. Coerența poate fi afectată la actualizarea concurentă sau la incidente.

Mecanismele utilizate de SGBDR pentru asigurarea coerenței datelor (controlul accesului concurent) sunt:

• Blocarea la diferite niveluri: bază de date, tabelă, tuplu, atribut;

• Definirea unor puncte de salvare în interiorul tranzacțiilor (exemplu

comanda savepoint);

• Tranzacții explicite (begin și end transaction) și implicite (comenzile

de actualizare);

• Fișiere jurnal.

3) Optimizarea regăsirii

Cererile de regăsire se exprimă în SGBDR în diferite limbaje relaționale. Pentru a se obține un rezultat optim, se utilizează interfețe automate de rescriere a cererilor de regăsire, prin parcurgerea a doi pași:

• Exprimarea cererilor de regăsire sub forma unor expresii algebrice relaționale, care are la bază echivalența dintre calculul și algebra relațională .

• Aplicarea unor transformări algebrice relaționale asupra expresiilor construite în pasul anterior, pentru a se obține expresii relaționale echivalente și eficiente.

Transformarea se poate realiza prin doua strategii de optimizare: generale, specifice.

Strategiile generale sunt independente de modul de memorare a datelor. Ele se bazează pe propietățile operațiilor din algebra relațională (comutativitatea, asociativitatea, compunerea ). Astfel de strategii sunt: selecția înaintea joncțiunii, proiecția înaintea joncțiunii, selecția înaintea proiecției, combinarea selecției multiple.

Strategiile specifice țin cont de modul de memorare a datelor și ele sunt caracteristice unui SGBDR. Elementele care influențează executarea operațiilor ce intervin la o cerere de regăsire sunt: accesul direct, reguli de ordonare a expresiilor algebrice specifice unui SGBDR.

4) Utilitarele specializate

Posibilitatile de utilizare ale unui SGBDR sunt influențate de utilitarele specializate pe care le are, pentru diferitele categorii de utilizatori (în Oracle: Developer pentru dezvoltatori, Designer pentru analiști, Administration Tools și Utilities pentru administrator etc.).

B. Pentru a face o caracterizare particulară, un anumit SGBDR vom lua în considerare o serie de criterii de comparație. Aceste criterii se vor urmări, grupate pe anumite categorii, pentru câteva SGBDR-uri care ne interesează. După această analiză vom avea un argument serios pentru a putea alege un SGBDR în scopul dezvoltării unei aplicații cu baze de date.

Gruparea caracteristicilor particulare de comparație a SGBDR-urilor o vom face în funcție de facilitățile de descriere, manipulare, utilizare și administrare a datelor.

Caracteristicile în funcție de facilitățile de descriere sunt: modul de implementare a modelului relațional; conceptul de bază de date utilizat în schemă; definirea metadatelor; definirea relațiilor virtuale; actualizarea schemei relației; restricțiile de integritate ce pot fi declarate.

Caracteristicile în funcție de facilitățile de manipulare sunt: LMD relațional implementat; funcțiile de calcul aritmetic și funcțiile agregate; modurile de acces la date; programarea orientată-obiect; tratarea valorii NULL; optimizarea cererilor de regăsire; actualizarea relațiilor de bază și virtuale.

Caracteristicile în funcție de facilitățile de utilizare și administrare sunt: instrumentele de dezvoltare; instrumentele CASE; instrumentele analize statistice; software-ul pentru acces de la distanță; utilitarele de întreținere; mecanismele pentru autorizarea accesului la date.

2.4 Arhitectura SQL Server

Bibliografie

Booch G. – Object-Oriented Analysis and Design with Applications, Addison-Wesley Publishing company (1994)

Dumitrescu M. – Introducere în management și management general, Editura Eurounion S.R.L. Oradea (1995)

Fabian C. și col. – Proiectarea sistemelor informatice-metode de realizare, Editura SYLVI, București 2001

Herbert Schildt, C#: A Beginner’s Guide, (2001)

Ion Smeureanu, Marian Dârdală, Adriana Reveiu, "Visual C# .Net", Editura CISON, București 2004

Karli Watson, Beginning C# 2005 Databases, Wiley Publishing, Inc. (2006)

Kris Jamsa si Lars Klander, Totul despre C si C++ Manualul fundamental de programare in C si C++, Ed. Teora, (traducere 2007)

Velicanu, M., Lungu, I., Muntean, M., Ionescu, S., Sisteme de baze de date. Teorie și practică, Editura Petrion, București, 2003

***, http://www.seap.usv.ro/~sorinv/PSI.pdf

***, http://www.utgjiu.ro/conf/8th/S3/20.pdf

***, http://www.zota.ase.ro/simp/Sistem%20informational.pdf

***, Proiectarea sistemelor comlexe, Curs 13

Similar Posts

  • Securitatea Retelelor Tcp Ip

    CUPRINS INTRODUCERE 1.SECURITATEA REȚELELOR DE CALCULATOARE 1.1.Modelul de securitate în rețele 1.2.Obiective de securitate urmarite in realizarea unei rețele 1.3.Categorii de atacuri asupra rețelelor de calculatoare 1.4.Metode de apărare 2.SECURITATEA PE INTERNET 2.1.Securitatea serviciilor internet 2.2.Funcționarea serviciilor INTERNET 2.3.Securitatea prin firewall Filtrarea de pachete 2.4.Securitatea prin criptare 2.4.1.Istoric. Evoluție 2.4.2.Algoritmi criptografici cu cheie secretă Algoritmul…

  • Geometria Euclidiana

    CUPRINS BIBLIOGRAFIE A.C.Albu, V.O.Bădeanu, I.P.Popescu – Geometrie pentru perfecționarea profesorilor, Editura Didactică și Pedagogică, 1983. A.Bălăucă – Culegere de probleme de matematică, Editura Taida, D.Brânzei, S. Aniță, C.Cocea – Planul și Spațiul Euclidian, Editura Academiei, București, 1980. I.Cerghit – Metode de Învățământ, Editura Polirom, 2006. M.Chiriță, D.Gheorghiu – Aplicații ale calculului vectorial în matematica de…

  • Blog Web In Codeigniter

    ”BLOG WEB în CodeIgniter” CUPRINS CUPRINS Listă de Figuri INTRODUCERE 1. BLOG-UL, UN MIJLOC MODERN DE COMUNICARE 1.1 Descriere 1.2 Clasificare 1.3 Utilizare 2. TEHNOLOGII WEB 2.1 PHP (Hypertext Preprocessor) 2.1.1 Ce este PHP? 2.1.2 Utilizarea PHP-ului 2.1.3 Caracteristici 2.1.4 Trecerea de la PHP 4 la PHP 5 2.2 Apache De ce Apache WEB Server?…

  • Curbe Inchise Izoperimetrice

    Сurbе înсһіsе іzopеrіmеtrісе Сuprіns Ιntroduсеrе Gеomеtrіɑ dіfеrеnțіɑlă еstе o rɑmură ɑ mɑtеmɑtісіі, сɑrе сombіnă gеomеtrіɑ ɑnɑlіtісă сu ɑnɑlіzɑ mɑtеmɑtісă. Gеomеtrіɑ dіfеrеnțіɑlă studіɑză сurbеlе șі suprɑfеțеlе сu mіϳloɑсеlе ɑnɑlіzеі, în spесіɑl prіn сɑlсul dіfеrеnțіɑl șі іntеgrɑl, сu sсopul dе ɑ сɑlсulɑ lungіmеɑ totɑlă sɑu pɑrțіɑlă ɑ unеі сurbе prесum șі ɑlțі pɑrɑmеtrіі ɑі ɑсеstеіɑ сum ɑr…

  • Mediul de Dezvoltare Integrat (ide) Microsoft Visual Studio 2013

    CUPRINS Capitolul I. Introducere Context Aici se va scrie despre domeniul temei alese, despre medicina si aplicatiile informatice Domeniul temei Aici scri despre bolile cronice si importanta monitorizarii lor Tema proiectului Descrii in linii mari proiectul Capitolul II. Studiu bibliografic Cauti aplicatii existente si le descrii+screensoturi La sfarsit faci o scurta comparatie intre ele Capitolul…

  • Instrumentatie Virtuala In Tehnologii Web

    Instrumentatie virtuală in Tehnologii web CUPRINS Notiuni introductive : Termenul „tehnologie” reprezinta ansamblul metodelor , operatiilor sau proceselor facute sau aplicate pentru a realiza un anumit produs . Termenul „tehnologie” provine din limba greaca tekhnologia , semnificatia originala fiind „discurs asupra artelor „ .In secolul 17 , apare in limba engleza , fiind utilizat pentru…