Documente Academic
Documente Profesional
Documente Cultură
LUCRARE DE LICENȚĂ
Funcții statistice în SQL.
Studiu de caz: analiza datelor privind jocurile olimpice
Coordonator, Student,
Prof.Univ.Dr. Marin Fotache Vasilică Lavinia-
Andreea
Matricol:
310440501RSL181169
Grupa: 34
IULIE 2021
Cuprins
INTRODUCERE 5
CAPITOLUL I: Importanța SQL în modelarea proceselor de afaceri 6
1.1 Nucleul SQL în SGBD-uri actuale 6
1.2 Analiza SGBD-urilor actuale - comparatii intre cele mai importante SGBD-URI
(SQL SERVER/ORACLE/ACCESS/ FOXPRO) 9
1.3 Tipuri de funcții SQL și utilizarea acestora 12
1.4 Importanța funcțiilor statistice în analiza seturilor de date 14
CAPITOLUL II: Particularitățile jocurilor olimpice 15
2.1 Platforme pentru analiza datelor jocurilor olimpice 15
2.2 COVID-19 și impactul acestuia asupra jocurilor olimpice 18
2.3 Jocurile olimpice – de la sport la industrie? 21
2.4 Principalele probleme generate de COVID-19 asupra desfășurării jocurilor olimpice
23
CAPITOLUL III: Studiu de caz: Analiza datelor legate de jocurile olimpice 25
3.1. Aplicarea funcțiilor statistice asupra datelor analizate25
3.2 Indicatori de perfomanță 29
3.3 Probleme ce pot fi rezolvate cu ajutorul funcțiilor statistice 31
3.4 Tendințe viitoare – jocurile olimpice tot mai informatizate? 32
3.5 Concluzii ale analizei datelor – posibile transformări ale funcțiilor statistice 34
BIBLIOGRAFIE 35
2
INTRODUCERE
Într-o lume aflată în continuă schimbare, unde majoritatea domeniilor tind să fie din
ce în ce mai informatizate, necesitatea stocării unui număr ridicat de date a generat o
dezvoltare vizibilă în rândul bazelor de date. Indiferent de aria de lucru, totul se învârte în
jurul unui număr mai mic sau mai mare de date care trebuie colectate, prelucrate și
interpretate. Bazele de date ușurează aceste acțiuni, contribuind, de asemenea, și la apariția
unei game diverse de sisteme de gestiune a bazelor de date.
Prin această lucrare îmi propun să analizez particularitățile limbajului SQL în SGBD-
urile actuale, dar și importanța funcțiilor statistice SQL, scopul fiind acela de a înțelege cu
exactitate aceste concepte. De asemenea, funcțiile statistice vor fi aplicate asupra unui set de
date extins, din domeniul jocurilor olimpice, care vor genera grafice, indici de performanță și
statistici clare despre anii în care s-au desfășurat jocurile olimpice, principalii medaliați, țara
de proveniență a fiecărui jucător etc., pe baza cărora vor fi trase concluzii plauzibile și exacte.
Pandemia COVID-19 a avut un impact asupra intregii populații și, în special, asupra
multor domenii, printre care și cel al jocurilor olimpice. Amânate pentru anul 2021, acestea
sunt vizate de o serie de riscuri printre care și cele legate de securitate. Nu de puține ori, în
anii trecuți, infractorii cibernetici au desfășurat campanii extinse de atacuri, cu semnale TV
4
întrerupte, site-uri oficiale ale evenimentului atacate și cu întreruperea vânzării de bilete.
Organizatorii actuali încearcă să-și ia toate măsurile de prevenție împotriva acestor tipuri de
atacuri, mai ales că această pandemie a plasat jocurile olimpice într-o sferă tot mai
informatizată. Pentru a duce la bun sfârșit aceste planuri, bazele de date și SGBD-urile vin în
ajutorul acestora și le generează o serie de raporate și statistice capabile să eficientizeze
procesul decizional.
5
CAPITOLUL I: IMPORTANȚA SQL ÎN MODELAREA PROCESELOR
DE AFACERI
Obiectivul esențial al unui SGBD este furnizarea unui mediu eficient, adaptat
utilizatorilor care doresc să consulte sau să actualizeze informațiile conținute în bază. Bazele
de date sunt concepute cu scopul de a prelucra un volum mare de informații, iar gestiunea
acestora impune nu doar o structurare riguroasă a datelor, ci și o raționalizare a procedurilor
de acces și prelucrare.2
Funcțiile principale ale unui sistem de gestiune a bazelor de date sunt prezentate în
Tabelul 1.1.
Funcție Descriere
Se face cu ajutorul LDD, realizându-se descrierea
1. Funcția de descriere a datelor atributelor din cadrul structurii BD, legăturile dintre
entitățile BD, criterii de validare.
1
Trandafir R., Nistorescu M.Ș., Bazele Informaticii și Limbaje de Programare, Partea a II-a, 2006, pag. 8,
https://proiectmdb.ucoz.com/bd.pdf (accesat pe 9 martie 2021)
2
Fotache M., Capitolul I.Despre bazele de date, 2018, pag. 14, https://github.com/marinfotache/Baze-de-date-
I (accesat pe 9 martie 2021)
6
2. Funcția de manipulare Este cea mai complexă și realizează actulizarea și
regăsirea datelor.
3. Funcția de utilizare Asigură mulțimea interfețelor necesare pentru
comunicare a tuturor utilizatorilor cu BD.
Administratorul este cel care realizează schema
conceptuală a bazei de date, iar în perioada de
4. Funcția de administrare exploatare a BD autorizează accesul la date și reface
baza în caz de incidente.
Cuprinde ansamblul de măsuri necesare pentru
5. Funcția de protecție a bazei de date asigurarea integrității (semantică, acces concurent,
salvare/restaurare) și securității datelor (acces,
utilizare viziuni, criptare).
Sursa: prelucrat din: Trandafir R., Nistorescu M.Ș., Bazele Informaticii și Limbaje de Programare, Partea a
II-a, 2006, pag. 11, https://proiectmdb.ucoz.com/bd.pdf (accesat pe 9 martie 2021)
Majoritatea SGBD-urilor fac parte din categoria celor relaționlae (SGBDR) a căror
concept se bazează pe relații/tabele, folosind limbajul SQL specializat pe comenzi de
manipulare la nivel de tabelă. Edgar F. Codd a fost cel care a dezvoltat pentru prima oară, în
1970, modelul relational al bazelor de date în care prezintă operațiile ce pot fi făcute asupra
acesteia cu scopul obținerii accesului rapid și corect. În continuarea acestei descoperiri, în
1985, Codd a publicat o listă cu 13 reguli care definesc simplu și concis o bază de date
relațională, acestea devenind standardul de evaluare a sistemelor relaționale, fiind și un ghid
de proiectare a tuturor SGBDR-urilor.3
Aceste reguli despre care însuși autorul a specificat că sunt greu de îndeplinit în
totalitate de către un SGBDR sunt prezentate în tabelul 1.2.
SQL este în prezent unul din cele mai puternice limbaje structurate pentru interogarea
bazelor de date relaționale. Structured Query Language este un limbaj neprocedural și
3
***, Definirea Sistemului de Gestiune a Bazelor de Date Relationale(SGBDR),
https://www.creeaza.com/referate/informatica/sql/Definirea-Sistemului-de-Gestiu435.php (accesat 9 martie 2021)
7
declarativ, deoarece utilizatorul descrie ce date vrea să obțină, fără a fi nevoit să stabilească
modalitățile de a ajunge la datele respective. Având o orientare axată spre mulțimi, face parte
din categoria limbajelor de aplicații, fiind utilizat în mod frecvent în administrarea bazelor de
date client/server, aplicația client fiind cea generatoare de instrucțiuni SQL.4
Principalele atuuri ale limbajului SQL au fost descrie de către James Groff și Paul
Weinberg în cartea ”The Complete Reference SQL”:5
SQL are un impact profund asupra SGBD-urilor și este, pe de o parte, unul dintre
responsabilii apropierii a non-informaticianului de datele sale, pe de altă parte, pentru
profesioniști reprezintă nucleul dezvoltării aplicațiilor ce utilizează bazele de date. Deși este
referit ca un limbaj de interogare , SQL este mai mult decât un instrument de consultare a
bazelor de date, deoarece, permite în egală măsură definirea datelor, consultare BD,
manipularea datelor și menținerea integrității bazei de date.6
4
***, Limbajul SQL, http://vega.unitbv.ro/~cataron/Courses/BD/BD_Cap_5.pdf (accesat la 10 martie 2021)
5
Groff J.R., Weinberg P.N. , The Complete Reference SQL, Obsborne/McGraw-Hill, pag. 12-15
6
Fotache M., Capitolul 3.Standarde și dialecte SQL. Tipuri de date. Crearea tabelelor și modificarea
conținutului, 2018, pag. 72, https://github.com/marinfotache/Baze-de-date-I (accesat 10 martie 2021)
8
Comandă Descriere
Pentru definirea bazei de date
CREATE TABLE Pentru crearea unei noi tabele în BD
ALTER TABLE Pentru modificarea structurii unei tabele
DROP TABLE Pentru ștergerea unei tabele din BD
TRUNCATE TABLE Pentru a șterge toate rândurile din tabel
Pentru manipularea datelor
INSERT Pentru adăugarea de noi linii într-o tabelă
UPDATE Pentru modificarea valorilor unor atribute
DELETE Pentru ștergerea de linii dintr-o tabelă
Pentru controlul accesului la baza de date
GRANT Pentru acordarea de drepturi la obiectele din BD
pentru un cont de utilizatori
REVOKE Pentru revocarea/retragerea unor drepturi
Pentru controlul tranzacțiilor
COMMIT Pentru a marca un sfârșit valid a unei tranzacții
ROLLBACK Pentru abandonarea unei tranzacții aflate în curs
Sursă: Prelucrat din ***, Types of SQL commands, https://www.javatpoint.com/dbms-sql-command
(accesat 10 martie 2021)
SQL este, fără doar și poate, nucleul SGBD-urilor actuale. Această acceptare pe scară
largă nu este altceva decât rezultatul efortului depus pentru dezvoltarea caracteristicilor
limbajului și a standardelor, care au dus la creșterea portabilității codului SQL între diferitele
produse RDBMS. Particularitățile care s-au diversificat de la o versiune la alta, comenzile
care pot fi aplicate asupra celor 5 tipuri de instrucțiuni (DDL, DQL, DML, DCL, TCC) fac
din SQL limbajul în jurul căruia se învârt majoritatea sistemelor de gestiune a bazelor de
date.
9
Tabel 1.4: Particularități ale SGBD-urilor
După cum se poate observa și în Tabelul 1.4, toate SGBD-urile supuse analizei
comparative au la bază același limbaj de standardizare – SQL. De asemenea, tot în rândul
asemănărilor se încadrează baza de date primară care este reprezentată de sistemele de
gestiune a bazelor de date relaționale. Limbajele de implementare a celor 6 SGBD-uri sunt
preponderant C/C++. Microsoft Access este cel care se diferențiază de restul competitorilor
prin faptul că nu prezintă metode de partiționare și nici concept care pot fi aplicate în rândul
utilizatorilor, în timp ce Microsoft SQL Server, MySQL, Oracle, PostgreSQL și IBM Db2
cuprind posibilitatea partiționarii orizontale și drepturi de acces în conformitate cu standardul
SQL.
Versiunile recente ale SGBD-urilor sunt mai îmbunătățite, iar acest lucru va fi
surprins în tabelul 1.5:
10
Tabel 1.5: Îmbunătățiri ale SGBD-urilor
SGBD Îmbunătățire
Noutățile Access 2019 comparativ cu
Access 2016 sunt diverse și ușor de observant.
Fie că vorbim despre cele 11 modele noi de
diagrame cu care datele pot fi mai ușor
1. Microsoft Access sintetizate, de posibilitatea sortării foilor de
proprietăți, de logica reîncercării conectării la
OBBC, fie de îmbunătățirile în ceea ce privește
accesibilitatea, toate acestea vin în ajutorul
utilizatorului, făcându-i experiența cu acest
SGBD mult mai ușoară.7
SQL Server 2019 se caracterizează prin:
scalabilitate și performanțe avansate pentru
îmbunătățirea stabilității și timpului de răspuns
al bazei de date, BD evaluate ca fiind cel mai
puțin vulnerabile în ultimii nouă ani,
flexibilitatea de a utiliza platforma și limbajul la
alegere datorită suportului open source. 8 Cei de
2. Microsoft SQL Server la Credible Markets, în contextul acestei crize
sanitare și economice, realizează o analiză
profundă asupra pieței globale de transfromare
SQL Server care are ca scop să-i ajute pe
utilizatori cu strategia lor de dezvoltare. Această
analiză se dorește a furniza date care să fie
valabile până în anul 2027, incluzând statistici
ale termenilor-cheie din cadrul nucleului SQL
Server.9
MySql 8.0.23 publicat la începutul anului 2021
aduce suport pentru macOS 11. Printre
particularitățile nou introduse se numără: note
de gestionare a contului și de compilare, note
MySQL Enterprise și Optimizer, note de
3. MySQL securitate, autentificare conectabilă, note de
sintaxă SQL.10 MySQL a fost desemnat SGBD-
ul anului 2019 datorită numărului mare de
utilizatori, a particularităților care au adus o
îmbunătățire a vitezei de furnizare a datelor,
întrecând competitorul principal Oracle.11
4. Oracle
7
***, What’s new in Access 2019, https://support.microsoft.com/en-us/office/what-s-new-in-access-2019
(accesat 11 martie 2021)
8
***, What you’ll love about SQL Server 2019, https://www.microsoft.com/en-us/sql-server/sql-server-2019
(accesat 11 martie 2021)
9
***, SQL Server Transformation Market Analysis, Ket Company Profiles, Types, Applications and Forecast To
2027, Credible Markets, 2021, https://soccernurds.com (accesat 11 martie 2021)
10
***, Change in MySQL 8.0.23, https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-23.html (accesat
11 martie 2021)
11
Gelbmann M, Andlinger P., MySQL is the DBMS of year 2019, 2020, https://db-engines.com/en/blog_post/83
(accesat 11 martie 2021)
11
Sursă: prelucrat din: ***, What’s new in Access 2019, https://support.microsoft.com/en-us/office/what-s-new-in-access-
2019 (accesat 11 martie 2021),
***, SQL Server Transformation Market Analysis, Ket Company Profiles, Types, Applications and Forecast To 2027,
Credible Markets, 2021, https://soccernurds.com (accesat 11 martie 2021),
Gelbmann M, Andlinger P., MySQL is the DBMS of year 2019, 2020, https://db-engines.com/en/blog_post/83 (accesat 11
martie 2021)
Indiferent de SGBD-ul pe care-l alegem, este cert faptul că beneficiile pe care acestea
ni le oferă nouă, ca utilizatori, sunt variate și atractive, iar limbajul standardizat SQL prezent
la fiecare dintre acestea aduce un alt avantaj primordial.
Cele mai reprezentative funcții din sfera limbajului SQL, precum și utilizarea acestora
este surprinsă în Tabelul 1.6
Funcții Descriere
Funcții agregate
AVG() Returnează valoarea medie
COUNT() Returnează numărul de rânduri în funcție sau nu
de o anumită condiție
FIRST() Returnează prima valoare a unei coloane
LAST() Returnează ultima valoare a unei coloane
MAX() Returnează valoarea maximă
MIN() Returnează valoarea minimă
SUM() Returnează suma unui grup de valori
Funcții matematice
ABS() Returnează valoarea absolută a unui număr
indicat
LN() Returnează logaritmul natural al argumentului
primit ca valoare
LOG() Returnează logaritmul zecimal al argumentului
primit ca valoare
Funcții scalare
UCASE() Convertește un câmp în majuscule
LCASE() Convertește un câmp în caractere mici
LEN() Returnează lungimea unui câmp de tip text
ROUND() Rotunjește un câmp de tip numeric la numărul
de zecimale specificat
NOW() Returnează data și ora curentă
12
***, Oracle Database 21c – What’s new?, https://docs.oracle.com/en/database/oracle/oracle-
database/21/whats-new.html (accesat 11 martie 2021)
13
Kerner M.S., Oracle Database 21c looks for adoption of blockchain tables, 2021,
https://searchdatamanagement.techtarget.com (accesat 11 martie 2021)
12
Sursă: prelucrat după: ***, SQL Functions, http://www-
db.deis.unibo.it/courses/TW/DOCS/w3schools/sql/sql_functions.asp.html (accesat 13 martie 2021)
După cum se poate desprinde și din tabelul anterior, SQL pune la dispoziția
utilizatorului o gamă variată de funcții care pot fi aplicabile pe diferite seturi de date, fie că
este vorba de cele strict numerice sau de șiruri de caractere. O importanță deosebită o au
funcțiile agregate prin intermediul cărora pot fi construite statistici clare asupra datelor
supuse analizei, funcții care vor fi abordate în studiul de caz la acestei lucrări.
13
poartă, ducându-ne, fără doar și poate, la termenul general și la ceea ce înseamnă cu exact
statistica.
Seturile de date complexe sunt greu de gestionat de către utilizatori prin modalități
manuale, de aceea majoritatea apelează la SGBD-uri a căror nucleu este SQL-ul, care are
implementate funcții statistice. Astfel, cu ajutorul lor, datele pot fi mai convingătoare, mai
exacte, grupate în funcție de criteriile utilizatorului. În aceeași ordine de idei, se pot realiza
comparații între valorile rezultate în urma statisticilor pe diverse ramuri sau departamente.
Comparațiile, la rândul lor, produc posibilitatea unor prognoze viitoare, generând elaborarea
politicilor pe termen lung care vor ajuta la atingerea idealurilor fiecărei afaceri.
Incertitudinea este un termen tot mai întâlnit în zilele noastre, mai ales la nivelul unei
game complete și variate de date. Funcțiile statistice ajută în luarea de decizii corecte, prin
prevenirea apariției anumitor evenimente care au un efect negativ asupra așteptărilor. Tot prin
intermediul acestora, datele pot fi grupate, iar indicii de performanță pot indica minusurile și
plusurile pentru fiecare segment în parte.
14