Sari la conținut
EduCamp

Tematică științifică · 6.5

Operații de prelucrare

Operațiile specifice bazelor de date relaționale, în Microsoft Access și în SQL: crearea tabelelor, adăugarea înregistrărilor, modificarea structurii și a datelor, crearea și modificarea constrângerilor, ștergerea tabelelor și a înregistrărilor, interogări simple și complexe.

∗ Și la proba practică — Titularizare

Operațiile asupra unei baze de date relaționale se pot face în două moduri: prin interfața unui SGBD, cum este Microsoft Access, sau prin comenzi SQL. Operațiile privesc fie structura bazei de date, adică tabelele, câmpurile și constrângerile, fie datele, adică înregistrările.

OperațiaÎn Microsoft AccessÎn SQL
crearea unui tabelCreateTable DesignCREATE TABLE
adăugarea înregistrărilorfoaia de date (Datasheet View) sau interogare AppendINSERT INTO
modificarea structurii unui tabelDesign ViewALTER TABLE
modificarea datelorfoaia de date sau interogare UpdateUPDATE
crearea și modificarea constrângerilorproprietățile câmpurilor și fereastra RelationshipsALTER TABLE … ADD CONSTRAINT, … DROP CONSTRAINT
ștergerea înregistrărilorDelete Record sau interogare DeleteDELETE FROM
ștergerea unui tabelDelete din panoul de navigareDROP TABLE
interogarea datelorCreateQuery DesignSELECT

Exemplele folosesc baza de date a bibliotecii, cu tabelele cititori, carti, autori, carti_autori, exemplare și imprumuturi, a căror structură este dată în subcapitolul Modelul fizic relațional. Comenzile SQL sunt scrise pentru MySQL.

Crearea tabelelor

În Access

  1. Se alege CreateTable Design. Se deschide tabelul nou în vizualizarea proiect (Design View).
  2. Pe fiecare rând se scrie numele unui câmp (Field Name), se alege tipul lui (Data Type) și, opțional, o descriere (Description).
  3. Pentru câmpul selectat se completează, în partea de jos a ferestrei, proprietățile lui: dimensiunea, formatul, valoarea implicită, regula de validare.
  4. Se selectează câmpul sau câmpurile cheii primare și se apasă Primary Key. În dreptul lor apare o cheie.
  5. Tabelul se salvează cu Ctrl + S, sub numele cerut.

În SQL

CREATE TABLE nume_tabel (
    nume_camp1 tip_date [constrângeri],
    nume_camp2 tip_date [constrângeri],
    ...
    [constrângeri la nivel de tabel]
);

Tabelul cititori are cheia primară cod_cititor, iar numele și prenumele sunt obligatorii. Câmpul telefon admite NULL, deci poate lipsi.

CREATE TABLE cititori (
    cod_cititor INT PRIMARY KEY,
    nume        VARCHAR(40) NOT NULL,
    prenume     VARCHAR(40) NOT NULL,
    telefon     VARCHAR(15)
);

Un tabel nou se poate crea și din rezultatul unei interogări. Comanda CREATE TABLE carti_vechi AS SELECT * FROM carti WHERE an_aparitie < 2015; creează tabelul carti_vechi, cu aceleași câmpuri ca carti, și copiază în el cărțile apărute înainte de 2015. Tabelul nou nu preia cheia primară, cheile străine și restricțiile CHECK ale tabelului sursă.

Adăugarea înregistrărilor

În Access

Tabelul se deschide în vizualizarea foaie de date (Datasheet View). Înregistrarea nouă se scrie pe ultimul rând, marcat cu asterisc. Access salvează înregistrarea în momentul în care se trece la alt rând sau se închide tabelul. Datele se introduc întâi în tabelele părinte și apoi în tabelele copil: un împrumut nu poate fi scris înaintea cititorului și a exemplarului la care se referă.

În SQL

INSERT INTO cititori (cod_cititor, nume, prenume, telefon)
VALUES (4, 'Dobre', 'Mihai', NULL);

Comanda INSERT este prezentată pe larg în subcapitolul Comenzi de bază SQL.

Modificarea structurii tabelelor

În Access

Tabelul se deschide în vizualizarea proiect. Se pot adăuga, șterge și redenumi câmpuri, se poate schimba tipul sau proprietățile unui câmp și se poate stabili sau elimina cheia primară.

În SQL

Structura unui tabel se modifică prin comanda ALTER TABLE:

ComandaEfectul
ALTER TABLE cititori ADD email VARCHAR(60);adaugă câmpul email; în înregistrările existente are valoarea NULL
ALTER TABLE cititori DROP COLUMN email;șterge câmpul email, împreună cu valorile lui
ALTER TABLE cititori MODIFY telefon VARCHAR(20);schimbă tipul sau dimensiunea câmpului telefon
ALTER TABLE cititori RENAME COLUMN telefon TO nr_telefon;redenumește câmpul telefon
RENAME TABLE cititori TO membri;redenumește tabelul

Forma MODIFY este specifică MySQL. În alte SGBD-uri, schimbarea tipului se scrie ALTER TABLE … ALTER COLUMN ….

Modificarea datelor

În Access

O valoare se modifică direct în foaia de date. Pentru a modifica mai multe înregistrări după aceeași regulă se folosește o interogare de actualizare:

  1. Se creează o interogare cu CreateQuery Design și se adaugă tabelul.
  2. Pe fila Query Design se alege tipul Update. În grilă apare rândul Update To.
  3. În coloana câmpului care se modifică se scrie, pe rândul Update To, noua valoare sau expresia care o calculează, iar pe rândul Criteria condiția înregistrărilor care se modifică.
  4. Se apasă Run și se confirmă modificarea.

O interogare de actualizare modifică datele de fiecare dată când este executată. Executată de două ori, o creștere cu 10% se aplică de două ori.

În SQL

UPDATE imprumuturi
SET data_restituire = '2026-04-10'
WHERE cod_imprumut = 3;

Fără clauza WHERE, comanda UPDATE modifică toate înregistrările tabelului. Comanda este prezentată pe larg în subcapitolul Comenzi de bază SQL.

Crearea și modificarea constrângerilor

În Access

Constrângerile asupra unui câmp se stabilesc în vizualizarea proiect, prin proprietățile lui:

ProprietateaConstrângerea echivalentăEfectul
Required = YesNOT NULLcâmpul trebuie completat
Default ValueDEFAULTvaloarea scrisă automat într-o înregistrare nouă
Validation RuleCHECKcondiția pe care trebuie să o îndeplinească valoarea, de exemplu >= 1500
Validation Textmesajul afișat când regula de validare nu este respectată
Indexed = Yes (No Duplicates)UNIQUEvalorile câmpului nu se pot repeta
Primary KeyPRIMARY KEYcheia primară a tabelului

Cheile străine se stabilesc în fereastra Relationships, deschisă din Database ToolsRelationships:

  1. Se adaugă în fereastră tabelele care se leagă.
  2. Se trage câmpul cheii primare din tabelul părinte peste câmpul cheii străine din tabelul copil. Se deschide fereastra Edit Relationships, în care Access a stabilit singur tipul relației, de exemplu One-To-Many.
  3. Se bifează Enforce Referential Integrity, pentru ca în câmpul cheii străine să poată fi scrise numai valori existente în tabelul părinte.
  4. După caz, se bifează Cascade Update Related Fields, pentru actualizarea în cascadă, și Cascade Delete Related Records, pentru ștergerea în cascadă.
  5. Se apasă Create. Relația apare ca o linie între tabele, cu 1 și ∞ la capete.

În SQL

Constrângerile se pot scrie în CREATE TABLE sau se pot adăuga ulterior cu ALTER TABLE. O constrângere care primește un nume, prin cuvântul CONSTRAINT, poate fi ștearsă mai târziu după acest nume.

ComandaEfectul
ALTER TABLE cititori ADD CONSTRAINT uq_email UNIQUE (email);valorile din email nu se mai pot repeta
ALTER TABLE carti ADD CONSTRAINT chk_an CHECK (an_aparitie >= 1500);anul apariției trebuie să fie cel puțin 1500
ALTER TABLE exemplare ADD CONSTRAINT fk_exemplare_carti FOREIGN KEY (isbn) REFERENCES carti(isbn);isbn devine cheie străină spre carti
ALTER TABLE autori ADD PRIMARY KEY (cod_autor);cod_autor devine cheie primară
ALTER TABLE autori MODIFY tara VARCHAR(40) NOT NULL;tara devine obligatoriu
ALTER TABLE exemplare ALTER observatii SET DEFAULT 'bună';stabilește valoarea implicită a câmpului
ALTER TABLE carti DROP CONSTRAINT chk_an;șterge constrângerea chk_an
ALTER TABLE exemplare DROP FOREIGN KEY fk_exemplare_carti;șterge cheia străină

O constrângere nouă nu se poate adăuga dacă datele existente o încalcă: cheia străină spre carti nu se poate adăuga cât timp în exemplare există un ISBN care nu apare în carti.

Materialul acesta se citește pe educamp.ro și nu se tipărește.

Ce cuprinde subcapitolul

  1. Crearea tabelelor
  2. Adăugarea înregistrărilor
  3. Modificarea structurii tabelelor
  4. Modificarea datelor
  5. Crearea și modificarea constrângerilor
  6. Ștergerea înregistrărilor și a tabelelor
  7. Interogări simple și complexe
  8. Apariții la examen

Continuă lectura ca și cursant

Cel puțin un subcapitol din fiecare capitol este disponibil gratuit și integral. Pentru a citi toate celelalte subcapitole ale disciplinei, te înscrii la cursul de pregătire.

Prima săptămână este gratuită, fără plată și fără card. Dacă vrei să vezi mai întâi cum este prezentată materia, poți reveni la primul subcapitol al capitolului.

100 RON / lună, pentru o disciplină

Ce cuprinde:

  • Două întâlniri de câte două ore, în fiecare lună
  • Tot suportul de curs publicat până acum la disciplina aleasă
  • Capitole noi în fiecare săptămână, cuprinse în luna plătită, fără costuri suplimentare
  • Material organizat după structura programei de examen
  • Acces de pe orice dispozitiv, folosind același cont
  • Prima săptămână gratuită, fără card și fără reînnoire automată

Începe săptămâna gratuită Sunt cursant — login

Află când publicăm materiale noi

Materia este publicată treptat, capitol cu capitol. Înscrie-te pentru a primi un e-mail atunci când apare un capitol nou de informatică.

Vei primi mesaje numai despre materia selectată și despre cursul de pregătire. Te poți dezabona oricând, dintr-o singură apăsare.

Surse

  • Gremalschi, A., Corlat, S., Braicov, A., „Informatică. Manual pentru clasa a 12-a”, Editura Știința, Chișinău, 2015
  • Huțanu, V. T., Popescu, C., „Manual de informatică pentru clasa a XII-a”, Editura L&S Info-mat, București, 2007
  • Programa pentru concursul de ocupare a posturilor didactice, disciplina Informatică, cap. 6 „Baze de date”
  • Programa pentru examenul de definitivare în învățământ, disciplina Informatică, cap. 6 „Baze de date”
  • Subiecte și bareme publicate, Titularizare, informatică, 2007, 2008
Actualizat: 13 septembrie 2026