O PRIVIRE DE ANSAMBLU ASUPRA LUI SQL*FORMS

Continutul acestui capitol

Scopul acestui capitol este de a prezenta in mare SQL*Forms. Subiectele discutate includ:

Ce este SQL*Forms
Ce este o Forma?
Ce este o Aplicatie SQL*Forms?

Ce este SQL*Forms?


SQL*Forms este un instrument flexibil de constructii de aplicatii care va permite sa dezvoltati aplicatii bazate pe forme pentru manipularea informatiilor din baza de date. Manipularea datelor si actiunile query sunt realizate prin intelegerea functionarii operatiilor cheie si/sau selectiilor din meniu.

Cand construiti o forma implicita, specificati cerintele de procesare folosind meniuri simple, tabele spread si un screen painter convenabil.

Apoi, SQL*Forms combina instructiunile dumneavoastra cu informatiile din dictionarul de date Oracle pentru a genera forma. O data ce prototipul de forma este creat, ii puteti spori functionalitatea prin validari complexe de date, legarea lui cu alte forme si produse, si furnizarea facilitatilor de help utilizatorului definit.

Adaugand la abilitatea sa de a crea rapid aplicatii puternice, SQL*Forms ofera un mediu portabil de dezvoltare al aplicatiei.

Aplicatiile SQL*Forms sunt portabile din punct de vedere hardware si al sistemelor de operare.


Ce este o Forma?


O forma este fill-in-the-blanks template pe ecranul calculatorului care va permite sa introduceti, sa cereti, sa faceti update si sa stergeti informatii intr-o baza de date.

Ce este o aplicatie SQL*Forms?


O aplicatie SQL*Forms este alcatuita din obiecte care lucreaza impreuna pentru a satisface o functie de afceri.
Obiectul principal este forma. O forma poate cuprinde o intreaga aplicatie sau se poate lega cu alte forme, grupuri de forme, meniuri, rapoarte, programe 3GL si alte obiecte pentru a crea o aplicatie mai complexa.

O FORMA

       ___________
      |           ______________________________________________
      |          |  __________________________________________  |
      |       ---|  ORDERS                                      |
      |      |   |  Order ID  610           Order Date 07jan87  |
      |Block-|   |  Client ID 101           ClientName JKP-SHOP |
      |      |   |  __________________________________________  |
      |       ---|  ITEMS                                       |--- Page 1
      |          |                                              |
      |          | OrderID ItemNo Code Act.Price Quantity Total |
      |      --->|   610     1  100850  35.00       1     35.00 |
      |Records-->|   610     2  100870   2.80       3      8.40 |
      |      --->|   610     3  100890  58.00       1     58.00 |
      |          |______________________________________________|
      |
      |
      |
Form -|           ______________________________________________
      |          |  ___________________________________________ |
      |          |  CLIENT DATA                                 |
      |Constant --->                                            |
      |Text      |  Client ID                                   |
      |          |  Name                                        |
      |          |  Address                                     |---Page 2
      |          |  City                                        |
      |          |  State                     Zip               |
      |          |  Phone      (     )     ____________________________
      |          |  Credit Limit          |        SALES  REP          |
      |          |  Comment               |----------------------------|
      |          |____________/\__________|                            |
      |                       |           |    REPID           NAME    |
      | Field_________________|           |    -----          -----    |--Page3
      |                                   |   |     |        |     |   |
      |                                   |   |     |        |     |   |
      |                                   |    -----          -----    |
      |____________                       |____________________________|

Terminologia SQL*Forms

Forma tipica SQL*Forms este zugravita pe pagina anterioara cu componentele sale de baza etichetate.
Termenii folositi sunt definiti mai jos. Pentru o lista mai comprehensiva a terminologiei si definitiilor SQL*Forms consultati glosarul aflat in Anexa A a acestei carti.

Form
fill-in-the-blanks template care va ofera facilitati de introducere,cereri, update si stergeri de informatii.
Page
O colectie a informatiilor de afisare. Fiecare forma contine una sau mai milte pagini. Paginile pot varia in marime si se pot acoperi una pe alta. Este posibil ca pe ecran sa se afiseze la un moment dat mai mult decat o pagina sau o portiune dintr-o pagina.
Block
O sectiune a unei forme. Blocuri multiple pot apare pe o singura pagina a unei forme si un singur bloc poate dura mai mult decat o pagina. Majoritatea blocurilor corespund unei singure tabele in baza de date si poate afisa o inregistrare ("bloc cu o singura linie") sau mai multe inregistrari ("bloc cu mai multe linii") din tabela la un moment dat.
Field
O zona din bloc care poate contine date. In mod normal campurile apar superluminate sau subliniate pe ecran. Datele pe care le afiseaza pot corespunde cu date dintr-o coloana a bazei de date sau pot fi calculate fara informatii din baza de date.
Constant Text
Text care apare in forma de fiecare data cand este in rulare. Textul fix poate include titluri de camp, grafice, directii si text informativ. Proiectantul introduce textul folosind screen-painter-ul din SQL*Forms.
Record
O colectie de campuri reprezentand o singura linie in tabela bazei de date.

FORME SI BAZA DE DATE ORACLE


                           _______________________________________________
                          |  ORDID ITEMID PRODID ACTUALPRICE QTY ITEMTOT  |
                          |  -------------------------------------------  |
    ITEM Table            |   601    1    200376     2.4       1    2.4   |
                          |   602    1    100870     2.8      20     56   |
                          |   603    2    100860      56       4    224   |
                       ---|-> 604    1    100890      58       3    174   |
                      |   |   604    2    100861      42       2     84   |
                Row   |   |   604    3    100860      44      10    440   |
                      |   |   605    1    100861      45     100   4500   |
                      |   |   605    2    100870     2.8     500   1400   |
                      |   |   605    3    100890      58       5    290   |
                      |   |   605    4    101860      24      50   1200   |
                      |   |   605    5    101863       9     100    900   |
                      |   |   605    6    102130     3.4      10     34   |
                      |   |__|____|_______________________________________|
           Column     |      |    |
                ------|------------
               |      |
               |      |
               |      |
               |      |     ______________________________________________
               |      |    |  __________________________________________  |
               |      |    |  ORDERS                                      |
               |      |    |                                              |
               |      |    |  Order ID   604        Order Date  15jun86   |
               |      |    |  Client ID  106        Client Name SHAPE UP  |
   ITEM Block  |      |    |  ------------------------------------------  |
               |      |    |  ITEMS                                       |
               |      |    |                                              |
               |      |    |  OrderID ItemNo Code ActPrice Quantity Total |
               |      |    |    604     1   100890   58      3       174  |
               |       ----|->  604     2   100861   42      2        84  |
               |  Record   |    604     3   100860   44      10      440  |
               |           |                                              |
               |           |   |   |                                      |
                -----------|---|---|                                      |
            Field          |                                              |
                           |______________________________________________|

 

Forme si baza de date Oracle

Cand rulati SQL*Forms intrati, cereti, modificati sau stergeti date continute in baza de date Oracle. Baza de date Oracle organizeaza datele in tabele de informatii. Aceste tabele sunt alcatuite din linii si coloane.(Vezi exemplul de tabela de pe pagina anterioara.)


Zona de lucru


SQL*Forms nu lucreaza direct cu tabelele bazei de date; lucreaza cu copii ale lor care sunt pastrate in zona de lucru. Acest aranjament protejeaza operatorul de greseli; puteti face o schimbare in zona de lucru si apoi s-o indepartati. Daca indepartati schimbarile, tabela insasi nu va fi afectata.


Intelegerea elementelor SQL*Forms


Intr-o forma, o inregistrare corespunde unei liniidin tabela. De exemplu, in figura anterioara, a patra linie din tabela ITEM este prima inregistrare din blocul ITEM.
Cand trimiteti date catre o forma (se executa o cerere), fiecare inregistrare care este afisata vine dintr-o linie a tabelei. Asadar, daca introduceti, modificati sau stergeti o inregistrare, actiunea dvs. cauzeaza introducerea, modificarea sau stergerea liniei corespunzatoare din tabela.
Figura de mai jos listeaza elementele bazei de date si corespondenta cu elementele formei.
        Element al bazei de date    Element al formei
        ------------------------    -----------------
        Tabela                      Bloc
        Linie                       Inregistrare
        Coloana                     Camp

INTRODUCEREA APLICATIEI ORDER ENTRY


    __________________________________________________
   | The Evergreen Otter     ORDER FORM   Order No    |
   |   Client Name                        Client ID   |
   |   Address                            Date        |
   |                                      Phone       |
   |--------------------------------------------------|
   |  Item       Product ID    Price    Qty    Total  |
   |--------------------------------------------------|---The Handwritten Form
   |-----------|------------|---------|------|--------|
   |-----------|------------|---------|------|--------|
   |-----------|------------|---------|------|--------|
   |-----------|------------|---------|------|--------|
   |-----------|------------|---------|------|--------|
   |-----------|------------|---------|------|--------|
   |-----------|------------|---------|------|--------|
   |-----------|------------|---------|------|--------|    ________________
   |-----------|------------|---------|------|--------|   | CUS Table      |
   |--------------------------------------------------|   |----------------|
   |                                  Order Total     |   | CUSTID         |
   |__________________________________________________|   | NAME           |
                                                          | ADDRESS        |
                                                          | TOWN           |
                                                          | COUNTY         |
                 ________________                         | PCODE          |
                | ORD Table      |                        | PHONE          |
                | -------------- |  ________________      | REPID          |
                |                | | ITEM Table     |     | CREDIT LIMIT   |
                | ORDID          | | -------------- |     |________________|
   The Tables---| ORDERDATE      | |                |         |
                | COMMPLAN       | | ORDID          |         |
                | CUSTID         | | ITEMID         |         |
                | SHIPDATE       | | PRODID         |         |
                | TOTAL          | | ACTUALPRICE    |         |
                |________________| | QTY            |         |
                        |          | ITEMTOT        |         |
                        |          |________________|         |
   The Basic Form       |                  |                  |
          ---------------------------------                   |
         |                                                    |
         |      ______________________________________________|___
         |     |                                                  |
         |     | ------------------------------------------------ |
         |     | CLIENT DATA                                      |
     _____________________________________________________        |
    |                                                     |       |
    | --------------------------------------------------- |       |
    | ORDERS                                              |       |
    |                                                     |       |
    | Order ID  622   Order Date  03FEB87      Ship Date  |       |
    | Client ID 103   Client Name JUST TENNIS  Comm       |       |
    | --------------------------------------------------- |       |
    | ITEMS                                               |       |
    |                                                     |       |
    | OrderID ItemNo.  Code  Act.Price Quantity ItemTotal |       |
    |                                                     |       |
    |                                                     |Replace|
    |                                                     |_______|
    |                                   Total             |
    | --------------------------------------------------- |
    |                                         Replace     |
    |_____________________________________________________|

Ce veti face la acest curs

Cu siguranta, cea mai buna metoda de a invata cum sa folositi un instrument de constructii de aplicatii este de a construi o aplicatie folosind instrumentul. In acest curs veti face exact acest lucru.

Intregul curs este proiectat pentru a va ghida prin dezvoltarea unei aplicatii, incepand cu crearea unui bloc simplu ca forma implicita,progresand rapid catre o forma master-detail ; va veti mari formele mai intai in screen painter, apoi incorporand cod procedural prin triggere si proceduri; va fi introdus help-ul de ecran.

In final, SQL*Menu va fi folosit pentru a lega formele cu rapoarte pre-existente si utilitare ale sistemului de operare pentru a realiza o aplicatie completa.

Aproape fiecare capitol se incheie cu un exercitiu practic care construieste o portiune a aplicatiei. Informatia de fundal a aplicatiei este descrisa mai jos.


Aplicatia Sporting Goods

Compania Evergreen Otter Sports este interesata in automatizarea functiilor de procesare si patrare de inregistrari. Departamentul MIS a determinat deja tipul datelor necesare pentru a le folosi, stoca si manipula. Ei au proiectat cinci tabele care sunt baza formelor pe care le veti construi in timpul acestui curs. Initial, vi se cere sa construiti doua forme, una pentru a pastra inregistrarile clientului, si a doua pentru introducerea uzuala bazata pe o forma obisnuita scrisa de mana si prezentata in pagina anterioara.

Forma de introducere trebuie sa permita operatorului sa foloseasca SQL*Forms pentru a introduce date pe cat de repede si corect este posibil. In timpul introducerii datelor, operatorul trebuie sa verifice daca urmatoarele conditii sunt indeplinite:


In plus, forma trebuie sa ofere de asemenea facilitati de Help si de validare.

Tabelele bazei de date

Localizata in setul A3 la inceputul acestei carti se afla diagrama tabelelor disponibile din baza de date. Mai multe informatii detaliate despre tabele si un listing de date sunt prezentate in Anexa D.

Cele mai interesante sunt tabelele ORD, ITEM si CUS, care vor servi ca tabele de baza ale formei principale. Trei tabele obisnuite (PRICE, PRODUCT si EMP) vor fi folosite pentru forme ajutatoare si scopuri de referinta. DEPT si SALGRADE nu joaca un rol in aplicatie, dar sunt referite in cateva exemple din text.