OBIECTE in BAZELE de DATE : SECVENTIALE si INDEXATE Acest paragraf descrie cum se poate indexa o tabela pentru a imbunatati timpul de raspuns in cazul unei interogari. Crearea si utilizarea accesului secvential este de asemenea discutata (aceasta permite atribuirea automata de numere de secventa unice in cadrul unei aplicatii.) Generatorul de numere de secventa In server-ul Oracle versiunea 6, generatorul de numere de secventa poate fi utilizat pentru a genera automat numere de secventa pentru rinduri in cadrul tabelelor. De exemplu se poate folosi generatorul pentru a produce cheii primare unice. Pentru a genera automat numere de secventa, trebuie sa definiti o secventa folosind comanda CREATE SEQUENCE. Sintaxa este urmatoarea: CREATE SEQUENCE [user.] sequence_name [ increment by n] [ start with n] [ maxvalue n | nomaxvalue ] [ minvalue n | nominvalue ] Toti parametrii comenzii sunt optionali si au urmatoarea semnificatie: user: proprietarul secventei.Implicit este user-ul care a generat comanda CREATE SEQUENCE sequence_name: numele de secventa care respecta conventiile SQL de denumire a obiectelor INCREMENT BY: determina intervalul dintre numerele de secventa generate. Daca valoarea este pozitiva, atunci numerele de secventa vor creste. Daca valoarea este negativa atunci acestea vor scade. Se poate folosi orice intreg nenul. Implicit aceasta valoare este 1 START WITH: specifica primul numar de secventa care va fi generat. Implicit este 1 pentru indexi crescatori si MAXVALUE pentru indici descrescatori MINVALUE| valoarea minima a secventei ce va fi generata.Implicit este 1 NOMINVALUE pentru indici crescatori si 10E27-1 pentru indici descrescatori MAXVALUE| valoarea maxima ce va poate fi generata.Implicit este 1 pentru NOMAXVALUE secvente descrescatoare, si -1 pentru secvente crescatoare. Orice incercare de a genera numere de secventa peste aceasta valoare va esua si se va intoarce un cod de eroare. Urmatoarea comanda creaza o secventa pentru coloana DEPTNO a tabelei DEPT. CREATE SEQUENCE dept_sep INCREMENT BY 10 START WITH 10 MAXVALUE 10000; Dupa ce o secventa a fost creata ea poate fi folosita pentru a genera numere unice de secventa. Generarea de numere de secventa cu NEXTVAL NEXTVAL este utilizata pentru a extrage numere de secventa succesive dintr-o secventa specificata. Cind se acceseaza NEXTVAL on nou numar de secventa este generat. SELECT dept_seq.NEXTVAL FROM SYS.DUAL ;; NEXTVAL ------------- 10
Ne pare rau, pe moment serviciile de acces la documente sunt suspendate.