Sunteți pe pagina 1din 47

Definirea unui index

Curs Baze de Date - Gyorodi


Cornelia
Tipuri de index

Curs Baze de Date - Gyorodi


Cornelia
Crearea unui index

Curs Baze de Date - Gyorodi


Cornelia
Definirea unui index
Crearea unui index pe una sau mai multe coloane ale unei
tabele se realizează cu comanda CREATE INDEX, care
are sintaxa:

CREATE INDEX index


ON table (column[, column]…);

Exemplu: Crearea unui index pe coloana ename în tabela


emp se va realiza prin următoarea secvenţă:
CREATE INDEX emp_ename_idx
ON emp(ename);
Curs Baze de Date - Gyorodi
Cornelia
Crearea unui index

Curs Baze de Date - Gyorodi


Cornelia
Când nu creem un index?

Curs Baze de Date - Gyorodi


Cornelia
Când nu creem un index?

Curs Baze de Date - Gyorodi


Cornelia
Index compus

Curs Baze de Date - Gyorodi


Cornelia
Index compus(cont)

Curs Baze de Date - Gyorodi


Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Ştergerea unui index

Ştergerea unui index din dicţionarul datelor se va


realiza folosind comanda DROP INDEX, care
are sintaxa:
DROP INDEX index;

Exemplu: Ştergerea indexului emp_ename_idx


creat anterior se va realiza prin următoarea
secvenţă:
DROP INDEX emp_ename_idx;

Curs Baze de Date - Gyorodi


Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Observații referitoare la definirea unui index

 Nu putem modifica un index.


 Pentru a modifica un index el trebuie şters şi recreat
din nou.
 Ştergerea unui index se poate realiza numai de cel care
a creat indexul (proprietarul) sau cel care are drepul
(privilegiul) de DROP ANY INDEX
 Indecşi sunt salvaţi în tabela view USER_INDEXES
din dicţionarul datelor.
 Putem deasemenea verifica coloanele invocate într-un
index prin interogarea tabelei view
USER_IND_COLUMNS.

Curs Baze de Date - Gyorodi


Cornelia
Manipularea unei tabele de date
Adăugarea unui rând într-o tabelă se va realiza cu
ajutorul comenzi INSERT care are sintaxa:

INSERT INTO table[(column [,column…])]


VALUES (value [,value…]);
unde:
table este numele tabelei în care se va insera un rând.
column este numele coloanei din tabelă.
value este valoarea corespunzătoare
coloanei.

Curs Baze de Date - Gyorodi


Cornelia
Exemplu

Inserarea unui rând conţinând valori pentru


fiecare coloană a tabelei. Vom insera un rând
nou în tabela dept prin următorea secvenţă:

INSERT INTO dept(deptno, dname, loc)


VALUES (50, 'ANALIST', 'ORADEA');

Curs Baze de Date - Gyorodi


Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Exemplu

Inserarea valorilor prin utilizarea variabilelor de


substituţie va permite introducerea valorilor
interactiv. De exemplu, vom introduce
informaţii interactiv în tabela dept prin
secvenţa următoare:

INSERT INTO dept(deptno, dname, loc)


VALUES (&dept_id, '&dept_name',
'&dept_loc');

Curs Baze de Date - Gyorodi


Cornelia
Comanda INSERT
Copierea unor înregistrări dintr-o altă tabelă utilizând
comanda INSERT va fi exemplificată prin următorul
exemplu:
INSERT INTO manager(id, name, salary, hiredate)
SELECT empno, ename, sal, hiredate
FROM emp
WHERE job = ' MANAGER';

 Numărul de coloane în clauza INSERT trebuie să fie


acelaşi cu numărul de coloane din comanda SELECT.

Curs Baze de Date - Gyorodi


Cornelia
Comanda UPDATE
Modificarea unui rând existent dintr-o tabelă se realizează utilizând
comanda UPDATE, care are sintaxa:
UPDATE table
SET column = value [, column = value]
[WHERE condition]
unde:
table este numele tabelei.
column este numele coloanei din tabelă.
value valoarea corespunzătoare coloanei.
condition condiţia care identifică rândurile care vor fi
modificate.

Curs Baze de Date - Gyorodi


Cornelia
Exemplu

Utilizarea clauzei WHERE pentru a specifica


rândurile care vor fi modificate într-o tabelă:

UPDATE emp
SET deptno = 20
WHERE empno = 7782;

Se modifică coloana deptno pentru înregistrările


care au câmpul empno = 7782.

Curs Baze de Date - Gyorodi


Cornelia
Utilizarea comenzi SELECT într-o comandă UPDATE

Subqueri multiple coloane pot fi implementate într-o


clauză SET a comenzi UPDATE. Vom exemplifica acest
lucru prin următorul exemplu:

UPDATE emp
SET (job, deptno) =
(SELECT job, deptno
FROM emp
WHERE empno = 7499)
WHERE empno = 7698;

Curs Baze de Date - Gyorodi


Cornelia
Utilizarea comenzi SELECT într-o comandă UPDATE

Putem utiliza subqueri într-o comandă UPDATE pentru a


modifica rânduri într-o tabelă bazate pe valori dintr-o
altă tabelă.
Vom exemplifica printr-un exemplu:
UPDATE employee
SET deptno = (SELECT deptno
FROM emp
WHERE empno = 7788)
WHERE job = (SELECT job
FROM emp
WHERE empno = 7788);
Curs Baze de Date - Gyorodi
Cornelia
Modificarea valori unei coloane legată printr-o
constrângere de integritate

Nu poate fi modificată valoarea unei coloane


dintr-o înregistrare dacă aceea coloană este
legată printr-o constrângere de integritate. De
exemplu, modificarea coloanei deptno din
tabela emp va determina apariţia unei erori,
deoarece coloana deptno este cheie externă.
UPDATE emp
SET deptno = 55
WHERE deptno = 10;

Curs Baze de Date - Gyorodi


Cornelia
Comanda DELETE

Pentru a suprima un rând existent dintr-o tabelă


se va utiliza comanda DELETE, care are
următoarea sintaxă:
DELETE [FROM] table
[WHERE condition]
unde:
table este numele tabelei.
condition este o condiţie care identifică
rândurile care vor fi suprimate.

Curs Baze de Date - Gyorodi


Cornelia
Exemplu
Rândurile care se vor şterge se vor specifica prin clauza
WHERE.
DELETE FROM dept
WHERE dname = 'ANALIST';
 Se vor şterge toate rândurile din tabela dept care au
numele departamentului ANALIST.

 Dacă clauza WHERE este omisă se vor şterge toate


rândurile din tabelă.
DELETE FROM dept;

Curs Baze de Date - Gyorodi


Cornelia
Utilizarea subqueri-uri pentru ştergerea
rândurilor dintr-o tabelă

Putem utiliza subqueri-uri la ştergerea rândurilor dintr-o


tabelă, bazându-ne pe valori dintr-o altă tabelă. Vom
exemplifica prin următorul exemplu:
DELETE FROM employee
WHERE deptno =
(SELECT deptno
FROM dept
WHERE dname ='VÂNZĂRI');
În exemplu de mai sus se vor şterge toate rândurile din
tabela employee care au numărul de departament egal
cu angajaţi din departamentul VÂNZĂRI.
Curs Baze de Date - Gyorodi
Cornelia
Modificarea valori unei coloane legată
printr-o constrângere de integritate
Nu putem şterge un rând care conţine o cheie primară
care a fost utilizată ca şi cheie externă într-o altă
tabelă. De exemplu, ştergerea rândurilor din tabela
dept care au coloana deptno =10, va determina apariţia
unei erori, deoarece deptno este o cheie primară în
tabela dept şi a fost utilizată ca şi cheie externă în
tabela emp.

DELETE FROM dept


WHERE deptno = 10;

Curs Baze de Date - Gyorodi


Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia
Curs Baze de Date - Gyorodi
Cornelia

S-ar putea să vă placă și

  • Calculatorul
    Calculatorul
    Document10 pagini
    Calculatorul
    torjocf
    Încă nu există evaluări
  • Curs 7
    Curs 7
    Document46 pagini
    Curs 7
    torjocf
    Încă nu există evaluări
  • Lucrarea 12
    Lucrarea 12
    Document1 pagină
    Lucrarea 12
    torjocf
    Încă nu există evaluări
  • Lucrarea 11
    Lucrarea 11
    Document1 pagină
    Lucrarea 11
    torjocf
    Încă nu există evaluări
  • Lucrarea 12
    Lucrarea 12
    Document1 pagină
    Lucrarea 12
    torjocf
    Încă nu există evaluări
  • Lucrarea 2
    Lucrarea 2
    Document4 pagini
    Lucrarea 2
    torjocf
    Încă nu există evaluări
  • Lucrarea 11
    Lucrarea 11
    Document1 pagină
    Lucrarea 11
    torjocf
    Încă nu există evaluări
  • Lucrarea 09
    Lucrarea 09
    Document3 pagini
    Lucrarea 09
    torjocf
    Încă nu există evaluări
  • Lucrarea 10
    Lucrarea 10
    Document4 pagini
    Lucrarea 10
    torjocf
    Încă nu există evaluări
  • Subiecte Examen Asdn 2-1
    Subiecte Examen Asdn 2-1
    Document6 pagini
    Subiecte Examen Asdn 2-1
    torjocf
    Încă nu există evaluări
  • Lucrarea 10
    Lucrarea 10
    Document4 pagini
    Lucrarea 10
    torjocf
    Încă nu există evaluări
  • Lucrarea 09
    Lucrarea 09
    Document3 pagini
    Lucrarea 09
    torjocf
    Încă nu există evaluări
  • Lucrarea 1
    Lucrarea 1
    Document3 pagini
    Lucrarea 1
    torjocf
    Încă nu există evaluări
  • Lucrarea 3
    Lucrarea 3
    Document3 pagini
    Lucrarea 3
    torjocf
    Încă nu există evaluări
  • 11BDI
    11BDI
    Document35 pagini
    11BDI
    torjocf
    Încă nu există evaluări
  • Laborator PCIII
    Laborator PCIII
    Document90 pagini
    Laborator PCIII
    OviDiu
    Încă nu există evaluări
  • Test de Evaluare Pba
    Test de Evaluare Pba
    Document2 pagini
    Test de Evaluare Pba
    torjocf
    Încă nu există evaluări
  • PCIII Liste Cozi Stive 97 2003
    PCIII Liste Cozi Stive 97 2003
    Document22 pagini
    PCIII Liste Cozi Stive 97 2003
    torjocf
    Încă nu există evaluări
  • Fituica So2
    Fituica So2
    Document2 pagini
    Fituica So2
    torjocf
    Încă nu există evaluări
  • Lucrarea 4
    Lucrarea 4
    Document3 pagini
    Lucrarea 4
    torjocf
    Încă nu există evaluări
  • Lucrarea 5
    Lucrarea 5
    Document3 pagini
    Lucrarea 5
    torjocf
    Încă nu există evaluări
  • Lucrarea 3
    Lucrarea 3
    Document3 pagini
    Lucrarea 3
    torjocf
    Încă nu există evaluări
  • Curs 5
    Curs 5
    Document35 pagini
    Curs 5
    torjocf
    Încă nu există evaluări
  • Lucrarea 2
    Lucrarea 2
    Document4 pagini
    Lucrarea 2
    torjocf
    Încă nu există evaluări
  • Curs 8 - 9
    Curs 8 - 9
    Document58 pagini
    Curs 8 - 9
    torjocf
    Încă nu există evaluări
  • Curs 4
    Curs 4
    Document41 pagini
    Curs 4
    torjocf
    Încă nu există evaluări
  • Lucrarea 1
    Lucrarea 1
    Document3 pagini
    Lucrarea 1
    torjocf
    Încă nu există evaluări
  • Curs 7
    Curs 7
    Document46 pagini
    Curs 7
    torjocf
    Încă nu există evaluări
  • Curs 6 - 7
    Curs 6 - 7
    Document42 pagini
    Curs 6 - 7
    torjocf
    Încă nu există evaluări