Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Gestiunea informaticii.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
885.76 Кб
Скачать

Insert into nume-tabelă

[(nume-col1,nume-col2,...)]

{VALUES (valoare 1,valoare2,...) | cerere );

ex: SQL> INSERT INTO PRODUSE VALUES 1 (100000,11111,'MESE 15/20',7,'27-JUN-92,’BUC')

Modificare

UPDATE nume-tabelă [sinonim]

SET nume-crt=expresie,nume -expresie,...

[WHERE condiţie];

UPDATE nume-tabelă [sinonim]

SET (nume-col, nume-col,...)=(subcerere)

[WHERE condiţie];

În funcţie de momentul în care se doreşte realizarea modificărilor asupra bazei de date, utilizatorul poate folosi una din următoarele comenzi: SET AUTOCOMMIT IMM[EDIATE] (schimbările se efectuează imediat); SET AUTOCOMMIT OFF (schimbările sunt păstrate într-un buffer).La execuţia comenzii COMMIT se permanentizează schimbările efectuate, iar la execuţia comenzii ROLLBACK se renunţă la schimbările realizate.

Stergerea DELETE FROM nume tabela [WHERE condiţie].

Ex: Să se scrie comanda pentru ştergerea datelor despre salariatul VLAD VASILE. Ştergerile să nu fie efectuate imediat ci ulterior.

SQL> SET AUTOCOMMIT OFF

SQL> DELETE FROM SALARIAŢI

WHERE NUME='VLAD VASILE';

47

Limbajul SQL. Crearea şi utilizarea vederlor. Controlul accesului la tabele.

Vederea se numeşte SOL interogare care are nume şi care se păstrează în baza de date.

Vederea permite utilizatorului să vadă rezultatele interogării, iar SQL oferă acces la aceste rezultate ca la un tabel.

Vederile se utilizează:

  • Pt a permite diferitor user să vadă BD diferit.

  • Cu ajutorul vederilor se poate de limitat accesul la datele.

  • Diferiţi user văd numai cîteva rînduri şi cîteva coloane.

  • Vederile uşurează accesul al BD, deoarece fiecare user vede numai aceea de ce el are nevoie.

Interogarea prezintă un tabel virtual, conţinutul căruia se defineşte cu interogarea.

Crearea vederii

CREATE VIEW denumirea_vederii [WITH ENCRIPTION] AS SELECT <lista_cîmp>

FROM <table> [WHERE condiţie]

Opţiunea WITH ENCRIPTION se utiliz cînd trebuie ca definirea vederii să nu fie vizibilă mai mult.

Avantajele vederii:

  1. Securitatea (fiecare utilizator accesează numai informaţia disponibilă);

  2. Interogări uşoare;

  3. Structura uşoară;

  4. Integritatea datelor;

Neajunsurile vederii: Productivitatea

Vizionarea vederii:

SP_HELPTEXT <denumirea_vederii>

Schimbarea denumirii vederii:

SP_RENAME <denum_vederii_preced>, <denum_nouă>

Ştergerea vederii:

DROP VIEW <denum_vederii>.

48

Limbajul SQL. Constringeri pt domeniul de valori a coloanelor in tabel. Reguli. Valori implicite.

Constrângere – un mecanism care asigură că valorile unei coloane sau a unei mulţimi de coloane satisfac o condiţie declarată. Unei constrângeri i se poate da un nume unic. Dacă nu se specifică un nume explicit atunci sistemul automat îi atribuie un nume de forma SYS_Cn, unde n reprezintă numărul constrângerii. Constrângerile pot fi şterse, adăugate, activate sau dezactivate, dar nu pot fi modificate.

Prin comanda CREATE TABLE pot fi specificate anumite restricţii prin care se exprimă o condiţie care trebuie respectată de toate tuplurile uneia sau mai multor relaţii. Acestea pot fi definite cu ajutorul comenzii

ALTER TABLE

Constrângerile declarative pot fi:

  • de domeniu – definesc valorile luate de un atribut: DEFAULT | NOT NULL | UNIQUE | CHECK.

  • de integritate a entității – precizează PK.

  • de integritate referenţială – asigură corespondenţa între PK şi key externe corespunzătoare.

FOREIGN KEY Fiecărei restricţii i se poate da un nume, lucru util atunci când, la un moment dat se doreşte dezactivarea uneia sau mai multora dintre acestea. Astfel se prefigurează numele fiecărei restricţii cu tipul său:

pk_(PRIMARY KEY) pentru cheile primare

un_(UNIQUE) pentru cheile alternative

nn_(NOT NULL) pentru atributele obligatorii

ck_(CHECK) pentru reguli de validare la nivel de atribut

fk_(FOREIGN KEY) pentru cheile străine.

Ex: Să se realizeze constrângerea de cheie primară, de cheie externă şi constrângerea de domeniu pentru relaţia DESCRIERE_IMOBIL.

CREATE TABLE DESCRIERE_IMOBIL

(id_co SMALLINT (7) NOT NULL,

CONSTRAINT FOREIGN KEY fk_co(id_co)

REFERENCES CERERI_OFERTE(id_co),

CONSTRAINT pk_co PRIMARY KEY (id_co), tip_imobil VARCHAR(10),

etaj VARCHAR(10),

nr_camere SMALLINT (6),

suprafata DECIMAL (12,4),

garaj TINYINT (4),

centrala_termica TINYINT (4),

termopane TINYINT (4));

49

Limbajul SQL. Declanşatoare. Tipuri de declanşatoare. Modul de lucru al declanşatoarelor.

Declanşator – tip de procedură stocată, care se dă la execţia cînd se utilizează INSERT, UPDATE, DELETE.

Ex: CREATE TRIGGER ON <denum_tabel> AFTER / INSTEAD OFF [INSERT], [UPDATE], [DELETE] – setul de comenzi.

50

Limbajul SQL. Tranzactii. Specificarea tranzacţiilor. Testul ACID. Concurenţa şi problemele ei. Blocări.

GESTIUNE A TRANZACŢIILOR se referă Ia problematica menţinerii într-o stare consistentă a BD în condiţiile în care accesul la date se face în regim concurent şi e posibilă apariţia unor defecte. În consecinţă se disting două domenii de sine stătătoare în cadrul problematicii generale a gestiunii tranzacţiilor:

  • controlul concurenţei – se ocupă cu mecanismele de sincronizare a acceselor astfel încât să fie menţinută integritatea bazei de date. Atunci când controlul concurenţei este realizat prin mecanismele de blocare (care la ora actuală sunt cele mai răspândite) mai apare o altă problemă, colaterală, şi anume aceea a interblocărilor. Datorită importanţei sale problema gestiunii interblocărilor este de multe ori tratată ca o problematică de sine stătătoare a gestiunii tranzacţiilor.

  • rezistenţa la defecte – se referă la tehnicile prin care se asigură atât toleranţa sistemului faţă de apariţia unor defecte cât şi capacitatea de recuperare a acestuia

TRANZACŢIE – o unitate logică de prelucrare care asigură consistenţa şi siguranţa bazei de date. în principiu orice execuţie a unui program se poate considera o tranzacţie dacă baza de date este într-o stare consistentă atât înainte cât şi după execuţia sa. Consistenţa BD e garantată independent de faptul că:

  1. tranzacţia a fost executată în mod concurent cu alte tranzacţii;

  2. au apărut defecte în timpul execuţiei tranzacţiei.

În general, o tranzacţie constă dintr-o secvenţă de operaţii de citire şi scriere a BD, la care se adaugă o serie de operaţii de calcul. BD poate fi într-o stare temporar inconsistentă în timpul executării tranzacţiei, dar trebuie să fie în stări consistente atât înainte, cât şi după execuţia tranzacţiei.

BLOCAREA

Blocarea optimistă – înseamnă că aplicaţia nu face nimic pt a bloca înregistrarea la care lucrează.

Blocarea pesimistă – încearcă să pună în aplicare un mecanism de blocare.

Există trei tipuri de blocări:

  • La nivel de pagină

  • La nivel de tabel

  • La nivel de extindere

Blocarea la nivel de pagină – apare atunci cînd un user accesează mai multe linii dintre aceeaşi pagină de date.

Blocarea la nivel de tabel – provocată de o solicitare de modificare a unui tabel fără a specifica o clauză WHERE.

Blocarea la nivel de extindere – apare atunci cînd SQL SERVER necesită crearea unei noi extinderi de BD.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]