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: 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


*PL/SQL

*SQL*Plus 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:

Modelul relational imita procesele unei ramuri a algebrei cunoscuts sub numele de 'Algebra relationala'. Aceste procese implica: O Relatie poate fi inteleasa ca o Tabela.Modificarea datelor este reali- zata 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

Proprietatile relatiilor tabelare

O singura tabela are urmatoarele proprietati: