C A P I T O L U L 1
INTRODUCERE IN ORACLE

   Acest capitol introductiv scoate in evidenta facilitatile oferite de
   Oracle si de produsele sale punandu-le in contextul instrumentelor si
   tehnologiilor pe care le veti invata in acest curs.Acest capitol
   explica de asemenea principiile de baza ale bazelor de date
   relationale. 
   
CE ESTE ORACLE?

   Oracle consta dintr-un set complet de constructori de aplicatii si
   produse pentru utilizatori,cautand sa asigure solutii complete in
   tehnologia informatiei.
   
   Aplicatiile Oracle sunt portabile peste un numar mare de statii de
   lucru si sisteme de operare, de la calculatoare personale la
   procesoare paralele.
   
   Oracle este inzestrat cu un flexibil Sistem de Management al Bazelor
   de Date(DBMS)-Serverul Oracle-pentru stocarea si managementul
   informatiei utilizate de aplicatii.
   
   Ultimul server Oracle ,ORACLE 7,conduce o baza de date cu toate
   avantajele unei structuri relationale,avand in plus capacitatea de a
   stoca si executa obiecte de tip baza de date precum proceduri si
   mecanisme de siguranta.
   
Despre Serverul ORACLE

   Serverul Oracle cuprinde un DBMS care controleaza:
   
     * Stocarea de date in sfera bazelor de date dedicate
     * Recuperarea de date pentru aplicatii utilizand tehnici de
       optimizare adecvate
     * Securitatea bazelor de date si a taskurilor permise pentru anumiti
       utilizatori
     * Consistenta si protectia datelor,incluzand arhivarea taskurilor si
       mecanisme de cautare
     * Comunicarea si integritatea informatiilor,cand bazele de date sunt
       distribuite intr-o retea.
       
   Aplicatiile Oracle trebuie rulate pe acelasi computer la fel ca si
   Serverul Oracle.
   
   Alternativ,aplicatiile si utilitarele utilizate de ele pot sa fie
   rulate pe un sistem local pentru utilizator (sistemul 'client'),in
   timp ce Oracle DBMS ruleaza pe un altul (sistemul 'server').
   
   In acest mediu 'client-server',un numar mare de resurse de calcul pot
   fi rulate.De exemplu,o aplicatie 'Oracle Forms' poate rula pe un
   computer personal client,in timp ce accesarea datelor este condusa
   conventional de un Server Oracle pe un computer central.
   
   
   
   
   
   
   
   
PRODUSELE ORACLE



     Instrum. CDE
==========================
||  ------------------  ||
||  | Rapoarte Oracle|  ||
||  ------------------  ||                   Oracle Card
||  ------------------  ||
||  | Grafice Oracle |  ||                   Oracle Case
||  ------------------  ||
||  ------------------  ||                   SQL*Plus
||  | Forme Oracle   |  ||
||  ------------------  ||                   Pro*Oracle
||  ------------------  ||
||  | Cartå Oraclå   |  ||                   Text Retrieval
||  -----------------|  ||
==========================                   Alte produse
           ^                                      ^
           |                                      |
           |                                      |
           |                                      |
  ---------------------------------------------------------------
  |                                                             |
  |                                                             |
  |                     ORACLE7  SERVER                         |
  |                                                             |
  |                                                             |
  ---------------------------------------------------------------
                                |
                                |
                                |
                                |
                                |
                 ------------------------------
                 |                            |
                 |       Hard Disk            |
                 |                            |
                 ------------------------------



  Optiuni Oracle Server
  
   In plus fata de 'Standard Oracle7' care dispune de o multime
   comprehensiva de facilitati asupra bazelor de date,mai sunt cateva
   facilitati suplimentare.
   
   
   Acestea includ:
   
   
   Optiunea procedurala
          Asigura un "motor" PL/SQL versiunea 2 in interiorul serverului
          Oracle,care are bilitatea de a stoca proceduri b.d.,functii si
          mecanismå de siguranta pentru utilizarea de catre aplicatii .
          
   Optiunea distribuita
          Suporta tranzactii care actualizeaza informatia din mai multe
          baze de date dintr-o retea de baze de date
          distribuita,utilizand executia in doua faze.
          
   Paralel Server Option
          Suporta sisteme cuplate liber.
          
   Oracle de incredere ("Trusted Oracle")
          Pune la dispozitie o multime de facilitati aditionale de inalta
          securitate.
          
   
   
   
   
  Produsele Oracle
  
   Printre multele dezvoltari de aplicatii si produse pentru utilizatori
   accesibile in familia Oracle,exista o posibilitate comuna pentru a
   accesa baza de date.
   
   Daca direct sau indirect,aceasta este realizata prin Limbajul cu
   Structura de Interogare(SQL),va fi un subiect pe care noi il vom trata
   in acest curs.
   
   
   Produsele Oracle contin:
   
   Oracle TextRetrieval
          O tehnologie care adauga capabilitati de refacere completa a
          textului intr-o baza de date Oracle.
          
   Pro*Oracle
          O serie de precomilatoare care permit accesul bazelor de date
          Oracle la limbajele de programare C, Cobol,Fortran,PL/1,Pascal
          si Ada.
          
   Oracle Card
          O interfata utilizator pentru producerea aplicatiilor cu baze
          de date usor de folosit ce incorporeaza grafice si facilitati
          multimedia.
          
   Oracle CASE
          O familie de instrumente care ajuta la analiza , designul si
          generarea aplicatiilor Oracle.
          
   SQL*Plus
          Un instrument care permite o utilizare directa si interactiva a
          limbajului SQL pentru a accesa serverul Oracle,utilizand
          comenzi ad-hoc sau prin rularea fisierelor de comanda.
          
   
   
   
  Mediul de dezvoltare auxiliar(CDE)
  
   Instrumentul de dezvoltare a aplicatiilor principale formeaza un set
   inchis integrat numit 'Mediul de Dezvoltare Auxiliar'.Elementele de
   baza ale CDE includ limbajul procedural al lui
   Oracle,PL/SQL,facilitati grafice si comunicare intre produse.
   
   
   
   Principalele instrumente CDE sunt:
   
   
   Oracle Forms V4
          Permite ca aplicatii sofisticate bazate pe utilizarea ecranului
          sa fie construite repede si usor si permite utilizatorului sa
          ceara si sa manipuleze date intr-o structura cu forma
          convenabila ,la fel de bine ca afisarea imaginilor vizuale,si
          facilitati de accesare prevazute de alte produse CDE.
          
   Oracle Reports V2
          Un puternic instrument de scriere a rapoartelor pentru
          constructia si executia rapoartelor sofisticate cu fonturi de
          text si imagini multiple.
          
   Oracle Graphics V2
          Permite construirea si afisarea aplicatiilor vizuale, incluzand
          harti,grafice,imagini si desene.
          
   Oracle Book V1
          Prevede abilitatea de a crea si vizualiza documente care includ
          hipertexte,sunete digitale si videoclipuri.
          
          
   
   
SQL,SQL*PLUS si PL/SQL

   
   
   
   SQL,SQL*PLUS si PL/SQL sunt facilitatile Oracle care vor fi discutate
   in acest curs.Este important de inteles in fiecare caz diferentele
   lor,rolul si locul lor in familia Oracle.
   
   
   *SQL
   
     * este limbajul utilizat pentru a accesa o baza de date relationala,
       inclusiv Oracle.
     * poate fi utilizat de fiecare instrument Oracle,cand accesul la
       baza de date este necesar.
       
   
   
   
   *PL/SQL
   
     * este limbajul Procedural al lui Oracle pentru scrierea
       aplicatiilor si pentru manipularea datelor in afara bazei de date.
       
     * poate include un subset al comenzilor SQL,cand accesul la baza de
       date este cerut
     * este accesibil in fiecare din produsele CDE.De asemenea in insusi
       serverul Oracle(daca optiunea procedurala este instalata).
       
   *SQL*Plus
   
     * este un produs Oracle in care limbajele SQL si PL/SQL pot fi
       utilizate.
     * de asemenea are propriul limbaj de comanda pentru controlul
       comportarii produsului si pentru formatarea rezultatelor
       interogarilor SQL.
       
   In concluzie,SQL si PL/SQL sunt limbaje care sunt utilizate intr-un
   numar de produse Oracle .SQL*PluS este unul din produsele pe care
   acestea se afla.
   
   Noi vom discuta acum principiile de baza ale bazelor de date
   relationale, pentru care Oracle este un exemplu.
   
   
   
ABORDAREA RELATIONALA


          --------------------------------------------------
          |    S#          SNAME       STATUS        CITY  |
          |------------------------------------------------|
          |    S1          SMITH        20         LONDON  |
          |    S2          JONES        10         PARIS   |
          |    S3          BLAKE        30         PARIS   |
          --------------------------------------------------

       PARTI
      ---------------------------------------------------------
      |    P#      PNAME     COLOUR      WEIGHT        CITY   |
      |-------------------------------------------------------|
      |    P1      NUT       RED         12          LONDON   |
      |    P2      BOLT      GREEN       17          PARIS    |
      |    P3      SCREW     BLUE        17          ROME     |
      |    P4      SCREW     RED         14          LONDON   |
      ---------------------------------------------------------
                                                       ^
                                                     coloana



                      ORDINI
                    -------------------
                    | S#   P#   QTY   |
                    |-----------------|
                    | S1   P1   300   |
                    | S1   P2   200   |
      rand--------->| S1   P3   400   |
                    | S2   P1   300   |
                    | S2   P2   400 --|----camp
                    | S3   P3   200   |
                    -------------------



   
   
   
  Abordarea relationala
  
   Principiile modelului relational au fost pentru prima data expuse de
   Dr. E. F.Codd,care in iunie 1970 a publicat un articol numit 'Un model
   relational de date pentru marile banci de date'.In acest articol Dr.
   Codd a propus modelul 'relational' pentru sistemele de baze de date.
   
   Baza de date relationala este perceputa de utilizatorii sai ca o
   colectie de tabele bidimensionale care sunt usor de inteles.Sunt doar
   patru concepte de inteles:
   
     * tabele
     * coloane
     * randuri
     * campuri
       
   Modelul relational imita procesele unei ramuri a algebrei cunoscuts
   sub numele de 'Algebra relationala'. Aceste procese implica:
   
     * o colectie de obiecte cunoscute sub numele de RELATII
     * o multime de operatori ce actioneza asupra relatiilor pentru a
       produce noi relatii.
       
   O Relatie poate fi inteleasa ca o Tabela.Modificarea datelor este
   realizata prin operatiile relationale aplicate asupre tabelelor.

                -------------------------------------------
RESTRICTIE      |                                         |
                |                                         |
                |                                         |
                |#########################################|
                |                                         |
                |                                         |
                |                                         |
                |#########################################|
                |                                         |
                |#########################################|
                |                                         |
                |                                         |
                -------------------------------------------






PROIECTIE        -------------------------------------------
                 |     ###      ########                   |
                 |     ###      ########                   |
                 |     ###      ########                   |
                 |     ###      ########                   |
                 |     ###      ########                   |
                 |     ###      ########                   |
                 |     ###      ########                   |
                 |     ###      ########                   |
                 |     ###      ########                   |
                 |     ###      ########                   |
                 |     ###      ########                   |
                 |     ###      ########                   |
                 -------------------------------------------




  Operatori relationali
  
   Operatorii relationali sunt definiti mai jos:
   
   Relatia Descrierea
   
   
   Restrictia
          este o operatie care preia si afiseaza datele din relatie.Este
          posibil sa se afiseze toate randurile sau doar randurile care
          indeplinesc o conditie sau mai multe conditii .Aceasta este de
          multe ori numita 'submultime orizontala'
          
   Proiectia
          este operatia care afiseaza anumite coloane din relatie si de
          aceea este numita 'submultime verticala'.
          
   Produs
          este rezultatul obtinut cand randurile a doua multimi de date
          sunt concatenate conform conditiilor specificate.
          
   Join
          este rezultatul obtinut cand randurile a doua multimi de date
          sunt concatenate conform conditiilor specificate.
          
   Reuniunea
          afiseaza toate randurile care apar in una ,in cealalta sau in
          ambele din cele doua relatii.
          
   Intersectia
          afiseaza toate randurile care apar in ambele din cele doua
          relatii.
          
   Diferenta
          afiseaza randurile care apar numai intr-o singura relatie (SQL
          utilizeaza operatorul minus ).
          
   
   







                             PRODUS
      -----------        ----------       -------------------
      |  SMITH  |        | CLERK  |       | SMITH | CLERK   |
      |  JONES  | produs | MANAGER|------>| SMITH | MANAGER |
      |  ADAMS  |        ----------       |       |         |
      -----------                         | JONES | CLERK   |
                                          | JONES | MANAGER |
                                          |       |         |
                                          | ADAMS | CLERK   |
                                          | ADAMS | MANAGER |
                                          -------------------

                              JOIN
---------------   -------------------  -------------------------------
| CLARK  | 10 |   | 10 | ACCOUNTING |  | CLARK | 10 | 10 | ACCOUNTING|
| MILLER | 10 | J | 20 | RESEARCH   |  | MILLER| 10 | 10 | ACCOUNTING|
| SMITH  | 20 |-->| 30 | SALEH      |  | SMITH | 20 | 20 | RESEARCH  |
| TURNER | 30 |   | 40 | OPERATIONHS|  | TURNER| 30 | 30 |  SALES    |
---------------   -------------------  -------------------------------


  Proprietati ale bazelor de date relationale
   
     * O baza de date relationala apare ca o colectie de relatii(tabele)
       catre utilizator.
     * Formatul coloanei/randului este familiar si usor pentru
       vizualizarea datelor .
     * Exista o multime de operatori pentru partitionarea si combinarea
       relatiilor(selectia,proiectia,produsul,joinul,uniunea,
       intersectia, diferenta).
     * Nu sunt pointeri expliciti;conexiunile sunt facute numai pe baza
       datelor.
     * Limbajul utilizat pentru interogarea bazei de date este
       non-procedural si similar limbii engleze.
     * Utilizatorul nu specifica calea de acces si nu are nevoie sa stie
       cum este informatia aranjata fizic.
     * Comenzile pentru refacerea datelor si acelea pentru realizarea
       schimbarilor in baza de date sunt incluse intr-un singur limbaj
       SQL.
     * Exista o independenta totala a datelor.
       
  Proprietatile relatiilor tabelare
  
   O singura tabela are urmatoarele proprietati:
   
     * Nu exista randuri duplicate
     * Nu exista nume de coloana duplicate
     * Ordinea randurilor este neimportanta
     * Ordinea coloanalor este neimportanta
     * Valorile sunt atomice(nedecompozabile).

Inapoi la cuprins.

BogSoft 1999