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.
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 tabel | Create → Table Design | CREATE TABLE |
| adăugarea înregistrărilor | foaia de date (Datasheet View) sau interogare Append | INSERT INTO |
| modificarea structurii unui tabel | Design View | ALTER TABLE |
| modificarea datelor | foaia de date sau interogare Update | UPDATE |
| crearea și modificarea constrângerilor | proprietățile câmpurilor și fereastra Relationships | ALTER TABLE … ADD CONSTRAINT, … DROP CONSTRAINT |
| ștergerea înregistrărilor | Delete Record sau interogare Delete | DELETE FROM |
| ștergerea unui tabel | Delete din panoul de navigare | DROP TABLE |
| interogarea datelor | Create → Query Design | SELECT |
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
- Se alege Create → Table Design. Se deschide tabelul nou în vizualizarea proiect (Design View).
- Pe fiecare rând se scrie numele unui câmp (Field Name), se alege tipul lui (Data Type) și, opțional, o descriere (Description).
- Pentru câmpul selectat se completează, în partea de jos a ferestrei, proprietățile lui: dimensiunea, formatul, valoarea implicită, regula de validare.
- Se selectează câmpul sau câmpurile cheii primare și se apasă Primary Key. În dreptul lor apare o cheie.
- 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. Comenzile din tabelul următor sunt
exemple separate: fiecare pornește de la structura tabelului cititori din modelul fizic, la care
s-a adăugat câmpul email cu prima comandă.
| Comanda | Efectul |
|---|---|
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; forma există în MySQL începând cu versiunea 8.0 |
RENAME TABLE cititori TO membri; | redenumește tabelul |
Forma MODIFY se folosește în MySQL și în Oracle. În SQL Server, PostgreSQL și Access, schimbarea
tipului se scrie ALTER TABLE … ALTER COLUMN …. În MySQL, MODIFY rescrie întreaga definiție a
câmpului: constrângerile NOT NULL și DEFAULT care nu sunt scrise din nou în comandă se pierd.
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:
- Se creează o interogare cu Create → Query Design și se adaugă tabelul.
- Pe fila Query Design se alege tipul Update. În grilă apare rândul Update To.
- Î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ă.
- Se apasă Run și se confirmă modificarea.
O interogare de actualizare modifică datele de fiecare dată când este executată. Dacă interogarea este 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:
| Proprietatea | Constrângerea echivalentă | Efectul |
|---|---|---|
| Required = Yes | NOT NULL | câmpul trebuie completat |
| Default Value | DEFAULT | valoarea scrisă automat într-o înregistrare nouă |
| Validation Rule | CHECK | condiția pe care trebuie să o îndeplinească valoarea, de exemplu >= 1500 |
| Validation Text | — | mesajul afișat când regula de validare nu este respectată |
| Indexed = Yes (No Duplicates) | UNIQUE | valorile câmpului nu se pot repeta |
| Primary Key | PRIMARY KEY | cheia primară a tabelului |
Cheile străine se stabilesc în fereastra Relationships, deschisă din Database Tools → Relationships:
- Se adaugă în fereastră tabelele care se leagă.
- 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.
- Se bifează Enforce Referential Integrity, pentru ca în câmpul cheii străine să poată fi scrise numai valori existente în tabelul părinte.
- După caz, se bifează Cascade Update Related Fields, pentru actualizarea în cascadă, și Cascade Delete Related Records, pentru ștergerea în cascadă.
- 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.
| Comanda | Efectul |
|---|---|
ALTER TABLE cititori ADD CONSTRAINT uq_email UNIQUE (email); | valorile din câmpul email, adăugat cu ALTER TABLE cititori ADD email VARCHAR(60);, 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 carti_vechi ADD PRIMARY KEY (isbn); | isbn devine cheie primară în tabelul carti_vechi, creat fără cheie primară din rezultatul unei interogări |
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ă |
Materialul acesta se citește pe educamp.ro și nu se tipărește.
S-a încheiat minutul de citit liber.
Ce cuprinde subcapitolul
- Crearea tabelelor
- Adăugarea înregistrărilor
- Modificarea structurii tabelelor
- Modificarea datelor
- Crearea și modificarea constrângerilor
- Ștergerea înregistrărilor și a tabelelor
- Interogări simple și complexe
- 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.
Te înscrii, alegi în cont când începe cursul și plătești prima lună prin transfer bancar. Pentru a vedea mai întâi cum este prezentată materia, poți reveni la primul subcapitol al capitolului.
Acces la suportul de curs
25 RON / lună, fără ședințe
Ce cuprinde:
- Acces la toate lecțiile disponibile
- Suport de curs pentru tematica științifică și metodică
- Exemple, explicații și exerciții
- Acces la materialele noi adăugate pe platformă
- Posibilitatea de a adresa întrebări
Poți alege și variante cu ședințe online, în grup sau individuale. Le vezi pe pagina cursului.
Ai întrebări sau o problemă? Scrie-mi pe WhatsApp, la 0745 874 576.
Surse (5)
- 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