Sunteți pe pagina 1din 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 Inde 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. entru a mbunatati performantele anumitor interogari, este necesara crearea unui inde!. "ndecsii pot de asemenea fi folositi pentru a impune unicitatea ntr#o coloana sau ntr#o grupare de coloane. $e asemenea pot fi folosite sinonime pentru a redenumi obiectele. Avanta!ele folosirii unei secvente Genereaza automat numere distincte %ste un obiect care poate fi folosit de mai multi utilizatori %ste 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. & secventa este un obiect creat de un utilizator ce poate fi folosit de unul sau mai multi utilizatori. 'ecventa este generata si incrementata (sau decrementata) de o procedura interna &racle. Acest obiect nlocuieste partea de cod, fiind economisit timpul necesar implementarii rutinei de generare a secventei. *umerele secventei sunt retinute si generate independent de tabelele de date e!istente. rin urmare, aceeasi secventa poate fi folosita n mai multe baze de date. Declaratia C#$AT$ S$%&$'C$ $efineste o secventa ce va genera automat numere secventiale. +R%A,% '%-U%*+% sequence ."*+R%M%*, /0 n1 .',AR, 2",3 n1 .4MA56A7U% n 8 *&MA56A7U%91 .4M"*6A7U% n 8 *&M"*6A7U%91 .4+0+7% 8 *&+0+7%91 .4+A+3% n 8 *&+A+3%91; Crearea unei secvente Generarea automata de numere folosind +R%A,% '%-U%*+% n sinta!a: '%-U%*+% "*+R%M%*, /0 n ',AR, 2",3 n este numele generatorului de secventa specifica intervalul dintre numerele secventei, unde n este un ntreg. $aca aceasta clauza lipseste, n este implicit ; specifica valoarea de inceput (prima valoare) pentru secventa

MA56A7U% n 8 *&MA56A7U% specifica o valoare ma!ima pe care secventa o poate genera. 6alorile implicite sunt ;<=> pentru o secventa crescatoare si ?; pentru o secventa descrescatoare. M"*6A7U% n 8 *&M"*6A7U% specifica valoarea minima a secventei.6alorile implicite sunt ; pentru o secventa crescatoare si ?(;<=>) pentru una descrescatoare. +0+7% 8 *&+0+7% specifica daca secventa continua sa genereze valori dupa ce s#a atins valoarea ma!ima sau minima, sau nu genereaza n continuare nici o valoare.*&+0+7% este optiunea implicita +A+3% n 8 *&+A+3% specifica serverului &racle pentru cate valori sa aloce spatiu n memorie. "mplicit este =<

Crearea unei secvente +rearea unei secvente numita $% ,@$% ,*& pentru a fi folosita drept cheie primara a bazei de date $% ,. *u se foloseste optiunea +0+7%

'-7A +R%A,% '%-U%*+% dept@deptno = "*+R%M%*, /0 ; B ',AR, 2",3 C; D MA56A7U% ;<< E *&+A+3% F *&+0+7%; 'eGuence created.

%!emplul anterior creeaza o secventa numita $% ,@$% ,*& ce va fi folosita pentru generarea de valori pentru coloana $% ,*& a bazei de date $% ,. 'ecventa ncepe cu C;, nu permite alocare de memorie, si nu permite cicluri de generare. *u se recomanda folosirea clauzei +0+7% 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. entru mai multe informatii, vezi: Oracle Server SQL Reference, Release 8.0, H+R%A,% '%-U%*+%I Confirmarea secventelor 6erifica valorile secventei generate n dictionarul de date '-7A '%7%+, seGuence@name, min@value, ma!@value, = increment@bJ, last@number B KR&M user@seGuences; +oloana 7A',@*UM/%R afiseaza urmatorul numar disponibil al secventei.

Confirmarea secventelor &data creata propria secventa, ea este nscrisa n dictionarul de date. &data ce secventa devine obiect al bazei de date, ea poate fi identificata cu aLutorul dictionarului de date U'%R@&/M%+,', care este de asemenea un tabel al bazei de date. $e asemenea, se pot confirma setarile unei secvente prin selectarea acestora din dictionarul de date U'%R@'%-U%*+%'. S$%&$'C$('A)$ )I'(VA*&$ )A+(VA*&$ I'C#$)$'T(,- *AST('&),$# +U',"$ ; ;.<<<%N=> ; ;<C $% ,@$% ,*& ; ;<< ; C; &R$"$ ; ;.<<<%N=> ; F== R&$"$ ; ;.<<<%N=> ; =<<BO;

.seudocoloanele '$+TVA* si C&##VA* '$+TVA* returneaza urmatoarea valoare disponibila a secventei. 6aloarea returnata este unica de fiecare data cand secventa este apelata, chiar n cazul in care diferiti utilizatori apeleaza secventa C&##VA* contine valoarea curenta a secventei. *%5,6A7 trebuie sa rezulte nainte ca +URR6A7 sa contina o valoare.

/olosirea unei secvente &data creata secventa, ea poate fi folosita pentru a genera numere folosite ulterior n tabele. Referirea valorilor secventei se face cu *%5,6A7 si +URR6A7. seudocoloana *%5,6A7 este folosita pentru a e!trage numere succesive dintr#o anumita secventa. Referirea lui *%5,6A7 se face mpreuna cu numele secventei. 7a referirea lui sequence.*%5,6A7, un nou numar al secventei este generat iar numarul curent este plasat n +URR6A7. seudocoloana +URR6A7 este folosita pentru a referi numarul unei secvente pe care utilizatorul abia l#a creat. *%5,6A7 trebuie folosita pentru a genera un numar nainte ca referirea lui +URR6A7 sa aiba loc. Referirea lui +URR6A7 se face mpreuna cu numele secventei. +and sequence.+URR6A7 este referita, este afisata ultima valoare returnata spre acel proces al utilizatorului. .seudocoloanele '$+TVA* si C&##VA* *%5,6A7 returneaza urmatoarea valoare disponibila a secventei. Returneaza o valoare unica de fiecare data cand este apelata, chiar n cazul unor utilizatori diferiti. +URR6A7 contine valoarea curenta a secventei *%5,6A7 trebuie sa rezulte nainte ca +URR6A7 sa contina o valoare. #eguli pentru folosirea lui '$+TVA* si C&##VA* Se pot folosi '$+TVA* si C&##VA* n urmatoarele situatii: ntr#o lista '%7%+, a unei instructiuni '%7%+, , cu e!ceptia vizualizarilor n clauza 6A7U%' a unei instructiuni "*'%R, n clauza '%, a unei instructiuni U $A,% n lista '%7%+, cea mai e!terna pentru o subinterogari 'u se pot folosi '$+TVA* si C&##VA* n urmatoarele situatii: ntr#o instructiune '%7%+, dintr#un 6"%2 ntr#o instructiune '%7%+, ce contine $"',"*+, ntr#o instructiune '%7%+, ce contine clauzele GR&U /0, 3A6"*G sau &R$%R /0 ntr#o subinterogare n instructiuni '%7%+,, $%7%,% sau U $A,% ntr#o e!presie $%KAU7, n instructiuni +R%A,% ,A/7% sau A7,%R ,A/7% entru mai multe informatii, vezi Oracle Server SQL Reference, Release 8.0, H seudocolomnsI si H+R%A,% '%-U%*+%I.

&tilizarea unei secvente "nserarea unui nou departament numit HMARP%,"*GI n 'an $iego. '-7A "*'%R, "*,& dept (deptno, dname, loc) = 6A7U%' (dept@deptno.*%5,6A7, B QMARP%,"*GR, Q'A* $"%G&R); ; roS created. 6izualizarea valorii curente pentru secventa $% ,*&@$% ,*&. '-7A '%7%+, dept@deptno.+URR6A7 = KR&M dual;

&tilizarea unei secvente %!emplul de mai sus insereaza un nou departament n baza de date $% ,. 'e utilizeaza secventa $% ,@$% ,*& pentru generarea unui nou numar pentru departament. 6izualizarea valorii curente a secventei: '-7A '%7%+, = KR&M +URR6A7 ############## C; 'a presupunem ca se doreste ncadrarea de personal pentru noul departament creat. "nstructiunea "*'%R, este e!ecutata n mod repetat pentru toti noii angaLati: '-7A "*'%R, "*,& = 6A7U%' empT (emp@empno.*%5,6A7, deptno.+URR6A7, T dept@deptno.+URR6A7 dual;

'ota: %!emplul anterior presupune e!istenta unei secvente %M @%M *& pentru generarea de numere noilor angaLati. &tilizarea unei secvente 'tocarea valorilor secventelor n memorie permite o accesare mai rapida a acestora ot apare goluri n cadrul secventei atunci cand: - survine un HrollbacUI - sistemul nu mai lucreaza - secventa este folosita n alta baza de date 6izualizarea urmatoarei secvente disponibile, daca a fost creata cu *&+A+3% se poate face prin interogarea bazei de date U'%R@'%-U%*+%'

Stocarea valorilor secventei 'tocarea secventelor n memorie permite o accesare mai rapida a valorilor secventei. 'tocarea se realizeaza la prima referire a secventei. Kiecare cerere pentru urmatoarele valori este regasita n secventa stocata. $upa ce s#a folosit ultima secventa, urmatoarea cerere pentru secventa determina o alta stocare a secventei n memorie.

$vitarea golurilor din secvente $esi generatorul de secvente determina numere consecutive, fara goluri, aparitia golurilor se petrece independent de rollbacU. $e 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. $aca valorile secventei sunt stocate n memorie, acestea se pierd daca are loc o cadere a sistemului. $eoarece secventele nu sunt legate direct de bazele de date, aceeasi secventa poate fi folosita pentru mai multe baze de date. $aca se ntampla acest lucru fiecare baza de date poate contine goluri n secventa. Vizualizarea urmatoarei valori disponibile a secventei fara a o incrementa %ste posibila o vizualizare a urmatoarei valori disponibile pentru secventa, fara a o incrementa, doar daca secventa a fost creata cu *&+A+3%, prin interogarea bazei de date U'%R@'%-U%*+%'. )odificarea unei secvente 'chimbarea valorii incrementului, valorii ma!ime, minime, optiuni de ciclu sau de stocare. '-7A A7,%R '%-U%*+% dept@deptno = "*+R%M%*, /0 ; B MA56A7U% CCCCCC D *&+A+3% E *&+0+7%; 'eGuence altered.

)odificarea secventei $aca se atinge MA56A7U% 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 MA56A7U%. entru a putea folosi n continuare aceasta secventa, ea necesita o modificare cu aLutorul instructiunii A7,%R '%-U%*+%. Sinta a A7,%R '%-U%*+% seGuence ."*+R%M%*, /0 n1 .4MA56A7U% n 8 *&MA56A7U%91 .4M"*6A7U% n 8 *&M"*6A7U%91 .4+0+7% 8 *&+0+7%91 .4+A+3% n 8 *&+A+3%91; unde: sequence este numele generatorului de secventa. entru mai multe informatii vezi Oracle Server SQL Reference, Release 8.0, HA7,%R '%-U%*+%I Sfaturi pentru modificarea unei secvente Modificarea o realizeaza numai cel care a creat secventa sau cel ce detine privilegiul A7,%R. 'unt afectate doar numerele ce urmeaza a fi generate. 'ecventa trebuie ntrerupta si recreata pentru a ncepe secventa cu un alt numar decat cel initial. 'unt efectuate cateva validari.

Sfaturi: *umai cel ce a creat o secventa sau cel ce detine un privilegiu A7,%R pot modifica secventa. $oar numerele ce urmeaza a fi generate sunt afectate de instructiunea A7,%R '%-U%*+%. *umarul cu care ncepe secventa (cel din optiunea ',AR, 2",3) nu poate fi modificat cu A7,%R '%-U%*+%, secventa trebuie ntrerupta si recreata pentru a rencepe cu alt numar. 'unt realizate cateva validari. $e e!emplu, nu poate fi fi!ata o noua valoare MA56A7U% care este mai mica decat valoarea curenta a numarului generat de secventa. '-7A A7,%R '%-U%*+% dept@deptno = "*+R%M%*, /0 ; B MA56A7U% C< D *&+A+3% E *&+0+7%; A7,%R '%-U%*+% dept@deptno V %RR&R at line ;: &RA#<D<<C: MA56A7U% cannot be made to be less than the current value Stergerea unei secvente 'tergerea unei secvente din dictionarul de date folosind instructiunea $R& '%-U%*+% &data stearsa, secventa nu mai poate fi referita '-7A $R& '%-U%*+% dept@deptno; 'eGuence dropped.

Stergerea unei secvente entru stergerea unei secvente din dictionarul de date se utilizeaza instructiunea $R& '%-U%*+%. Acest lucru l poate realiza doar cel care a creat secventa sau cel care are privilegiul $R& A*0 '%-U%*+%. Sinta a $R& '%-U%*+% seGuence; unde: sequence este numele generatorului de secventa. entru mai multe informatii, vezi: Oracle Server SQL Reference, Release 8.0 H$R& '%-U%*+%I.

Ce este un inde " "nde!ul este un obiect din schema. "nde!ul este folosit de serverul &racle pentru o mai buna regasire a nregistrarilor prin utilizarea unui pointer. "nde!ul reduce numarul operatiilor de citireWscriere pe disc prin utilizarea unei metode de accesare rapida, pentru o mai eficienta localizare a datelor. "nde!ul este independent de tabelele pe care le inde!eaza. "nde!ul este folosit si ntretinut de serverul &racle.

Ce este un inde " Un inde! este un obiect schema care mbunatateste regasirea nregistrarilor folosind un pointer. "ndecsii pot fi creati e!plicit sau automat. Un inde! furnizeaza un acces direct si rapid la nregistrarile unei baze de date. 'copul utilizarii indecsilor este reducerea numarului de citiriWscrieri pe disc, prin folosirea unei cai inde!ate pentru a localiza mai rapid datele. "nde!ul este automat folosit si ntretinut de serverul &racle. &data creat inde!ul, nu este necesara nici o interventie din partea utilizatorului. "ndecsii sunt logic si fizic si sunt independenti de bazele de date pe care le inde!eaza. Acest lucru nseamna ca indecsii pot fi creati sau stersi oricand fara nici un efect asupra bazelor de date sau a altor indecsi. *ota: +and este sters un tabel, indecsii corespunzatori sunt de asemenea stersi. entru mai multe informatii, vezi: Oracle Server Concepts Manual, Release 8.0, sectiunea H'chema &bLectsI, H"nde!esI. Cum sunt creati indecsii" Automat # cand este definita o cheie primara ( R"MAR0 P%0) sau unica (U*"-U% P%0) n definitia unui tabel. Manual # utilizatorii pot crea indecsi mecanic pentru a accelera accesul la nregistrarile bazelor de date.

Cum sunt creati indecsii" ot fi create doua tipuri de indecsi. Un tip l reprezinta inde!ul unic. 'erverul &racle creeaza automat acest inde! cand este definita o cheie primara sau una unica. *umele inde!ului este numele dat acestui camp. Alt tip de indecsi este inde!ul mecanic. $e e!emplu, se poate crea o cheie straina (K&R%"G* P%0) pentru a realiza o eficienta mai buna la interogari. Crearea unui inde +rearea unui inde! pentru unul sau mai multe campuri +R%A,% "*$%5 inde! &* table (column., column1T); mbunatatirea accesului campului %*AM% n baza de date %M '-7A +R%A,% "*$%5 emp@ename@id! = &* emp(ename); "nde! created.

Crearea unui inde +rearea unui inde! se face cu instructiunea +R%A,% "*$%5. n sinta!a: index ? este numele inde!ului. table ? numele bazei de date. column ? numele campului n baza de date ce urmeaza a fi inde!at. entru mai multe informatii, vezi: Oracle Server SQL Reference, Release 8.0, H+R%A,% "*$%5I.

Sfaturi pentru crearea unui inde Crearea unui inde se face pentru un camp ce este folosit des n clauzele 23%R% sau n conditii de Loin. campuri cu mare varietate de valori. campuri cu un numar mare de valori *U77. $oua sau mai multe campuri ce sunt folosite mpreuna frecvent ntr#o clauza 23%R% sau ntr#o conditie Loin. & baza de date mare si maLoritatea interogarilor nu vizeaza mai mult de =#DX din nregistrari.

)ai mult nu nseamna ntotdeauna mai bun Mai multi indecsi ntr#o baza de date nu nseamna o optimizare a interogarilor. Kiecare operatie $M7 ce se realizeaza ntr#o baza de date ce contine indecsi implica o actualizare a indecsilor. +u cat sunt mai multi indecsi asociati tabelului, cu atat va dura mai mult pana cand serverul &racle va actualiza indecsii dupa $M7.

Sfaturi pentru crearea unui inde 'u este necesara crearea unui inde atunci cand: /aza de date este mica. +ampurile nu sunt des folosite ntr#o conditie. MaLoritatea interogarilor vizeaza mai mult de =#DX dintre nregistrari.

Confirmarea indecsilor &S$#(I'D$+$S contine numele inde!ului si unicitatea lui. +omponenta U'%R@"*$@+&7UM*' contine numele inde!ului, numele bazei de date si numele campului. '-7A '%7%+, ic.inde!@name, ic.column@name, ic.column@position col@pos, i!.uniGues KR&M user@inde!es i!, user@ind@columns ic 23%R% ic.inde!@name Y i!.inde!@name A*$ ic.table@name Y Q%M R;

Confirmarea indecsilor +onfirmarea indecsilor e!istenti se realizeaza prin vizualizarea lui U'%R@"*$%5%'. $e asemenea se pot verifica campurile implicate ntr#o inde!are prin interogarea lui U'%R@"*$@+&7UM*'. %!emplul urmator afiseaza toti indecsii creati anterior, numele campurilor afectate si unicitatea n baza de date %M . I'D$+('A)$ %M @%M *&@ P %M @%*AM%@"$5 CO*&)'('A)$ %M *& %*AM% CO*(.OS &'I%&$'$S ; U*"-U% ; *&*U*"-U%

'ota: "esirea a fost formatata anterior. Stergerea unui inde 'tergerea unui inde! din dictionarul de date. '-7A $R& "*$%5 inde!; 'tergerea inde!ului %M @%*AM%@"$5 din dictionarul de date. '-7A $R& "*$%5 emp@ename@id!; "nde! dropped. 'tergerea unui inde! poate fi realizata doar cel care l#a creat sau de cel care are privilegiul $R& A*0 "*$%5.

Stergerea unui inde "ndecsii nu pot fi modificati. entru a modifica un inde! trebuie ntai sters si apoi creat. 'tergerea unui inde! din dictionarul de date se realizeaza prin instructiunea $R& "*$%5. 'tergerea unui inde! o poate efectua doar cel care l#a creat sau are privilegiul $R& A*0 "*$%5. n sinta!a de mai sus index ? este numele inde!ului. Sinonime 'implifica accesarea obiectelor prin crearea unui sinonim (un alt nume pentru un obiect anume). Refera o baza de date detinuta de un alt utilizator. 'curteaza numele lungi ale obiectelor. +R%A,% . U/7"+1 '0*&*0M sJnonJm K&R obLect;

Crearea unui sinonim pentru un obiect entru a referi o baza de date detinuta de alt utilizator, numele bazei de date trebuie precedat de un prefi! ce reprezinta numele utilizatorului care a creat#o. +rearea 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 sinta!a: U/7"+ s non m ob!ect creeaza un sinonim accesibil tuturor utilizatorilor. este numele sinonimului creat. identifica obiectul pentru care este creat sinonimul.

Sfaturi: &biectul nu trebuie sa fie continut n HpacUageI. *umele unui sinonim privat trebuie sa fie diferit de numele celorlalte obiecte detinute de acelasi utilizator. entru mai multe informatii, vezi: Oracle Server SQL Reference, Release 8.0, H+R%A,% '0*&*0MI. Crearea si stergerea sinonimelor +rearea unui nume mai scurt pentru $% ,@'UM@6U. '-7A +R%A,% '0*&*0M d@sum K&R dept@sum@vu; 'JnonJm +reated. 'tergerea unui sinonim '-7A $R& '0*&*0M d@sum; 'JnonJm dropped.

Crearea unui sinonim pentru un obiect 0continuare1 %!emplul anterior creeaza un sinonim pentru $% ,@'UM@6U pentru o referire mai rapida. $/A poate crea un sinonim public accesibil tuturor utilizatorilor. %!emplul urmator creeaza un sinonim public numit $% , pentru baza de date $% , a utilizatorului Alice: '-7A +R%A,% U/7"+ '0*&*0M dept = K&R alice.dept; 'JnonJm created. Stergerea unui sinonim entru stergerea unui sinonim se foloseste instructiunea $R& '0*&*0M. *umai $/A poate sterge un sinonim public. '-7A $R& '0*&*0M dept; 'JnonJm dropped. entru mai multe informatii, vezi: Oracle Server SQL Reference, Release 8.0, H$R& '0*&*0MI. #ezumat Generarea automata de secvente de numere folosind un generator de secventa. 6izualizarea informatiilor despre secvente n baza de date U'%R@'%-U%*+%'. +rearea de indecsi pentru a mbunatati performantele interogarilor. 6izualizarea informatiilor despre indecsi n baza de date U'%R@"*$%5%'. Kolosirea 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.

& secventa este un obiect al bazelor de date care poate fi folosit si de alti utilizatori n afara celui care a creat#o. "nformatii despre secvente pot fi gasite n baza de date U'%R@'%-U%*+%'. entru a folosi o secventa, referirea ei se face cu pseudocampurile *%5,6A7 si +URR6A7. Referirea urmatorului numar din secventa prin seGuence.*%5,6A7. Returnarea numarului curent disponibil prin seGuence.+URR6A7. Indecsi "ndecsii sunt folositi pentru a optimiza interogarile. Utilizatorii pot vizualiza definitiile indecsilor n U'%R@"*$%5%'. Un inde! poate fi sters de cel care l#a creat sau de un utilizator cu privilegiul $R& A*0 "*$%5 prin instructiunea $R& "*$%5. Sinonime $/A pot crea sinonime publice si utilizatorii pot crea sinonime private prin folosirea instructiunii +R%A,% '0*&*0M. 'inonimele reprezinta nume mai scurte sau nume alternative pentru obiecte. 'tergerea sinonimelor se realizeaza prin instructiunea $R& '0*&*0M.

*ucrare practica 'e va crea o secventa pentru a fi folosita mpreuna cu baza de date $% AR,M%*,. 'e vor crea de asemenea indecsi impliciti si e!pliciti. ;. 'a se creeze o secventa ce va fi folosita mpreuna cu cheia primara a tabelei $% AR,M%*,. 'ecventa trebuie sa nceapa cu F< sisa aiba valoarea ma!ima =<<. "ncrementul secventei este de ;< numere. *umele secventei va fi $% ,@"$@'%-. =. 'a se afiseze urmatoarele informatii despre secventa: nume, valoarea ma!ima, marimea incrementului si ultimul numar creat. *umele fisierului creat va fi p"#q$.sql. '%-U%*+%@*AM% ############################ +U',"$ $% ,@"$@'%&R$"$ R&"$ MA5@6A7U% "*+R%M%*,@/0 7A',@*UM/%R ########################### ############################ ############################ ;.<<<%N=> ; ;<C =<< ; F< ;.<<<%N=> ; F== ;.<<<%N=> ; =<<BO;

B. 'a se realizeze un program interactiv pentru a insera o nregistrare n baza de date $% AR,M%*,. Kisierul creat se va numi p"#q#.sql. 'e va folosi secventa creata pentru campul "$. 'a se creeze un prompter pentru a introduce numele departamentului. 'a se adauge doua departamente numite %ducation si Administration. 'a se confirme adaugarea celor doua articole. D. 'a se creeze un inde! neunic pentru campul K&R%"G* P%0 n baza de date %M 7&0%%. E. 'a se afiseze indecsii si unicitatile ce e!ista n dictionarul de date pentru baza de date %M 7&0%%. Kisierul creat se va numi p"#q%.sql.