Tehnici de prelucrare a datelor și servere de baze de date

Tehnici de prelucrare a datelor

Instrucțiuni specifice limbajului de programare și servere de baze de date

1. Introducere

În orice aplicație informatică, datele au un rol foarte important. Ele pot reprezenta elevi, produse, comenzi, note, utilizatori, mesaje, imagini, fișiere sau alte informații necesare funcționării aplicației.

Pentru ca o aplicație să fie utilă, datele trebuie colectate, validate, organizate, prelucrate, stocate și afișate corect. În aplicațiile moderne, aceste operații sunt realizate frecvent cu ajutorul bazelor de date și al limbajului SQL.

Ideea principală: prelucrarea datelor înseamnă transformarea datelor brute în informații utile, clare și ușor de folosit.

2. Ce sunt datele?

Datele sunt informații înregistrate într-o formă care poate fi citită, memorată și prelucrată de un calculator.

Exemple de date:

  • numele și prenumele unui elev;
  • nota obținută la o disciplină;
  • prețul unui produs;
  • data unei comenzi;
  • adresa de email a unui utilizator;
  • stocul unui produs;
  • parola unui cont, memorată în mod securizat;
  • numărul de absențe ale unui elev.
Exemplu: într-un catalog electronic, datele pot fi: elevi, clase, discipline, profesori, note și absențe.

3. Tehnici de prelucrare a datelor

Prelucrarea datelor presupune aplicarea unor operații prin care datele sunt transformate în informații utile pentru utilizator.

Tehnică Explicație
Colectarea datelor Obținerea datelor din formulare, fișiere, baze de date sau alte surse.
Validarea datelor Verificarea corectitudinii datelor introduse.
Stocarea datelor Salvarea datelor într-un fișier sau într-o bază de date.
Filtrarea datelor Selectarea doar a datelor care respectă anumite condiții.
Sortarea datelor Ordonarea datelor crescător sau descrescător.
Gruparea datelor Organizarea datelor pe categorii sau criterii comune.
Agregarea datelor Calcularea unor valori precum suma, media, minimul sau maximul.
Actualizarea datelor Modificarea informațiilor existente.
Ștergerea datelor Eliminarea datelor care nu mai sunt necesare.

4. Instrucțiuni specifice limbajului de programare

Pentru lucrul cu baze de date, se folosește frecvent limbajul SQL. SQL înseamnă Structured Query Language, adică limbaj structurat de interogare.

SQL permite crearea tabelelor, introducerea datelor, modificarea datelor, ștergerea datelor, interogarea bazei de date și gestionarea drepturilor de acces.

Categorie SQL Rol Exemple de comenzi
DDL Definește structura bazei de date. CREATE, ALTER, DROP
DML Lucrează cu datele din tabele. INSERT, UPDATE, DELETE
DQL Interoghează datele. SELECT
DCL Gestionează drepturile de acces. GRANT, REVOKE
TCL Gestionează tranzacțiile. COMMIT, ROLLBACK
Rețineți: SQL este folosit pentru comunicarea cu baza de date. Prin comenzi SQL putem cere bazei de date să salveze, să caute, să modifice sau să șteargă informații.

5. Servere de baze de date

Un server de baze de date este un sistem software care permite stocarea, organizarea, accesarea și administrarea datelor. Acesta răspunde cererilor venite de la aplicații sau utilizatori.

Exemple de servere de baze de date:

  • MySQL;
  • MariaDB;
  • PostgreSQL;
  • Microsoft SQL Server;
  • Oracle Database;
  • SQLite, pentru aplicații mai simple sau locale.
Exemplu: un magazin online poate folosi un server MySQL pentru a salva produse, utilizatori, comenzi, plăți și facturi.

6. Instalarea serverului de baze de date

Pentru a folosi o bază de date, serverul trebuie instalat și configurat. În funcție de aplicație, acesta poate fi instalat local, pe calculatorul personal, sau pe un server online.

Etape generale de instalare:

  1. Alegerea serverului de baze de date potrivit.
  2. Descărcarea programului de instalare de pe site-ul oficial.
  3. Instalarea serverului pe calculator sau pe server.
  4. Stabilirea parolei pentru utilizatorul administrator.
  5. Configurarea portului de comunicare.
  6. Crearea unei baze de date noi.
  7. Crearea tabelelor necesare aplicației.
  8. Testarea conexiunii dintre aplicație și baza de date.
Atenție: parola utilizatorului administrator trebuie păstrată în siguranță. Accesul neautorizat la baza de date poate duce la pierderea sau modificarea datelor.

7. Crearea unei baze de date și a unui tabel

Pentru a lucra cu date, mai întâi creăm o bază de date, apoi creăm tabelele. Tabelele sunt formate din coloane și rânduri.

Exemplu SQL:

CREATE DATABASE scoala;

CREATE TABLE elevi (
    id_elev INT PRIMARY KEY,
    nume VARCHAR(50),
    prenume VARCHAR(50),
    clasa VARCHAR(10),
    media_generala DECIMAL(4,2)
);
        

În exemplul de mai sus, am creat o bază de date numită scoala și un tabel numit elevi.

8. Expresii și funcții

În SQL, expresiile și funcțiile sunt folosite pentru calcularea, transformarea sau analizarea datelor.

Exemple de funcții frecvent folosite:

Funcție Rol
COUNT() Numără înregistrările.
SUM() Calculează suma valorilor.
AVG() Calculează media valorilor.
MIN() Determină valoarea minimă.
MAX() Determină valoarea maximă.
UPPER() Transformă textul în litere mari.
LOWER() Transformă textul în litere mici.

Exemplu:

SELECT AVG(media_generala) AS media_clasei
FROM elevi;
        
Explicație: interogarea calculează media generală a elevilor din tabelul elevi.

9. Gruparea datelor

Gruparea datelor se realizează cu instrucțiunea GROUP BY. Aceasta este folosită atunci când dorim să obținem rezultate pe categorii.

Exemplu:

SELECT clasa, AVG(media_generala) AS media_clasei
FROM elevi
GROUP BY clasa;
        

Interogarea grupează elevii după clasă și calculează media generală pentru fiecare clasă.

Rețineți: GROUP BY se folosește frecvent împreună cu funcții precum COUNT(), SUM(), AVG(), MIN() și MAX().

10. Sortarea datelor

Sortarea datelor se realizează cu instrucțiunea ORDER BY. Datele pot fi ordonate crescător sau descrescător.

Exemplu de sortare crescătoare:

SELECT nume, prenume, media_generala
FROM elevi
ORDER BY media_generala ASC;
        

Exemplu de sortare descrescătoare:

SELECT nume, prenume, media_generala
FROM elevi
ORDER BY media_generala DESC;
        
Exemplu concret: într-un catalog, putem sorta elevii descrescător după medie pentru a vedea rapid elevii cu cele mai bune rezultate.

11. Relaționarea tabelelor

Într-o bază de date relațională, informațiile sunt împărțite în mai multe tabele. Aceste tabele sunt legate între ele prin chei.

Tipuri de chei:

  • Cheie primară – identifică unic fiecare înregistrare dintr-un tabel.
  • Cheie străină – face legătura dintre două tabele.

Exemplu:

CREATE TABLE clase (
    id_clasa INT PRIMARY KEY,
    nume_clasa VARCHAR(10)
);

CREATE TABLE elevi (
    id_elev INT PRIMARY KEY,
    nume VARCHAR(50),
    prenume VARCHAR(50),
    id_clasa INT,
    FOREIGN KEY (id_clasa) REFERENCES clase(id_clasa)
);
        

În acest exemplu, tabelul elevi este legat de tabelul clase prin câmpul id_clasa.

12. Interogări multiple – JOIN

Instrucțiunea JOIN permite combinarea datelor din două sau mai multe tabele, pe baza unei relații existente între ele.

Exemplu:

SELECT elevi.nume, elevi.prenume, clase.nume_clasa
FROM elevi
JOIN clase ON elevi.id_clasa = clase.id_clasa;
        

Interogarea afișează numele elevilor împreună cu numele clasei din care fac parte.

Tip JOIN Rol
INNER JOIN Afișează doar înregistrările care au corespondent în ambele tabele.
LEFT JOIN Afișează toate înregistrările din tabelul din stânga și corespondentele din dreapta.
RIGHT JOIN Afișează toate înregistrările din tabelul din dreapta și corespondentele din stânga.

13. Constrângeri

Constrângerile sunt reguli aplicate asupra coloanelor dintr-un tabel. Ele ajută la păstrarea corectitudinii datelor.

Constrângere Rol
PRIMARY KEY Identifică unic fiecare rând din tabel.
FOREIGN KEY Face legătura cu un alt tabel.
NOT NULL Nu permite valori goale.
UNIQUE Nu permite valori duplicate.
CHECK Verifică dacă o valoare respectă o condiție.
DEFAULT Stabilește o valoare implicită.

Exemplu:

CREATE TABLE produse (
    id_produs INT PRIMARY KEY,
    denumire VARCHAR(100) NOT NULL,
    pret DECIMAL(8,2) CHECK (pret > 0),
    stoc INT DEFAULT 0
);
        

14. Crearea și utilizarea secvențelor

Secvențele sunt folosite pentru generarea automată a unor valori numerice. De obicei, acestea sunt utilizate pentru identificatori unici.

Exemplu de secvență:

CREATE SEQUENCE seq_elevi
START WITH 1
INCREMENT BY 1;
        

Utilizare:

INSERT INTO elevi (id_elev, nume, prenume, id_clasa)
VALUES (NEXT VALUE FOR seq_elevi, 'Popescu', 'Ana', 1);
        
Observație: sintaxa exactă pentru secvențe poate fi diferită în funcție de serverul de baze de date folosit.

15. Indecși și sinonime

Indecșii sunt structuri care ajută la găsirea mai rapidă a datelor într-un tabel. Ei funcționează asemănător unui index de carte.

Exemplu de creare a unui index:

CREATE INDEX idx_nume_elev
ON elevi(nume);
        

Sinonimele sunt denumiri alternative pentru obiecte din baza de date, cum ar fi tabele, vederi sau proceduri.

Exemplu de sinonim:

CREATE SYNONYM elevi_cls
FOR elevi;
        
Rețineți: indecșii pot accelera căutările, dar trebuie folosiți cu atenție, deoarece pot consuma spațiu suplimentar și pot influența operațiile de modificare a datelor.

16. Gestionarea drepturilor de acces la baza de date

Nu toți utilizatorii trebuie să aibă aceleași drepturi într-o bază de date. Unii utilizatori pot doar să citească datele, iar alții pot adăuga, modifica sau șterge informații.

Comenzi importante:

  • GRANT – acordă drepturi unui utilizator;
  • REVOKE – retrage drepturile unui utilizator.

Exemplu:

GRANT SELECT, INSERT ON elevi TO utilizator_profesor;

REVOKE INSERT ON elevi FROM utilizator_profesor;
        
Atenție: drepturile de acces trebuie acordate doar persoanelor care au nevoie de ele pentru activitatea lor.

17. Gestionarea tranzacțiilor

O tranzacție este un grup de operații care trebuie executate împreună. Dacă toate operațiile se realizează corect, modificările sunt salvate. Dacă apare o eroare, modificările pot fi anulate.

Comenzi folosite:

Comandă Rol
COMMIT Salvează definitiv modificările.
ROLLBACK Anulează modificările efectuate în tranzacție.
SAVEPOINT Stabilește un punct intermediar la care se poate reveni.

Exemplu:

START TRANSACTION;

UPDATE conturi
SET sold = sold - 100
WHERE id_cont = 1;

UPDATE conturi
SET sold = sold + 100
WHERE id_cont = 2;

COMMIT;
        
Exemplu concret: la un transfer bancar, suma trebuie scăzută dintr-un cont și adăugată în alt cont. Dacă una dintre operații eșuează, tranzacția trebuie anulată.

18. Sarcină de lucru pentru elevi

Realizați proiectarea unei baze de date simple pentru o aplicație la alegere.

Cerințe:

  1. Alegeți tema aplicației: bibliotecă, magazin, catalog, programări, produse etc.
  2. Stabiliți ce date trebuie memorate.
  3. Propuneți cel puțin două tabele.
  4. Stabiliți cheia primară pentru fiecare tabel.
  5. Stabiliți o relație între tabele.
  6. Scrieți o interogare simplă cu SELECT.
  7. Scrieți o interogare cu ORDER BY.
  8. Scrieți o interogare cu JOIN.
  9. Explicați ce drepturi de acces ar trebui să aibă utilizatorii.
Exemplu: pentru o bibliotecă putem avea tabelele carti, cititori și imprumuturi.

19. Concluzie

Prelucrarea datelor este esențială în realizarea aplicațiilor informatice. Datele trebuie colectate, verificate, organizate, stocate și analizate corect.

Serverele de baze de date permit păstrarea datelor într-un mod sigur și organizat, iar limbajul SQL oferă instrucțiunile necesare pentru crearea, modificarea, interogarea și administrarea acestora.

Concluzie finală: o aplicație bine realizată nu depinde doar de interfață, ci și de modul în care gestionează datele din spate.

20. Quiz – Verifică ce ai învățat

Alege varianta corectă pentru fiecare întrebare, apoi apasă pe butonul „Verifică răspunsurile”.

1. Ce înseamnă prelucrarea datelor?



2. Ce este SQL?



3. Ce comandă SQL este folosită pentru interogarea datelor?



4. Ce instrucțiune se folosește pentru gruparea datelor?



5. Ce instrucțiune se folosește pentru sortarea datelor?



6. Ce este o cheie primară?



7. Ce permite instrucțiunea JOIN?



8. Ce rol are o constrângere de tip NOT NULL?



9. Ce rol are comanda GRANT?



10. Ce face comanda ROLLBACK?



Lecție Informatică – Prelucrarea datelor și servere de baze de date