+ All Categories
Home > Documents > Curs5_ElementeSQL_inOracle_t (1)

Curs5_ElementeSQL_inOracle_t (1)

Date post: 04-Oct-2015
Category:
Upload: florin-marius-leu
View: 4 times
Download: 0 times
Share this document with a friend
Description:
ghukhj
84
    B   a   z   e    d   e    d   a    t   e Curs 5: Element e S QL in Or acle 1. Obiectele bazei de date 2. Tipuri de date SQL 3. Literali 4. Modele de format  5. Valori null 6. Comentarii  7. Pseudocoloane 8. Operatori SQL 9. Funcţii SQL 1
Transcript
  • Baze

    de d

    ate

    Curs 5: Elemente SQL in Oracle

    1. Obiectele bazei de date

    2. Tipuri de date SQL

    3. Literali

    4. Modele de format

    5. Valori null

    6. Comentarii

    7. Pseudocoloane

    8. Operatori SQL

    9. Funcii SQL

    1

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    1.Obiectele bazei de date

    1.1. Generalitati

    1.2. Reguli de denumire a obiectelor bazei de date

    Observatie

    Obiectele BD Instructiunile SQL (prezentate ulterior)

    2

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    1.Obiectele bazei de date

    1.1. Generalitati

    O BD Oracle = { scheme }.

    O schem = {obiecte}

    Obiect = o structura logica de date;

    Fiecare utilizator posed o singur schem;

    Numele schemei numele utilizatorului.

    3

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

    la nivel logic

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Oracle Database recunoaste 2 tipuri de

    obiecte:

    a) obiecte care sunt asociate unei scheme

    particulare;

    b) obiecte care nu aparin nici unei scheme.

    4

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (a) Obiecte care sunt asociate unei scheme

    particulare: In cadrul unei scheme se pot defini obiecte de tip:

    tabel (table), vizualizare (view), vizualizare materializat (materialized view), secven (sequence), index (index), sinonim (synonym), grupare (cluster), procedur (procedure) funcie (function) stocat, declanator (trigger), pachet stocat (package), legtur a bazei de date (database link), dimensiune (dimension) etc.

    5

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (b) Obiecte care nu aparin nici unei scheme:

    sunt create i prelucrate cu instructiuni SQL,

    sunt stocate n BD dar NU intr-o schema,

    sunt de tip:

    utilizator (user),

    context (context),

    director (directory),

    fiier de parametri (parameter file PFILE),

    profil (profile),

    rol (role),

    segment rollback (rollback segment) i

    spaiu tabel (tablespace).

    6

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    7

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

    1. Obiectele bazei de date

    1.2 Reguli de denumire a obiectelor bazei de date

    Intr-o schema a Oracle Database trebuie denumite:

    toate obiectele,

    anumite parti componente ale anumitor obiecte:

    coloanele tabelelor sau vizualizrilor,

    partiiile i subpartiiile tabelelor i indecilor,

    constrngerile de integritate asupra tabelelor;

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    8

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

    (R1)

    Numele obiectelor sunt unice la nivelul unei BD ntr-o instruciune SQL, numele unui obiect poate fi reprezentat printr-un identificator ncadrat, sau nu, ntre

    ghilimele

    Identificatorii nu pot fi cuvinte rezervate ale serverului Oracle;

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    9

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

    (R2)

    Identificatorii trebuie s nceap cu o liter i s aib maximum 30 de caractere; Excepii: numele BD (max. 8 caractere), numele legturii unei BD (max. 128 caract.);

    (R3)

    Identificatorii pot conine caractere alfanumerice i simbolurile _, $, #

    Ei trebuie s nceap cu un caracter alfabetic

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    10

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

    (R4)

    Fiecare schem din BD are propriul su spaiu de nume (namespace) pentru obiectele pe care

    le conine Dou obiecte din acelai spaiu de nume al

    serverului Oracle nu pot avea acelai identificator.

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    11

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

    (R4 cont.)

    un tabel i o vizualizare din cadrul aceleiai scheme NU pot avea acelai nume, ns un tabel poate avea acelai nume cu un index.

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    12

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

    Observatie Identificatorii obiectelor sunt case-sensitive doar n cazul n care sunt ncadrai ntre ghilimele; altfel, ei sunt convertii automat n majuscule.

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    1. Obiectele bazei de date

    2. Tipuri de date SQL

    3. Literali

    4. Modele de format

    5. Valori null

    6. Comentarii

    7. Pseudocoloane

    8. Operatori SQL

    9. Funcii SQL

    13

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    2. Tipuri de date SQL

    2.1. Tipuri de date predefinite

    2.2. Tipuri de date ANSI, DB2 i SQL/DS acceptate n sistemul Oracle

    2.3. Tipuri de date definite de utilizator

    2.4. Interfee pentru definirea de tipuri de date.

    14

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    2. Tipuri de date SQL

    2.1. Tipurile de date predefinite din sistemul Oracle:

    a) caracter,

    b) numeric,

    c) dat calendaristic i timp,

    d) LOB (large objects) i

    e) adrese unice ale liniilor din tabele.

    15

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (a)

    Tipurile de date predefinite pentru stocarea

    irurilor de caractere sunt : VARCHAR2 (n [BYTE |CHAR])

    CHAR[(n [BYTE | CHAR] )]

    NVARCHAR2(n)

    NCHAR[(n)]

    iar pentru stocarea irurilor de caractere de dimensiuni mari sunt :

    LONG,

    LONG RAW

    RAW. 16

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (a1)

    VARCHAR2 (n [BYTE |CHAR])

    definete un ir de caractere de dimensiune variabil, avnd lungimea maxim de n octei sau caractere;

    valoarea maxim a lui n corespunde la 4000 octei, iar cea minim este de un octet sau un caracter;

    BYTE i CHAR indic faptul c lungimea variabilei sau coloanei de acest tip se va

    specifica n octei, respectiv n caractere.

    17

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (a2)

    CHAR[(n [BYTE | CHAR] )]

    reprezint un ir de caractere de lungime fix avnd n octei sau caractere;

    valoarea maxim a lui n corespunde la 2000 octei;

    valoarea implicit i minim este de un octet. opiunile BYTE i CHAR au aceeai

    semnificaie ca i pentru tipul VARCHAR2.

    18

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (a3)

    NVARCHAR2(n)

    este similar tipului VARCHAR2, dar definete un ir de caractere aparinnd

    setului naional de caractere, fiind un tip de date Unicode;

    (a4)

    NCHAR[(n)];

    este similar tipului CHAR, dar definete un ir de caractere, de lungime fix,

    aparinnd setului naional de caractere, fiind un tip de date Unicode.

    19

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (a5)

    LONG

    conine iruri de caractere avnd lungime variabil,

    nu pot ocupa mai mult de 2GB;

    LONG RAW

    este un tip binar ce conine valori de dimensiune variabil,

    nu pot ocupa mai mult de 2GB;

    RAW(n)

    este un tip binar ce contine valori care ocup n octei,

    valoarea maxim a argumentului n este 2000. 20

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (b)

    Tipurile de date predefinite pentru stocarea

    valorilor numerice sunt :

    NUMBER,

    BINARY_FLOAT

    BINARY_DOUBLE

    21

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (b1)

    NUMBER(p, s)

    reprezint un numr avnd precizia p i scala s; precizia p poate lua valori ntre 1 i 38 scala s poate lua valori ntre 84 i 127 tipul conine valori de forma x10s, unde x este un numr ntreg cu cel mult p cifre.

    22

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (b2)

    BINARY_FLOAT

    reprezint numere pe 32 de bii, n virgul mobil, necesit 5 octei, un octet fiind rezervat pentru stocarea lungimii;

    (b3)

    BINARY_DOUBLE

    reprezint numere pe 64 de bii, n virgul mobil, necesit 9 octei, unul fiind dedicat lungimii;

    Numerele binare n virgul mobil suport valorile speciale:

    infinit NaN (not a number). 23

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (c)

    Tipurile de date predefinite pentru stocarea

    datelor calendaristice i a momentelor de timp sunt :

    DATE,

    TIMESTAMP

    INTERVAL

    24

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (c1)

    DATE

    reprezint date calendaristice valide, in intervalul 1 ian. 4712 i.Hr. i 31 dec. 9999 d.Hr; (c2)

    TIMESTAMP[(precizie_fraciuni_secund)] cuprinde valori pentru anul, luna i ziua unei date calendaristice, precum i or, minut, secund; argum. precizie_fraciuni_secund reprezint numrul de cifre din partea fracionar a cmpului corespunztor secundelor.

    valorile acceptate pentru precizie_fraciuni_secund sunt ntre 0 i 9, iar valoarea implicit este 6. 25

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    TIMESTAMP[(precizie_fraciuni_secund)] WITH TIME ZONE cuprinde toate informaiile corespunztoare tipului (d2)

    in plus: deplasarea fusului orar

    TIMESTAMP[(precizie_fraciuni_secund)] WITH LOCAL TIME

    ZONE cuprinde toate informaiile corespunztoare tipului (d3) diferena: la stocare n baza de date: o dat calendaristic de acest tip este transformat corespunztor timpului regiunii (setat la nivelul bazei),

    la utilizare: aceast valoare va fi transformat corespunztor timpului regiunii caracteristice sesiunii respective;

    26

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (c3) INTERVAL YEAR [(precizie_an)] TO MONTH

    stocheaz o perioad de timp specificat n ani i luni, precizie_an reprezint numrul de cifre din cmpul YEAR, valorile acceptate pentru precizie_an sunt ntre 0 i 9, valoarea implicit este 2;

    INTERVAL DAY [(precizie_zi)] TO SECOND

    [precizie_fraciuni_sec)]

    stocheaz o perioad de timp specificat n zile, ore, min. sec.,

    argumentul precizie_zi coresp. nr. max. de cifre din cmpul DAY,

    valorile acceptate pentru precizie_zi sunt ntre 0 i 9, valoarea implicit fiind 2.

    27

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Exemplu.

    S se creeze un tabel cu trei coloane: inceput, durata_1, durata_2.

    Coloana inceput va contine valori ce reprezint momente de timp, inclusiv fraciunile de secund corespunztoare. Coloana durata_1 va contine valori ce reprezint intervale de timp specificate n numr de zile, ore, minute i secunde. Coloana durata_3 va conine valori ce reprezint intervale de timp precizate n numr de ani i luni. S se insereze o nregistrare n acest tabel.

    28

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    CREATE TABLE timp (inceput TIMESTAMP,

    durata_1 INTERVAL DAY(2) TO SECOND(3),

    durata_2 INTERVAL YEAR TO MONTH);

    INSERT INTO timp

    VALUES (TIMESTAMP '1997-01-31 09:26:50.124',

    INTERVAL '23 7:44:22' DAY TO SECOND,

    INTERVAL '19-02' YEAR TO MONTH);

    29

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (d)

    Tipurile de date predefinite pentru stocarea

    obiectelor mari LOB (large object) sunt :

    CLOB

    NCLOB

    BLOB

    BFILE

    30

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Obiectele mari (LOB): folosite pentru stocarea, n

    interiorul sau exteriorul bazei de date, a unui

    volum mare de date complexe, nestructurate, n

    format text sau binar

    dimensiunea maxima: 4 GB, clasificare in functie de localizarea fa de BD: interne:

    tipurile CLOB, NCLOB i BLOB (valorile lor sunt stocate n BD),

    externe: tipul BFILE

    (valorile sale sunt stocate n fiierele sistemului de operare).

    31

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    CLOB (Character Large Object) conine valori de tip caracter,

    BLOB (Binary Large Object)

    datele stocate sunt date binare nestructurate; BFILE (Binary File)

    conine un locator ctre un fiier binar de dimensiune maxim 4GB, stocat n afara bazei de date,

    32

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (e)

    Tipurile de date predefinite pentru reprezentarea

    adreselor liniilor n tabele sunt :

    ROWID

    UROWID

    33

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (e1) ROWID

    Oracle genereaza i asigneaza fiecarui rand dintr-o tabela un numar binar ca ID al acesteia (pe baza valorilor din cheia primara)

    => apare astfel o noua coloana in tabel => ROWID este o pseudocoloana furnizata de Oracle pt identificarea

    randurilor

    => ROWID conine iruri hexazecimale care reprezint adresele unice ale liniilor n tabelele din care fac parte

    continutul ei poate fi printat cu comanda SQL> select rowid, empno, ename, job from emp;

    ROWID EMPNO ENAME JOB

    AAAHW7AABAAAMUiAAA 7369 SMITHSON CLERK

    AAAHW7AABAAAMUiAAB 7499 ALLENBY SALESMAN

    AAAHW7AABAAAMUiAAC 7521 WATSON SALESMAN

    AAAHW7AABAAAMUiAAD 7566 HASTINGS MANAGER

    reprezinta cea mai rapida metoda de acces la randurile unui tabel (insasi cheia primara foloseste mecanismul ROWID pt a

    parcurge inregitrarile din tabela). 34

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (e2)

    UROWID[(n)]

    = universal rowid (UROWID)

    = un tip de data care desemneaza atat ID-uri fizice cat i ID-uri logice ale randurilor dintr-o tabela indexata

    ID-urile sunt afisate ca iruri hexazecimale

    argumentul n specific dimensiunea unei pseudocoloane de tip UROWID,

    dimensiunea maxim i implicit este de 4000 octei.

    35

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    2.Tipuri de date SQL

    2.2. Tipuri de date ANSI, DB2 i SQL/DS acceptate n sistemul Oracle

    Sistemul Oracle recunoate numele tipurilor de date specifice ANSI sau IBM, le converteste cf. unor conventii prestabilite si le utilizeaza pentru crearea tabelelor i clusterelor. Exemplu:

    36

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

    Tip de date SQL/DS sau DB2 Tip de date Oracle

    CHARACTER(n) CHAR(n)

    VARCHAR(n) VARCHAR2(n)

    LONG VARCHAR(n) LONG

    DECIMAL(p, s) NUMBER(p, s)

    INTEGER

    SMALLINT

    NUMBER(38)

    FLOAT NUMBER

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    2. Tipuri de date SQL

    2.3. Tipurile de date definite de utilizator

    Utilizatorul poate defini noi tipuri de date pe baza:

    oricaruia dintre tipurile de date predefinite,

    altor tipuri de date definite de utilizator,

    se obtin urmatoarele tipuri de date obiect care modeleaza structura i comportamentul datelor in aplicatii:

    A. tipurile obiect,

    B. tipurile referin (REF),

    C. vectorii (varying array sau varray),

    D. tablourile imbricate (nested table).

    37

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (A) Tipurile de date obiect

    abstractizri ale entitilor din lumea real, necesare n programele de aplicaie,

    un tip obiect = o schem obiect cu trei tipuri de componente:

    nume,

    atribute,

    metode.

    38

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Numele = identific n mod unic tipul obiect n cadrul unei scheme

    Atributele = modeleaz structura entitii din lumea real. = au ca tip de date un tip predefinit sau un alt tip-

    utilizator

    Metodele = implementeaz operaiile pe care aplicaia le poate efectua asupra entitii din lumea real

    = sunt implementate prin intermediul funciilor i procedurilor scrise n:

    PL/SQL i stocate n baza de date, sau

    ntr-un limbaj general (C, Java etc.) i stocate extern.

    39

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (B) Tipurile de date referinta

    conin adrese logice ale liniilor obiect,

    Utilitate:

    tipul de date REF i coleciile de obiecte REF modeleaz relaiile dintre entiti (m-1 sau 1-m)

    => dispare necesitatea definirii cheilor externe relaionale.

    40

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Tipul de date REF valoarea NULL:

    Daca o valoare REF indic un obiect inexistent

    ea este considerat suspendat (dangling);

    41

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (B) Tipul de date vector (varying array sau varray), = modeleaza o mulime ordonat de elemente avnd acelai tip;

    fiecare element are un index, care reprezint numrul corespunztor poziiei elementului n vector;

    nr elemente dintr-un vector = dimensiunea vectorului;

    Declararea unui vector: = definirea unui tip de date

    care poate fi utilizat ulterior ca tip de date pt:

    o coloana dintr-un tabel relaional,

    un atribut dintr-un tip obiect,

    o variabila,

    un parametru / o valoare returnata de o funcie n PL/SQL

    => nu i se aloca spatiu,

    trebuie precizata dimensiunea sa maxima (pt ca in Oracle, vectorii au dimensiune variabil).

    42

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (C) Tipul de date tablou imbricat (nested table)

    = modeleaz o mulime neordonat de elemente al caror tip de date poate fi:

    un tip predefinit,

    un tip definit de utilizator;

    = poate fi vzut ca:

    un tabel relaional cu o singur coloan sau

    un tabel relaional multicoloan

    (cu cte o coloan corespunztoare fiecrui atribut al tipului obiect, dac tabloul imbricat este un tip obiect).

    43

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    vector:

    v: {1,2,3, .,n} T prin v(1)=103, v(2)=-45, v(3)=88 etc.

    matrice

    m: {1,2, .,n}X {1,2,k} T prin m(1,1)=77, m(1,2)=0, m(1,3)=-47 etc.

    44

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

    103 -45 88 12 12 50 23 12 9000 23

    1 2 3 4 . . . i .. n

    v(2) v(i)

    77 0 -47 55 77 10

    10 23 24 19 -1 0

    m(i,j) m(2,3)

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    2. Tipuri de date SQL

    2.4. Interfee pentru definirea de tipuri de date:

    = interfee bazate pe SQL care permit definirea unor noi tipuri de date, atunci cnd cele

    predefinite sau cele standard ANSI nu sunt

    suficiente

    comportamentul acestor tipuri poate fi implementat n C/C++, Java sau PL/SQL

    45

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    1. Obiectele bazei de date

    2. Tipuri de date SQL

    3. Literali

    4. Modele de format

    5. Valori null

    6. Comentarii

    7. Pseudocoloane

    8. Operatori SQL

    9. Funcii SQL

    46

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    3. Literali

    3.1. Literali de tip caracter

    3.2. Literali numerici

    3.3. Literali pentru date calendaristice

    3.4. Literali marci de timp

    3.5. Literali de intervale de timp;

    Definitie: Literal = o valoare constanta pe perioda de viata a BD.

    47

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    3. Literali

    3.1. Literali de tip caracter

    sintaxa:

    se includ ntre apostrofuri (pentru a permite

    sistemului Oracle s le disting de numele obiectelor schemei);

    sunt considerate de tip CHAR (n expresii i condiii);

    lungimea maxim admis: 4000 de octei.

    48

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    3. Literali

    3.2. Literali numerici

    de tip Number: in notatie clasica: precedate de + sau

    max . 38 caractere

    in notatie stiintifica: cu mantisa i exponent; Exemple

    37, -5, +9.77, 0,25

    47e-05,

    in virgula mobila: precedate de + sau i urmate de f, F --> numar de tip Binary Float

    d, D --> numar de tip Binary Double

    Exemple

    37f +9,77F

    -5D 0.25d . 49

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    3. Literali

    3.3. Literali pentru date calendaristice

    sunt formate din campuri

    formatul implicit:

    specificat prin param. de iniializare NLS_DATE_FORMAT

    in notaia ANSI:

    cuvantul-cheie DATE si

    formatul YYYY-MM-DD

    50

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    3. Literali

    3.4. Literali pentru marci de timp

    sunt formate din campuri

    precizeaza anul, luna, ziua, ora, minutul, secunda i fraciunile de secund.

    in notaia ANSI:

    cuvantul-cheie TIMESTAMP

    formatul YYYY-MM-DD HH:MM:SS.FFF

    51

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    3. Literali

    3.5. Literali pentru intervale de timp

    sunt formate din campuri; daca precizia compurilor este mai mare decat 2, trebuie specificata

    utilizate impreuna cu functiile analitice specifica o perioada de timp care poate fi exprimat n

    ani i luni sau zile, ore, minute i secunde.

    2 tipuri de literale pentru specificarea intervalelor: YEAR TO MONTH i DAY TO SECOND

    52

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    1. Obiectele bazei de date

    2. Tipuri de date SQL

    3. Literali

    4. Modele de format

    5. Valori null

    6. Comentarii

    7. Pseudocoloane

    8. Operatori SQL

    9. Funcii SQL

    53

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    4. Modele de format

    Definitie: Model de format =

    = un literal de tip caracter care descrie formatul valorilor de tip

    DATE sau NUMBER stocate ntr-un ir de caractere este case-sensitive (DAY FRYDAY; Day Friday) cnd se convertete un ir de caractere ntr-o dat

    calendaristic sau ntr-un numr, modelul de format indic sistemului cum s interpreteze irul respectiv

    un model de format ca argument al funciilor TO_CHAR i TO_DATE specifica formatul folosit de sistemul Oracle pentru

    a returna sau a stoca o valoare n/din baza de date.

    nu schimb reprezentarea intern a valorii n baza de date

    54

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    1. Obiectele bazei de date

    2. Tipuri de date SQL

    3. Literali

    4. Modele de format

    5. Valori null

    6. Comentarii

    7. Pseudocoloane

    8. Operatori SQL

    9. Funcii SQL

    55

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    5. Valori NULL

    Definitie: Valoarea null =

    valoarea unei coloane dintr-o linie (un camp) care nu conine nici o valoare

    se folosete atunci cnd valoarea efectiv a coloanei respective nu este cunoscut sau nu are importan

    valoarea null pot aprea n orice tip de coloana care nu este restricionata prin constrngeri de integritate NOT NULL sau PRIMARY KEY

    dou chei compuse care conin valori null sunt considerate identice dac toate componentele diferite de null sunt egale

    nu este echivalent cu zero

    pentru a testa dac o valoare este null se vor folosi numai condiiile IS NULL i IS NOT NULL.

    56

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    1. Obiectele bazei de date

    2. Tipuri de date SQL

    3. Literali

    4. Modele de format

    5. Valori null

    6. Comentarii

    7. Pseudocoloane

    8. Operatori SQL

    9. Funcii SQL

    57

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    6. Comentarii

    Pot fi utilizate:

    (a) standard (pentru a face aplicatia mai inteligibila

    i mai usor de administrat); (b) specific (pentru a transmite optimizorului

    OracleDatabase directive de procesare (hints)

    a interogarilor dorite de utilizator-programator).

    58

    4. Obiectele BD 4. Modele format 7. Pseudocoloane

    4. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    4. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (a)

    Comentariile (explicative) pot fi asociate:

    i. instruciunilor SQL, ii. obiectelor schemei; (tabel, vizualizare [materializat], coloan)

    (i)

    ntr-o instruciune, un comentariu poate aprea ntre orice cuvinte cheie, parametri sau semne de punctuaie. Includerea unui comentariu se poate efectua n 2 moduri:

    textul comentat este ncadrat de caracterele /* i */ ; poate ocupa mai multe linii.

    comentariul ncepe cu secvena --, urmat de textul propriu-zis; se termin la sfritul liniei.

    (ii)

    Se utilizeaza comanda COMMENT; Comentariile sunt stocate in dictionarul datelor.

    59

    4. Obiectele BD 4. Modele format 7. Pseudocoloane

    4. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    4. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    (b)

    Comentariile de tip hint pot fi asociate: numai instructiunilor o instruciune : 1! comentariu dar acesta poate specifica una sau mai multe directive de procesare, precum i comentarii explicative

    trebuie plasat imediat dup cuvintele cheie SELECT, INSERT, UPDATE, DELETE sau MERGE

    poate avea oricare dintre cele 2 forme descrise anterior, faptul c reprezint o directiv este marcat prin semnul + plasat imediat dup delimitatorul de nceput de comentariu Sintaxa:

    { /*+ hint [ string ] [ hint [ string ] ]... */

    | + hint [ string ] [ hint [ string ]...} Exista situatii in care optimizorul ignora directivele de procesare (conflicte intre directive, erori de sintaxa/pozitionare).

    60

    4. Obiectele BD 4. Modele format 7. Pseudocoloane

    4. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    4. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Directivele de procesare: = un mecanism prin care optimizorul OracleDataBase

    este fortat s aleag un anumit plan de execuie a cererii, pe baza unor criterii specifice, furnizate de utilizator-

    programator.

    Exemplu: utilizatorul stie c, pentru anumite cereri, un index este mai selectiv

    => alege un plan de execuie mai eficient dect cel al optimizorului

    Directivele se pot aplica: particular asupra tabelelor sau a indecilor,

    global asupra tabelelor din cadrul unei vizualizri sau asupra coloanelor care fac parte din indeci.

    61

    4. Obiectele BD 4. Modele format 7. Pseudocoloane

    4. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    4. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Clasificarea directivelor de procesare (dup funcionalitate):

    directive pentru optimizare: ALL_ROWS, FIRST_ROWS, RULE

    directive pentru accesarea datelor: CLUSTER, FULL, HASH, INDEX, NO_INDEX, INDEX_ASC,

    INDEX_DESC, INDEX_SS, , INDEX_JOIN INDEX_COMBINE,

    INDEX_FFS, NO_INDEX_FFS, NO_INDEX_SS, INDEX_SS_ASC,

    INDEX_SS_DESC

    directive pentru ordinea operaiilor de join: ORDERED, LEADING

    directive pentru realizarea operaiilor de join: USE_HASH, NO_USE_HASH, USE_MERGE, NO_USE_MERGE,

    NO_USE_NL, USE_NL, USE_NL_WITH_INDEX

    62

    4. Obiectele BD 4. Modele format 7. Pseudocoloane

    4. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    4. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Clasificarea directivelor de procesare (dup funcionalit.; cont.):

    directive pentru filtrarea paralel n operaiile de join de tip bitmap:

    PX_JOIN_FILTER, NO_PX_JOIN_FILTER

    directive pentru execuia paralel: PARALLEL, NO_PARALLEL, PARALLEL_INDEX,

    NO_PARALLEL_INDEX, PQ_DISTRIBUTE;

    directive pentru transformarea cererilor: FACT, NO_FACT, MERGE, NO_MERGE, NO_EXPAND, REWRITE,

    NO_REWRITE, UNNEST, NO_UNNEST, USE_CONCAT,

    NO_STAR_TRANSFORMATION, STAR_TRANSFORMATION,

    NO_QUERY_TRANSFORMATION;

    alte directive: APPEND, NOAPPEND, PUSH_SUBQ, PUSH_PRED, QB_NAME,

    NO_XML_QUERY_REWRITE, DYNAMIC_SAMPLING,

    DRIVING_SITE, NO_PUSH_PRED, NO_PUSH_SUBQ, NOCACHE,

    CURSOR_SHARING_EXACT, MODEL_MIN_ANALYSIS, CACHE.

    63

    4. Obiectele BD 4. Modele format 7. Pseudocoloane

    4. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    4. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    1. Obiectele bazei de date

    2. Tipuri de date SQL

    3. Literali

    4. Modele de format

    5. Valori null

    6. Comentarii

    7. Pseudocoloane

    8. Operatori SQL

    9. Funcii SQL

    64

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    7. Pseudocoloane

    Definitie: Pseudocoloana =

    = se comport ca i o coloan a unui tabel, dar nu este

    stocat efectiv ntr-un tabel

    Se pot face interogri asupra pseudocoloanelor, dar

    valorile acestora nu se pot insera, actualiza sau terge

    65

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Exemple

    ROWID

    = returneaz adresa unei linii din baza de date, furniznd modul cel mai rapid de a accesa linia respectiv

    ROWNUM

    = returneaz numrul de ordine al liniilor rezultate n urma execuiei unei cereri

    poate fi utilizat pentru a limita numrul de linii returnate.

    66

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    1. Obiectele bazei de date

    2. Tipuri de date SQL

    3. Literali

    4. Modele de format

    5. Valori null

    6. Comentarii

    7. Pseudocoloane

    8. Operatori SQL

    9. Funcii SQL

    67

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Definitie: Operatori SQL=

    = prelucreaz date individuale (= operanzi = argumente);

    sunt reprezentai prin:

    caractere speciale

    cuvinte cheie

    Clasificare

    unari (acioneaz asupra unui singur operand)

    binari (acioneaz asupra a doi operanzi).

    68

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Definitie: Expresie SQL = = o combinaie de una sau mai multe valori, operatori i

    funcii SQL pot aprea n: lista SELECT a instruciunii SELECT condiiile din clauzele WHERE i HAVING clauzele CONNECT BY, START WITH i ORDER BY clauza VALUES a instruciunii INSERT clauza SET a instruciunii UPDATE

    Definitie: Conditie SQL = = combin una sau mai multe expresii i operatori logici,

    returnnd una dintre valorile TRUE, FALSE sau NULL. pot aparea n: clauzele WHERE, START WITH, CONNECT BY, HAVING ale instruciunii SELECT clauza WHERE a instruciunilor UPDATE i DELETE.

    69

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Precedena operatorilor

    n ordinea descresctoare a prioritilor:

    1. operatorii unari (+ i -)

    2. nmulirea (*) i mprirea (/)

    3. adunarea (+), scderea (-) i concatenarea (||)

    4. condiiile SQL.

    Precedena operatorilor pe mulimi

    (UNION, UNION ALL, INTERSECT i MINUS) care acioneaz asupra seturilor de linii returnate de cereri:

    aceeai.

    70

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Precedena operatorilor din condiiile SQL

    n ordinea descresctoare a prioritilor :

    1. operatorii SQL

    2. operatorii de comparaie =, !=, , , =

    3. operatorii de comparaie IS [NOT] NULL, LIKE, [NOT] BETWEEN, [NOT] IN, EXISTS, IS OF type

    4. operatorii logici (NOT; AND, OR).

    71

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Alti operatori i expresii SQL: 1. Expresii care folosesc valori de tip dat calendaristic i

    interval:

    operatorii utilizati i tipul rezultatelor obinute sunt :

    Data + Interval

    Data Interval

    Interval + Data

    => rezultatul este de tip dat calendaristic,

    Data Data

    Interval + Interval

    Interval Interval

    Interval * Number

    Number * Interval

    Interval / Number

    => rezultatul este de tip interval. 72

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Alti operatori SQL (cont.): 2. Expresii de tip tablou imbricat i vector:

    se pot aplica operatorii:

    egalitate,

    inegalitate,

    MULTISET EXCEPT => diferenta a 2 tablouri imbricate,

    MULTISET INTERSECT => intersectia a 2 tablouri imbricate,

    MULTISET UNION => reuniunea a 2 tablouri imbricate;

    2. Obiecte LOB:

    nu sunt acceptate n condiiile de comparaie (se pot insa folosi blocuri PL/SQL).

    73

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Alti operatori: preluati din limbajul Perl Limbajul Perl : faciliti pentru prelucrarea irurilor de caractere Operatorii Perl functioneaza pe post de sabloane

    Definitie Sablon = (pattern)

    = expresie regulat = expresie care descrie o mulime (potential infinita) de iruri de caractere

    = o descriere concis a unei mulimi, fr a fi necesar listarea tuturor elementelor acesteia

    Exemple de operatori de tip Perl (incepand cu Oracle 10g)

    74

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

    Operator Descriere

    \d O cifr.

    \D Un caracter diferit de cifr.

    \w Un caracter alfanumeric (a-z, A-Z, 0-9).

    \A Expresia regulat apare numai ca prefix al unui ir de caractere sau apare naintea

    unui caracter newline de la sfritul unui ir de caractere.

    \Z Expresia regulat apare numai ca sufix al unui ir de caractere.

    +? Expresia regulat care precede operatorul apare, n irul de caractere, de una sau

    mai multe ori, ntr-o manier non-greedy.

    {n}? Expresia regulat care precede operatorul apare, n irul de caractere, de exact n

    ori, ntr-o manier non-greedy.

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    1. Obiectele bazei de date

    2. Tipuri de date SQL

    3. Literali

    4. Modele de format

    5. Valori null

    6. Comentarii

    7. Pseudocoloane

    8. Operatori SQL

    9. Funcii SQL

    75

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Funcii SQL

    1. Functii numerice;

    2. Functii de tip caracter care returneaza valori de tip

    caracter;

    3. Functii de tip caracter care returneaza valori numerice;

    4. Functii de tip NLS (Natural language Support);

    5. Functii de tip data calendaristica;

    6. Functii generale de comparatie;

    7. Functii de conversie intre tipurile de date SQL;

    8. Functii XML;

    9. Functii pentru prelucrarea valorilor Null;

    10. Functii speciale.

    76

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Funciile SQL similare operatorilor (prelucreaza date, returneaza un rezultat);

    difera de operatori (pot avea 0, 1, oricate argumente);

    sunt predefinite n sistemul Oracle i pot fi utilizate n instruciuni SQL

    diferite de funciile definite de utilizator (scrise n PL/SQL);

    dac o funcie SQL este apelat cu un argument avnd un alt tip de date dect cel predefinit, sistemul convertete implicit argumentul nainte s evalueze funcia

    dac o funcie SQL este apelat cu un argument null, ea returneaz automat valoarea null;

    exceptii: functiile CONCAT

    NVL REPLACE

    REGEXP_REPLACE

    77

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Categoriile de funciile SQL :

    a) funcii single row;

    b) funcii agregat;

    c) funcii analitice;

    d) funcii referitoare la obiecte;

    e) funcii pe modele;

    f) funcii definite de utilizator.

    78

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    Observatii a) Funciile single row:

    returneaz o singur linie rezultat pentru fiecare linie a

    tabelului sau vizualizrii interogate

    pot aprea n:

    listele SELECT

    clauza WHERE

    clauza START WITH

    clauza CONNECT BY

    clauza HAVING

    pot fi clasificate n diferite clase, in conformitate cu tipul

    argumentelor asupra crora opereaz i al rezultatelor

    furnizate:

    79

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    80

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

    Functii TipArgumente TipRezultat Exemple

    numerice numeric numeric ABS, ACOS, EXP, FLOOR, LN, LOG,

    POWER, ROUND, SIGN, SQRT, TRUNC,

    REMAINDER

    de tip caracter care

    returneaz valori de

    tip caracter

    CHAR sau

    VARCHAR2

    VARCHAR2. CONCAT, LOWER, UPPER, REPLACE,

    SUBSTR, TRANSLATE, TRIM

    de tip caracter care

    returneaz valori

    numerice

    caracter numeric ASCII, INSTR, LENGTH, REGEXP_INSTR

    NLS (National

    Language Support)

    caracter caracter din setul de

    caractere naionale

    NLS_CHARSET_ID, NLS_CHARSET_NAME,

    NLS_CHARSET_DECL_LEN

    de tip dat

    calendaristic

    DATE o dat calendaristic / o

    valoare interval /o

    valoare numeric

    CURRENT_DATE, LAST_DAY,

    NUMTOYMINTERVAL,

    MONTHS_BETWEEN,

    generale de

    comparatie

    o list cu

    numr variabil

    de expresii

    prima / ultima valoare,

    n ordine crescatoare

    LEAST, GREATEST

    de conversie ntre

    tipurile de date SQL

    un tip de date

    SQL

    un tip de date SQL ASCIISTR, BIN_TO_NUM, TO_CHAR,

    TO_NUMBER, CONVERT

    specifice XML date XML date XML XMLCONCAT, XMLELEMENT, DELETEXML,

    XMLTABLE

    pentru prelucrarea

    valorilor null

    expresii i/sau

    valoarea null

    expresie sau valoarea

    null

    NULLIF, NVL, NVL2

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    b,c) Funciile agregat i analitice:

    necesare pt scrierea interogrilor;

    d) Funciile referitoare la obiecte: funcii care opereaz asupra valorilor de tip LOB:

    BFILENAME, EMPTY_BLOB, EMPTY_CLOB,

    functii care opereaz asupra coleciilor: (tablouri

    imbricate i vectori):

    CARDINALITY, COLLECT, POWERMULTISET,

    POWERMULTISET BY CARDINALITY, SET.

    81

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    e) Funcii pe modele:

    functii care opereaz asupra modelelor construite cu

    ajutorul pachetului DBMS_DATA_MINING sau cu Oracle

    Data Mining Java API:

    CLUSTER_ID, CLUSTER_PROBABILITY,

    CLUSTER_SET, FEATURE_ID, FEATURE_SET,

    PREDICTION_DETAILS, FEATURE_VALUE,

    PREDICTION_PROBABILITY,

    PREDICTION_COST, PREDICTION i

    PREDICTION_SET.

    f) Funciile definite de utilizator:

    pot fi create cu ajutorul limbajului PL/SQL

    sunt stocate n baza de date. 82

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL

  • Cu

    rs 5

    : E

    lem

    en

    te S

    QL

    in

    Ora

    cle

    1. Obiectele bazei de date

    2. Tipuri de date SQL

    3. Literali

    4. Modele de format

    5. Valori null

    6. Comentarii

    7. Pseudocoloane

    8. Operatori SQL

    9. Funcii SQL

    83

    1. Obiectele BD 4. Modele format 7. Pseudocoloane

    2. Tipuri de date SQL 5. Valori null 8. Operatori SQL

    3. Literali 6. Comentarii 9. Functii SQL


Recommended