Вы находитесь на странице: 1из 12

Alte obiecte ale bazelor de date

Obiective:
Dupa parcurgerea acestei lectii, veti asimila cunostinte despre:
Descrierea catorva dintre obiectele bazelor de date si folosirea lor
Crearea, mentinerea si folosirea secventelor
Crearea si ntretinerea indecsilor
Crearea de sinonime publice si private
Scopul lectiei:
n aceasta lectie, se va prezenta crearea si modul de utilizare a catorva dintre cele mai folosite
obiecte ale bazelor de date. Acestea includ secvente, indecsi si sinonime.
Obiecte ale bazelor de date
Obiect
Tabel
Vizualizare
Secventa
Index
Sinonim

Descriere
Unitatea principala de stocare a datelor; alcatuita din linii si
coloane
Reprezentare logica a seturilor de date din una sau mai multe
baze de date
Generator ale valorii cheii primare
mbunatateste performantele anumitor interogari
Un alt nume dat pentru un obiect

Obiecte ale bazelor de date:


Multe aplicatii necesita folosirea de numere distincte ca valori ale cheii primare. Acest lucru se
poate realiza prin inserare de cod, direct n aplicatie, sau se poate folosi o secventa pentru a genera
aceste numere distincte.
Pentru a mbunatati performantele anumitor interogari, este necesara crearea unui index.
Indecsii pot de asemenea fi folositi pentru a impune unicitatea ntr-o coloana sau ntr-o grupare de
coloane.
De asemenea pot fi folosite sinonime pentru a redenumi obiectele.
Avantajele folosirii unei secvente

Genereaza automat numere distincte


Este un obiect care poate fi folosit de mai multi utilizatori
Este folosit de obicei pentru a crea valorile unei chei primare
nlocuieste cod n aplicatie
Realizeaza o crestere a eficientei accesarii valorilor secventei cand este stocata n memorie.

Ce este o secventa?
Un generator de secvente poate fi folosit pentru a crea automat valori pentru liniile din tabel. O
secventa este un obiect creat de un utilizator ce poate fi folosit de unul sau mai multi utilizatori.
Secventa este generata si incrementata (sau decrementata) de o procedura interna Oracle. Acest
obiect nlocuieste partea de cod, fiind economisit timpul necesar implementarii rutinei de generare a
secventei.
Numerele secventei sunt retinute si generate independent de tabelele de date existente. Prin
urmare, aceeasi secventa poate fi folosita n mai multe baze de date.
Declaratia CREATE SEQUENCE
Defineste o secventa ce va genera automat numere secventiale.
CREATE SEQUENCE sequence
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}];
Crearea unei secvente
Generarea automata de numere folosind CREATE SEQUENCE
n sintaxa:
SEQUENCE

este numele generatorului de secventa

INCREMENT BY n

specifica intervalul dintre numerele secventei, unde n este un ntreg. Daca


aceasta clauza lipseste, n este implicit 1

START WITH n

specifica valoarea de inceput (prima valoare) pentru secventa

MAXVALUE n | NOMAXVALUE specifica o valoare maxima pe care secventa o poate genera.


Valorile implicite sunt 1027 pentru o secventa crescatoare si 1 pentru o
secventa descrescatoare.
MINVALUE n | NOMINVALUE specifica valoarea minima a secventei.Valorile implicite sunt 1
pentru o secventa crescatoare si (1027) pentru una descrescatoare.
CYCLE | NOCYCLE specifica daca secventa continua sa genereze valori dupa ce s-a atins valoarea
maxima sau minima, sau nu genereaza n continuare nici o valoare.NOCYCLE
este optiunea implicita
CACHE n | NOCACHE
specifica serverului Oracle pentru cate valori sa aloce spatiu n memorie.
Implicit este 20

Crearea unei secvente

Crearea unei secvente numita DEPT_DEPTNO pentru a fi folosita drept cheie primara a bazei de
date DEPT.
Nu se foloseste optiunea CYCLE

SQL> CREATE SEQUENCE dept_deptno


2
INCREMENT BY 1
3
START WITH 91
4
MAXVALUE 100
5
NOCACHE
6
NOCYCLE;
Sequence created.

Exemplul anterior creeaza o secventa numita DEPT_DEPTNO ce va fi folosita pentru


generarea de valori pentru coloana DEPTNO a bazei de date DEPT. Secventa ncepe cu 91, nu permite
alocare de memorie, si nu permite cicluri de generare.
Nu se recomanda folosirea clauzei CYCLE atunci cand secventa este folosita pentru a genera
valori pentru cheia primara, daca nu avem la ndemana un mecanism sigur de ndepartare a vechilor
nregistrari mai rapid decat ciclurile secventei.
Pentru mai multe informatii, vezi:
Oracle Server SQL Reference, Release 8.0, CREATE SEQUENCE
Confirmarea secventelor
Verifica valorile secventei generate n dictionarul de date
SQL> SELECT sequence_name, min_value, max_value,
2
increment_by, last_number
3 FROM user_sequences;

Coloana LAST_NUMBER afiseaza urmatorul numar disponibil al secventei.

Confirmarea secventelor
Odata creata propria secventa, ea este nscrisa n dictionarul de date. Odata ce secventa devine
obiect al bazei de date, ea poate fi identificata cu ajutorul dictionarului de date USER_OBJECTS, care
este de asemenea un tabel al bazei de date.
De asemenea, se pot confirma setarile unei secvente prin selectarea acestora din dictionarul de
date USER_SEQUENCES.
SEQUENCE_NAME MIN_VALUE MAX_VALUE INCREMENT_BY LAST_NUMBER
CUSTID
1
1.000E+27
1
109
DEPT_DEPTNO
1
100
1
91
ORDID
1
1.000E+27
1
622
PRODID
1
1.000E+27
1
200381

Pseudocoloanele NEXTVAL si CURRVAL

NEXTVAL returneaza urmatoarea valoare disponibila a secventei. Valoarea


returnata este unica de fiecare data cand secventa este apelata, chiar n cazul in
care diferiti utilizatori apeleaza secventa

CURRVAL contine valoarea curenta a secventei. NEXTVAL trebuie sa rezulte


nainte ca CURRVAL sa contina o valoare.

Folosirea unei secvente


Odata creata secventa, ea poate fi folosita pentru a genera numere folosite ulterior n tabele.
Referirea valorilor secventei se face cu NEXTVAL si CURRVAL.
Pseudocoloana NEXTVAL este folosita pentru a extrage numere succesive dintr-o anumita
secventa. Referirea lui NEXTVAL se face mpreuna cu numele secventei. La referirea lui
sequence.NEXTVAL, un nou numar al secventei este generat iar numarul curent este plasat n
CURRVAL.
Pseudocoloana CURRVAL este folosita pentru a referi numarul unei secvente pe care
utilizatorul abia l-a creat. NEXTVAL trebuie folosita pentru a genera un numar nainte ca referirea lui
CURRVAL sa aiba loc. Referirea lui CURRVAL se face mpreuna cu numele secventei. Cand
sequence.CURRVAL este referita, este afisata ultima valoare returnata spre acel proces al utilizatorului.
Pseudocoloanele NEXTVAL si CURRVAL

NEXTVAL returneaza urmatoarea valoare disponibila a secventei.


Returneaza o valoare unica de fiecare data cand este apelata, chiar n cazul unor utilizatori
diferiti.

CURRVAL contine valoarea curenta a secventei


NEXTVAL trebuie sa rezulte nainte ca CURRVAL sa contina o valoare.
Reguli pentru folosirea lui NEXTVAL si CURRVAL
Se pot folosi NEXTVAL si CURRVAL n urmatoarele situatii:
ntr-o lista SELECT a unei instructiuni SELECT , cu exceptia vizualizarilor
n clauza VALUES a unei instructiuni INSERT
n clauza SET a unei instructiuni UPDATE
n lista SELECT cea mai externa pentru o subinterogari
Nu se pot folosi NEXTVAL si CURRVAL n urmatoarele situatii:
ntr-o instructiune SELECT dintr-un VIEW
ntr-o instructiune SELECT ce contine DISTINCT
ntr-o instructiune SELECT ce contine clauzele GROUP BY, HAVING sau ORDER BY
ntr-o subinterogare n instructiuni SELECT, DELETE sau UPDATE
ntr-o expresie DEFAULT n instructiuni CREATE TABLE sau ALTER TABLE
Pentru mai multe informatii, vezi Oracle Server SQL Reference, Release 8.0, Pseudocolomns si
CREATE SEQUENCE.

Utilizarea unei secvente


Inserarea unui nou departament numit MARKETING n San Diego.
SQL> INSERT INTO
dept (deptno, dname, loc)
2 VALUES
(dept_deptno.NEXTVAL,
3
MARKETING, SAN DIEGO);
1 row created.
Vizualizarea valorii curente pentru secventa DEPTNO_DEPTNO.
SQL> SELECT
dept_deptno.CURRVAL
2 FROM
dual;

Utilizarea unei secvente


Exemplul de mai sus insereaza un nou departament n baza de date DEPT. Se utilizeaza
secventa DEPT_DEPTNO pentru generarea unui nou numar pentru departament.
Vizualizarea valorii curente a secventei:
SQL> SELECT
2 FROM

dept_deptno.CURRVAL
dual;

CURRVAL
-------------91
Sa presupunem ca se doreste ncadrarea de personal pentru noul departament creat.
Instructiunea INSERT este executata n mod repetat pentru toti noii angajati:
SQL> INSERT INTO
2 VALUES

emp
(emp_empno.NEXTVAL, deptno.CURRVAL,

Nota: Exemplul anterior presupune existenta unei secvente EMP_EMPNO pentru generarea de numere
noilor angajati.
Utilizarea unei secvente
Stocarea valorilor secventelor n memorie permite o accesare mai rapida a acestora
Pot apare goluri n cadrul secventei atunci cand:
- survine un rollback
- sistemul nu mai lucreaza
- secventa este folosita n alta baza de date
Vizualizarea urmatoarei secvente disponibile, daca a fost creata cu NOCACHE se poate face prin
interogarea bazei de date USER_SEQUENCES

Stocarea valorilor secventei


Stocarea secventelor n memorie permite o accesare mai rapida a valorilor secventei. Stocarea
se realizeaza la prima referire a secventei. Fiecare cerere pentru urmatoarele valori este regasita n
secventa stocata. Dupa ce s-a folosit ultima secventa, urmatoarea cerere pentru secventa determina o
alta stocare a secventei n memorie.

Evitarea golurilor din secvente


Desi generatorul de secvente determina numere consecutive, fara goluri, aparitia golurilor se
petrece independent de rollback. De aceea daca se revine asupra aceleasi declaratii de secventa,
numarul este pierdut.
Un alt eveniment ce poate provoca goluri n secventa este o cadere a sistemului. Daca valorile
secventei sunt stocate n memorie, acestea se pierd daca are loc o cadere a sistemului.
Deoarece secventele nu sunt legate direct de bazele de date, aceeasi secventa poate fi folosita
pentru mai multe baze de date. Daca se ntampla acest lucru fiecare baza de date poate contine goluri n
secventa.
Vizualizarea urmatoarei valori disponibile a secventei fara a o incrementa
Este posibila o vizualizare a urmatoarei valori disponibile pentru secventa, fara a o incrementa,
doar daca secventa a fost creata cu NOCACHE, prin interogarea bazei de date USER_SEQUENCES.
Modificarea unei secvente
Schimbarea valorii incrementului, valorii maxime, minime, optiuni de ciclu sau de stocare.
SQL> ALTER SEQUENCE dept_deptno
2
INCREMENT BY 1
3
MAXVALUE 999999
4
NOCACHE
5
NOCYCLE;
Sequence altered.

Modificarea secventei
Daca se atinge MAXVALUE n cazul unei secvente, nu va mai fi atribuita nici o valoare n plus
secventei si se va primi o eroare ce va indica faptul ca secventa a atins valoarea MAXVALUE. Pentru a
putea folosi n continuare aceasta secventa, ea necesita o modificare cu ajutorul instructiunii ALTER
SEQUENCE.
Sintaxa
ALTER SEQUENCE sequence
[INCREMENT BY n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}];
unde: sequence
este numele generatorului de secventa.
Pentru mai multe informatii vezi
Oracle Server SQL Reference, Release 8.0, ALTER SEQUENCE
Sfaturi pentru modificarea unei secvente

Modificarea o realizeaza numai cel care a creat secventa sau cel ce detine privilegiul ALTER.
Sunt afectate doar numerele ce urmeaza a fi generate.
Secventa trebuie ntrerupta si recreata pentru a ncepe secventa cu un alt numar decat cel initial.
Sunt efectuate cateva validari.

Sfaturi:
Numai cel ce a creat o secventa sau cel ce detine un privilegiu ALTER pot modifica secventa.
Doar numerele ce urmeaza a fi generate sunt afectate de instructiunea ALTER SEQUENCE.
Numarul cu care ncepe secventa (cel din optiunea START WITH) nu poate fi modificat cu ALTER
SEQUENCE, secventa trebuie ntrerupta si recreata pentru a rencepe cu alt numar.
Sunt realizate cateva validari. De exemplu, nu poate fi fixata o noua valoare MAXVALUE care este
mai mica decat valoarea curenta a numarului generat de secventa.
SQL> ALTER SEQUENCE dept_deptno
2
INCREMENT BY 1
3
MAXVALUE 90
4
NOCACHE
5
NOCYCLE;
ALTER SEQUENCE dept_deptno
*
ERROR at line 1:
ORA-04009: MAXVALUE cannot be made to be less than the current value
Stergerea unei secvente
Stergerea unei secvente din dictionarul de date folosind instructiunea DROP SEQUENCE
Odata stearsa, secventa nu mai poate fi referita
SQL> DROP SEQUENCE dept_deptno;
Sequence dropped.

Stergerea unei secvente


Pentru stergerea unei secvente din dictionarul de date se utilizeaza instructiunea DROP
SEQUENCE. Acest lucru l poate realiza doar cel care a creat secventa sau cel care are privilegiul
DROP ANY SEQUENCE.
Sintaxa
DROP SEQUENCE sequence;
unde: sequence
este numele generatorului de secventa.
Pentru mai multe informatii, vezi:
Oracle Server SQL Reference, Release 8.0 DROP SEQUENCE.

Ce este un index?

Indexul este un obiect din schema.


Indexul este folosit de serverul Oracle pentru o mai buna regasire a nregistrarilor prin utilizarea
unui pointer.
Indexul reduce numarul operatiilor de citire/scriere pe disc prin utilizarea unei metode de accesare
rapida, pentru o mai eficienta localizare a datelor.
Indexul este independent de tabelele pe care le indexeaza.
Indexul este folosit si ntretinut de serverul Oracle.

Ce este un index?
Un index este un obiect schema care mbunatateste regasirea nregistrarilor folosind un pointer.
Indecsii pot fi creati explicit sau automat.
Un index furnizeaza un acces direct si rapid la nregistrarile unei baze de date. Scopul utilizarii
indecsilor este reducerea numarului de citiri/scrieri pe disc, prin folosirea unei cai indexate pentru a
localiza mai rapid datele. Indexul este automat folosit si ntretinut de serverul Oracle. Odata creat
indexul, nu este necesara nici o interventie din partea utilizatorului.
Indecsii sunt logic si fizic si sunt independenti de bazele de date pe care le indexeaza. Acest
lucru nseamna ca indecsii pot fi creati sau stersi oricand fara nici un efect asupra bazelor de date sau a
altor indecsi.
Nota: Cand este sters un tabel, indecsii corespunzatori sunt de asemenea stersi.
Pentru mai multe informatii, vezi:
Oracle Server Concepts Manual, Release 8.0, sectiunea Schema Objects, Indexes.
Cum sunt creati indecsii?

Automat
- cand este definita o cheie primara (PRIMARY KEY) sau unica (UNIQUE KEY) n definitia
unui tabel.
Manual
- utilizatorii pot crea indecsi mecanic pentru a accelera accesul la nregistrarile bazelor de date.

Cum sunt creati indecsii?


Pot fi create doua tipuri de indecsi. Un tip l reprezinta indexul unic. Serverul Oracle creeaza
automat acest index cand este definita o cheie primara sau una unica. Numele indexului este numele dat
acestui camp.
Alt tip de indecsi este indexul mecanic. De exemplu, se poate crea o cheie straina (FOREIGN
KEY) pentru a realiza o eficienta mai buna la interogari.
Crearea unui index
Crearea unui index pentru unul sau mai multe campuri
CREATE INDEX index
ON table (column[, column]);
mbunatatirea accesului campului ENAME n baza de date EMP
SQL> CREATE INDEX emp_ename_idx
2
ON emp(ename);
Index created.

Crearea unui index


Crearea unui index se face cu instructiunea CREATE INDEX.
n sintaxa:
index este numele indexului.
table numele bazei de date.
column numele campului n baza de date ce urmeaza a fi indexat.
Pentru mai multe informatii, vezi:
Oracle Server SQL Reference, Release 8.0, CREATE INDEX.

Sfaturi pentru crearea unui index


Crearea unui index se face pentru
un camp ce este folosit des n clauzele WHERE sau n conditii de join.
campuri cu mare varietate de valori.
campuri cu un numar mare de valori NULL.
Doua sau mai multe campuri ce sunt folosite mpreuna frecvent ntr-o clauza WHERE sau ntr-o
conditie join.
O baza de date mare si majoritatea interogarilor nu vizeaza mai mult de 2-4% din nregistrari.

Mai mult nu nseamna ntotdeauna mai bun


Mai multi indecsi ntr-o baza de date nu nseamna o optimizare a interogarilor. Fiecare operatie DML
ce se realizeaza ntr-o baza de date ce contine indecsi implica o actualizare a indecsilor. Cu cat sunt mai
multi indecsi asociati tabelului, cu atat va dura mai mult pana cand serverul Oracle va actualiza indecsii
dupa DML.

Sfaturi pentru crearea unui index


Nu este necesara crearea unui index atunci cand:
Baza de date este mica.
Campurile nu sunt des folosite ntr-o conditie.
Majoritatea interogarilor vizeaza mai mult de 2-4% dintre nregistrari.

Confirmarea indecsilor
USER_INDEXES contine numele indexului si unicitatea lui.
Componenta USER_IND_COLUMNS contine numele indexului, numele bazei de date si numele
campului.
SQL> SELECT ic.index_name, ic.column_name,
ic.column_position col_pos, ix.uniques
FROM user_indexes ix, user_ind_columns ic
WHERE ic.index_name = ix.index_name
AND ic.table_name = EMP;

Confirmarea indecsilor
Confirmarea indecsilor existenti se realizeaza prin vizualizarea lui USER_INDEXES. De
asemenea se pot verifica campurile implicate ntr-o indexare prin interogarea lui
USER_IND_COLUMNS.
Exemplul urmator afiseaza toti indecsii creati anterior, numele campurilor afectate si unicitatea
n baza de date EMP.
INDEX_NAME
EMP_EMPNO_PK
EMP_ENAME_IDX

COLUMN_NAME
EMPNO
ENAME

COL_POS

UNIQUENES
1 UNIQUE
1 NONUNIQUE

Nota: Iesirea a fost formatata anterior.


Stergerea unui index
Stergerea unui index din dictionarul de date.
SQL> DROP INDEX index;
Stergerea indexului EMP_ENAME_IDX din dictionarul de date.
SQL> DROP INDEX emp_ename_idx;
Index dropped.
Stergerea unui index poate fi realizata doar cel care l-a creat sau de cel care are privilegiul
DROP ANY INDEX.

Stergerea unui index


Indecsii nu pot fi modificati. Pentru a modifica un index trebuie ntai sters si apoi creat.
Stergerea unui index din dictionarul de date se realizeaza prin instructiunea DROP INDEX. Stergerea
unui index o poate efectua doar cel care l-a creat sau are privilegiul DROP ANY INDEX.
n sintaxa de mai sus index este numele indexului.
Sinonime
Simplifica accesarea obiectelor prin crearea unui sinonim (un alt nume pentru un obiect anume).
Refera o baza de date detinuta de un alt utilizator.
Scurteaza numele lungi ale obiectelor.
CREATE [PUBLIC] SYNONYM synonym FOR object;

Crearea unui sinonim pentru un obiect


Pentru a referi o baza de date detinuta de alt utilizator, numele bazei de date trebuie precedat de
un prefix ce reprezinta numele utilizatorului care a creat-o. Crearea unui sinonim furnizeaza un alt
nume pentru o baza de date, secventa, procedura sau alte obiecte. Aceasta metoda este utila atunci cand
obiectele au nume lungi.
n sintaxa:
PUBLIC
synonym
object

creeaza un sinonim accesibil tuturor utilizatorilor.


este numele sinonimului creat.
identifica obiectul pentru care este creat sinonimul.

Sfaturi:
Obiectul nu trebuie sa fie continut n package.
Numele unui sinonim privat trebuie sa fie diferit de numele celorlalte obiecte detinute de acelasi
utilizator.
Pentru mai multe informatii, vezi:
Oracle Server SQL Reference, Release 8.0, CREATE SYNONYM.
Crearea si stergerea sinonimelor
Crearea unui nume mai scurt pentru DEPT_SUM_VU.
SQL> CREATE SYNONYM d_sum
FOR dept_sum_vu;
Synonym Created.
Stergerea unui sinonim
SQL> DROP SYNONYM d_sum;
Synonym dropped.

Crearea unui sinonim pentru un obiect (continuare)


Exemplul anterior creeaza un sinonim pentru DEPT_SUM_VU pentru o referire mai rapida.
DBA poate crea un sinonim public accesibil tuturor utilizatorilor. Exemplul urmator creeaza un
sinonim public numit DEPT pentru baza de date DEPT a utilizatorului Alice:
SQL> CREATE PUBLIC SYNONYM dept
2 FOR alice.dept;
Synonym created.
Stergerea unui sinonim
Pentru stergerea unui sinonim se foloseste instructiunea DROP SYNONYM. Numai DBA poate sterge
un sinonim public.
SQL> DROP SYNONYM dept;
Synonym dropped.
Pentru mai multe informatii, vezi:
Oracle Server SQL Reference, Release 8.0, DROP SYNONYM.
Rezumat

Generarea automata de secvente de numere folosind un generator de secventa.


Vizualizarea informatiilor despre secvente n baza de date USER_SEQUENCES.
Crearea de indecsi pentru a mbunatati performantele interogarilor.
Vizualizarea informatiilor despre indecsi n baza de date USER_INDEXES.
Folosirea sinonimelor pentru a furniza alte nume obiectelor.

Secvente
Generatorul de secvente poate fi folosit pentru a genera automat numere pentru nregistrarile bazelor de
date. Aceasta facilitate poate salva timp si reduce din codul necesar aplicatiei.

O secventa este un obiect al bazelor de date care poate fi folosit si de alti utilizatori n afara celui care a
creat-o. Informatii despre secvente pot fi gasite n baza de date USER_SEQUENCES.
Pentru a folosi o secventa, referirea ei se face cu pseudocampurile NEXTVAL si CURRVAL.
Referirea urmatorului numar din secventa prin sequence.NEXTVAL.
Returnarea numarului curent disponibil prin sequence.CURRVAL.
Indecsi
Indecsii sunt folositi pentru a optimiza interogarile.
Utilizatorii pot vizualiza definitiile indecsilor n USER_INDEXES.
Un index poate fi sters de cel care l-a creat sau de un utilizator cu privilegiul DROP ANY INDEX prin
instructiunea DROP INDEX.
Sinonime
DBA pot crea sinonime publice si utilizatorii pot crea sinonime private prin folosirea instructiunii
CREATE SYNONYM. Sinonimele reprezinta nume mai scurte sau nume alternative pentru obiecte.
Stergerea sinonimelor se realizeaza prin instructiunea DROP SYNONYM.

Lucrare practica
Se va crea o secventa pentru a fi folosita mpreuna cu baza de date DEPARTMENT.
Se vor crea de asemenea indecsi impliciti si expliciti.
1. Sa se creeze o secventa ce va fi folosita mpreuna cu cheia primara a tabelei DEPARTMENT.
Secventa trebuie sa nceapa cu 60 sisa aiba valoarea maxima 200. Incrementul secventei este de 10
numere. Numele secventei va fi DEPT_ID_SEQ.
2. Sa se afiseze urmatoarele informatii despre secventa: nume, valoarea maxima, marimea
incrementului si ultimul numar creat. Numele fisierului creat va fi p13q2.sql.
SEQUENCE_NAME
---------------------------CUSTID
DEPT_ID_SEQ
ORDID
PROID

MAX_VALUE
INCREMENT_BY
LAST_NUMBER
------------------------------------------------------ ---------------------------1.000E+27
1
109
200
1
60
1.000E+27
1
622
1.000E+27
1
200381

3. Sa se realizeze un program interactiv pentru a insera o nregistrare n baza de date DEPARTMENT.


Fisierul creat se va numi p13q3.sql. Se va folosi secventa creata pentru campul ID. Sa se creeze un
prompter pentru a introduce numele departamentului. Sa se adauge doua departamente numite
Education si Administration. Sa se confirme adaugarea celor doua articole.
4. Sa se creeze un index neunic pentru campul FOREIGN KEY n baza de date EMPLOYEE.
5. Sa se afiseze indecsii si unicitatile ce exista n dictionarul de date pentru baza de date EMPLOYEE.
Fisierul creat se va numi p13q5.sql.

Вам также может понравиться

  • Curs Autocad PDF
    Curs Autocad PDF
    Документ124 страницы
    Curs Autocad PDF
    Nicolae Tabirca
    Оценок пока нет
  • Pescarusul
    Pescarusul
    Документ14 страниц
    Pescarusul
    Alice Suciu
    100% (2)
  • Les 09
    Les 09
    Документ27 страниц
    Les 09
    Apetrei Ioan Cristian
    Оценок пока нет
  • Les 12
    Les 12
    Документ8 страниц
    Les 12
    radu4_ever
    Оценок пока нет
  • Les 08
    Les 08
    Документ16 страниц
    Les 08
    radu4_ever
    Оценок пока нет
  • Les 14
    Les 14
    Документ12 страниц
    Les 14
    radu4_ever
    Оценок пока нет
  • Lectia 12
    Lectia 12
    Документ10 страниц
    Lectia 12
    radu4_ever
    Оценок пока нет
  • SQL Lab Lesson 6
    SQL Lab Lesson 6
    Документ12 страниц
    SQL Lab Lesson 6
    radu4_ever
    Оценок пока нет
  • Lectia 10
    Lectia 10
    Документ9 страниц
    Lectia 10
    radu4_ever
    Оценок пока нет
  • 11sql Constrangeri
    11sql Constrangeri
    Документ12 страниц
    11sql Constrangeri
    PascDoina
    Оценок пока нет
  • Lectia 04
    Lectia 04
    Документ12 страниц
    Lectia 04
    radu4_ever
    Оценок пока нет
  • Lectia 14
    Lectia 14
    Документ13 страниц
    Lectia 14
    Dana Lucinescu
    Оценок пока нет
  • Lectia 05
    Lectia 05
    Документ16 страниц
    Lectia 05
    radu4_ever
    Оценок пока нет
  • Lectia 07
    Lectia 07
    Документ7 страниц
    Lectia 07
    radu4_ever
    Оценок пока нет
  • Lectia 03
    Lectia 03
    Документ31 страница
    Lectia 03
    radu4_ever
    Оценок пока нет
  • Les 08
    Les 08
    Документ16 страниц
    Les 08
    radu4_ever
    Оценок пока нет
  • Lectia 01
    Lectia 01
    Документ12 страниц
    Lectia 01
    Cristina Constantinescu
    Оценок пока нет
  • Popescu, Vlad T - Vrajitoarele Grase Nu Sunt Arse Pe Rug
    Popescu, Vlad T - Vrajitoarele Grase Nu Sunt Arse Pe Rug
    Документ93 страницы
    Popescu, Vlad T - Vrajitoarele Grase Nu Sunt Arse Pe Rug
    Ene Doina
    Оценок пока нет
  • Les 08
    Les 08
    Документ16 страниц
    Les 08
    radu4_ever
    Оценок пока нет
  • Lectia 02
    Lectia 02
    Документ14 страниц
    Lectia 02
    radu4_ever
    Оценок пока нет
  • 08 - Rut
    08 - Rut
    Документ5 страниц
    08 - Rut
    carti_gratis
    Оценок пока нет
  • Algoritmi Paraleli
    Algoritmi Paraleli
    Документ16 страниц
    Algoritmi Paraleli
    radu4_ever
    Оценок пока нет
  • Octavian Sava - Meteoritul de Aur
    Octavian Sava - Meteoritul de Aur
    Документ36 страниц
    Octavian Sava - Meteoritul de Aur
    sandu_danut_1
    Оценок пока нет
  • Noi NU Suntem Urmasii Romei 03 (39-72)
    Noi NU Suntem Urmasii Romei 03 (39-72)
    Документ34 страницы
    Noi NU Suntem Urmasii Romei 03 (39-72)
    Raul
    Оценок пока нет
  • Lectia 01
    Lectia 01
    Документ12 страниц
    Lectia 01
    Cristina Constantinescu
    Оценок пока нет
  • Asimov - in Marsport, Fara Hilda
    Asimov - in Marsport, Fara Hilda
    Документ9 страниц
    Asimov - in Marsport, Fara Hilda
    Vlad Manea
    Оценок пока нет
  • SQL Lab Lesson 6
    SQL Lab Lesson 6
    Документ12 страниц
    SQL Lab Lesson 6
    radu4_ever
    Оценок пока нет
  • 01.procesare Distribuita
    01.procesare Distribuita
    Документ15 страниц
    01.procesare Distribuita
    ivandanko
    Оценок пока нет
  • Lectia 01
    Lectia 01
    Документ12 страниц
    Lectia 01
    Cristina Constantinescu
    Оценок пока нет