Sunteți pe pagina 1din 68

Sinteza Baze de date pentru marketing Conf. dr.

Radu Șerban

Cuprins
Baze de date. Concepte fundamentale .............................................................................................. 2
Baze de date relaţionale.................................................................................................................... 6
Microsoft Access – Noțiuni introductive ....................................................................................... 10
Realizarea interogărilor .............................................................................................................. 13
Realizarea formularelor .............................................................................................................. 15
Realizarea rapoartelor ................................................................................................................ 19
Structured Query Language – SQL ................................................................................................ 25
Noţiuni introductive SGBD Fox Pro. ............................................................................................. 36
Realizarea unei Baze de date pentru marketing ............................................................................. 58

1
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Baze de date. Concepte fundamentale

În general în literatura specifică bazelor de date se operează cu următoarele concepte:


• Datele constau în material brut, evenimente primare, fapte, simboluri, numere, şiruri de
caractere, etc. Datele nu au un înţeles de sine stătător. Ele se pot obţine în urma unor
experimente, sondaje, pot fi colectate din diverse surse, nedefinite sau neomogene.

• Informaţiile se obţin prin prelucrarea datelor şi găsirea relaţiilor, legaturilor dintre


acestea. Informatiile au un înţeles şi sunt integrate într-un context. Datele organizate şi
prezentate într-un mod sistematic pentru a sublinia sensul lor devin informaţii. Altfel spus,
informaţiile sunt date prelucrate capabile de a produce cunoştinţe noi, se referă la obiecte
, procese, fenomene, locuri, situaţii etc.

• Cunoştinţele sunt colecţii de date, informaţii, adevăruri şi principii învăţate, acumulate


de-a lungul timpului. Informaţiile despre un subiect reţinute şi înţelese, folosite în luarea
de decizii, şi care formează judecăţi şi opinii devin cunoştinţe. Cu alte cuvinte, cunoştinţele
apar în momentul utilizării informaţiei.

Pentru obţinerea informaţiilor se desfăşoară un set de activităţi


- Identificarea surselor de informaţie şi culegerea datelor
- Pregătirea datelor ce presupune: codificare, clasificare, conversie, selectare
- Prelucrarea datelor
- Stocarea datelor în vederea utilizării lor
- Extragerea rezultatelor prelucrării datelor/raportarea informaţiilor către beneficiarii
▪ Totalitatea resurselor materiale, umane şi financiare utilizate în cadrul unui proces
informaţional având ca scop asigurarea legăturii dintre sistemul decizional şi cel operaţional
şi obţinerea informaţiilor poartă denumirea de sistem informaţional. Sistemul informaţional
este deci reprezentat de totalitatea metodelor, procedurilor şi mijloacelor, folosite în procesul

2
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

informaţional şi poate fi definit ca un ansamblu organizat şi integrat de operaţii de culegere,


transmitere, prelucrare, sistematizare, analiză şi păstrare, difuzare şi valorificare a
informaţiilor.
▪ Dacă în cadrul procesului informaţional prelucrarea datelor se face cu ajutorul calculatorului
atunci sistemul informaţional se numeşte sistem informatic.
▪ Colecţia de date reprezintă un ansamblu de date care se referă la acelaşi fenomen, obiect sau
situaţie. În cadrul componentelor colecţiei se pot stabili relaţii care să faciliteze prelucrarea
datelor şi obţinerea informaţiilor.
▪ Structura de date reprezintă o colecţie de date pe care s-au stabilit anumite relaţii şi un
mecanism de selecţie şi identificare a componentelor sale. Accesul la componentele structurii
de date este un element foarte important în regăsirea informaţiei şi poate fi de două feluri:
o secvenţial : presupune parcurgerea tuturor datelor situate înaintea celei care urmează
a fi prelucrată
o direct : presupune existenţa unui mecanism care să determine direct poziţia datei ce
urmează a fi prelucrată.
Structurile de date pot fi omogene sau neomogene, în funcţie de tipul datelor conţinute în
structură. În funcţie de posibilitatea de a-şi modifica structura se întâlnesc structuri de date
dinamice sau statice. Operaţiile care pot fi executate asupra unei structuri de date sunt
dependente de mediul de programare utilizat. În general asupra unei structuri de date pot fi
executate operaţii precum: creare, populare, consultate, actualizare, sortare, scindare,
concatenare, duplicare, ştergere.
▪ Baza de date reprezintă un ansamblu de date integrat, între care există relații logice și o
descriere a acestor date, proiectat pentru a satisface necesitățile informaționale ale unei
organizații. Descrierea structurii poartă numele de dicţionar de date sau metadate şi creează
o interdependenţă între datele propriu-zise şi programe.
▪ Sisteme de gestiune a bazelor de date reprezintă un pachet de programe care permite
definirea, crearea, întreţinerea şi accesul controlat la baza de date.

3
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Baza de date poate fi privită ca o colecţie de fişiere interconectate care conţin nucleul de date
necesare unui sistem informatic. Astfel, poate fi considerată drept un model al unor aspecte ale
realităţii unei companii, modelată prin intermediul datelor. Diferitele obiecte din cadrul realităţii
ce prezintă interes sunt denumite entităţi. Pentru aceste obiecte sunt achiziţionate şi memorate
date referitoare la diferite caracteristici ale entității numite atribute. Între entitățile identificate
se stabilesc relații.

Baza de date se constituie ca un ansamblu intercorelat de colecţii de date, prin care se realizează
reprezentarea unei realităţi.

O baza de date trebuie să asigure:


• abstractizarea datelor (baza de date fiind un model al realităţii),
• integrarea datelor (baza de date este un ansamblu de colecţii de date intercorelate, cu
redundanţă controlată),
• integritatea datelor (se referă la corectitudinea datelor încărcate şi manipulate astfel încât
să se respecte restricţiile de integritate),
• securitatea datelor (limitarea accesului la baza de date),
• partajarea datelor (datele pot fi accesate de mai mulţi utilizatori, eventual în acelaşi timp),
• independenţa datelor (organizarea datelor să fie transparentă pentru utilizatori,
modificările în baza de date să nu afecteze programele de aplicaţii).

Dacă datele provin direct din măsurători, iar informaţiile din prelucrarea şi prezentarea
acestora într-o formă care reprezintă, de exemplu, starea proceselor/ activităţilor la un
moment dat, cunoaşterea este o noţiune mai cuprinzătoare. Cunoaşterea presupune
înţelegerea proceselor şi activităţilor. Cunoaşterea trebuie să producă asocieri cauzale şi
să facă predicţii, care stau la baza unor decizii.

În concluzie, informaţiile validate devin cunoştinţe utilizabile de receptor. Trebuie spus


receptorului ceva ce nu îi este cunoscut şi care nu poate fi prevăzut. Dacă un mesaj sau

4
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

raport nu are aceste atribute, receptorul va primi date nu informaţii. Din punct de vedere
al teoriei comunicaţiilor, informaţia este un mesaj, un semnal ce reflectă starea unui
sistem sau a mediului în care acesta funcţionează şi care aduce receptorului un spor de
cunoaştere. Informaţia economică, prin datele furnizate, aduce un spor de cunoaştere
relativ la aspectele economice ale organizaţiei oferind elemente noi care vor fi utilizate în
cadrul acesteia.Informaţiile se obţin în urma prelucrării datelor.

Putem spune că orice informaţie este o dată, în schimb nu orice dată este o informaţie, ci
numai aceea care are pentru receptor valoare.

Informaţiile relevante sunt informaţiile care :

• Sporesc cunoştinţele,

• Reduc incertitudinile,

• Sunt utilizabile pentru scopul propus.

Valoarea informaţiei

Informaţia nu are valoare ea însăşi, valoarea derivă din utilizarea ei într-un anumit context.

Funcţii realizate de informaţii

În afară de funcţia generală de îmbunătăţire a cunoştinţelor, informaţiile asistă managerul


în mai multe moduri , incluzând:

• Reducerea incertitudinii: informaţiile relevante ajută în reducerea necunoaşterii;

• Ca un ajutor în monitorizare şi control: informaţiile produse despre performanţă,


extinderea planificării nivelurilor de performanţă, vor ajuta managerul să
controleze mai bine operarea;

5
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

• Ca mediu de comunicare: managerul are nevoie să ştie despre dezvoltare, planuri,


schimbări stânjenitoare şi aşa mai departe;

• Ca o memorie suplimentară: prin existenţa informaţiilor istorice despre


performanţă, tranziţii, rezultatele acţiunilor trecute şi deciziile disponibile prin
referiri;

• Ca ajutor în simplificare: prin reducerea incertitudinilor şi sporirea înţelegerii,


problemele şi situaţiile sunt simplificate şi devin mai controlabile.

Clasificarea informaţiilor

O clasificare a informaţiilor este făcută de Lucey[1995] în funcţie de:

▪ Sursă : interne, externe, primare, secundare, guvernamentale;

▪ Natură : cantitative, calitative, formale, informale;

▪ Nivel : strategic, tactic, operativ;

▪ Timp : istorice, prezent, viitor;

▪ Frecvenţă : continue (timp real), orare, zilnice, lunare, anuale;

▪ Utilizator : planificare, control, luarea deciziilor;

▪ Forma : scrise, orale, vizuale, senzoriale;

▪ Eveniment : la intervale planificate, ocazionale, la cerere;

▪ Tip : detaliat, sumare, totale, abstracte;

Baze de date relaţionale

6
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Modelul relațional al bazelor de date se bazează pe conceptul matematic de relație.


Relațiile sunt prezentate fizic sub formă de tabel. Tabelele reprezintă colecții de elemente
distincte (înregistrări) cu proprietăți comune (câmpuri).
Modelul relațional nu este orientat spre sistemul de calcul, nu include regulile, structurile
și operațiile referitoare la implementarea fizică a unui sistem de baze de date. Se face astfel o
separare clară între aspectele fizice și cele logice ale bazei de date, iar operațiile de manipulare a
datelor pot fi privite ca o serie de operații de proiecție, filtrare, reuniune, intersecție asupra
datelor din tabele.
Modelului relațional este descris de următoarele noțiuni de bază
• Relație – tabel ce conține coloane sau câmpuri și rânduri sau înregistrări.
• Atribut – o coloana (câmp) a relației (tabelului), cu o anumită denumire.
• Domeniu – mulțimea de valori permise pentru unul sau mai multe atribute.
• Tuplu – rândul dintr-o relație. Este corespunzător unei înregistrări.
• Grad – numărul de atribute (câmpuri) pe care le conține aceasta.
• Cardinalitate – numărul de tupluri conținute (înregistrări).
• Schema relației – denumirea, atribute.
• Null : lipsa valorii unui atribut (nu situația în care valoarea campului preț spre exemplu
este este 0 ci situația în care nu precizez o valoare)

În modelul relațional, relațiile stochează informații despre obiectele care vor fi reprezentate
în baza de date. Rândurile reprezintă tuplul (înregistrările), iar coloanele se referă la atributele
relației. Domeniul se referă la tipul, natura campurilor (numere naturale, numere intregi, reale,
sir de caractere, logic, data calendaristica si eventual ora, etc)
Exemplu de relație (tabel) și elemente componente.
Considerăm relația Produse_de_expediat

CodProdus DenumireProd Pret DataExpediere CST


1 Mouse 50 24/11/2020 False

7
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

2 Monitor 300 4/12/2021 True


3 Tastatura 100 20/12/2020 False
4 Laptop 2500 27/1/2020 True
5 Proiector 2000 2/11/2019 True
6 Imprimanta 350 14/2/2020 False

Atributele (campurile) relatiei (tabelului) sunt :


CodProdus DenumireProd Pret DataExpediere CST

Gradul relației este 5


Cardinalitatea – numărul de tupluri conținute- este 6
Domeniul – mulțimea de valori permise pentru unul sau mai multe atribute- este în acest caz:
CodProdus număr natural
DenumireProd sir de caractere
Pret număr real pozitiv
DataExpediere dată calendaristică
CST (conditii speciale de transport) logic (Boolean) respectiv adevărat sau fals

Proprietățile relațiilor
• Tabelul (relatia) are o denumire distinctă ca orice mulțime.
• Fiecare atribut are o denumire disticntă
• Toate valorile unui atribut (camp) aparțin aceluiași domeniu (numeric, sir de
caractere, dată calendaristică, logic etc)
• Ordinea atributelor nu este relevantă (ordinea în care apar campurile în tabel)
• Fiecare tuplu este distinct, nu există dubluri ale tuplurilor
• Ordinea tuplurilor nu este relevantă (ordinea în care apar înregistrările în tabel)

8
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Pentru identificarea unică, exactă a fiecărui tuplu dintr-o relație sunt utilizate cheile primare.
Deci cheia primară este un atribut (câmp) care identifică în mod unic fiecare înregistrare din tabel.

Cheia primară respectă următoarele principii:


• este obligatorie : fiecare relație (tabel) are exact o singură cheie primară care identifică
în mod unic fiecare tuplu (înregistrare)
• este unică pentru fiecare înregistrare
• este simplă sau compusă : o cheie primară cuprinde unul sau mai multe atribute ale
tuplului
• valoare unei chei primare nu poate fi vidă
• este stabilă : se schimbă foarte rar
• este nereutilizabilă : dacă se șterge un tuplu valoarea chei primare nu poate fi asociată
altui tuplu

Prin cheie externă se înțelege un atribut (câmp) sau un set de atribute din cadrul unei relații
(tabel) care se potrivește cu cheia primară a altei relații (a altui tabel). Cheile externe stabilesc
legături între două relații.
Exemplu:
Considerăm relația Produse_de_expediat_adr

CodProdus DenumireProd Pret DataExpediere CST CodAdresa


1 Mouse 50 24/11/2019 False 100
2 Monitor 300 4/12/2019 True 200
3 Tastatura 100 20/12/2019 False 300
4 Laptop 2500 27/1/2020 True 400
5 Proiector 2000 2/11/2019 True 200
6 Imprimanta 350 14/2/2020 False 100

9
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Considerăm relația Produse_adrese


CodAdresa Strada Numarul
100 Fabricii 34
200 Burdujeni 56
300 Barajul Uzului 67
400 M Eminescu 78

Pentru relația Produse_de_expediat_adr:


CodProdus reprezintă cheia primară
CodAdresa reprezintă cheia externă deoarece face legătura între cele două tabele

Microsoft Access – Noțiuni introductive

Este prezentata realizarea în Access a unei BD formată inițial dintr-un singur tabel.

Modelului relațional este descris de următoarele noțiuni de bază


• Relație – tabel ce conține coloane sau câmpuri și rânduri sau înregistrări.
• Atribut – o coloana (câmp) a relației (tabelului), cu o anumită denumire.
• Domeniu – mulțimea de valori permise pentru unul sau mai multe atribute.
• Tuplu – rândul dintr-o relație. Este corespunzător unei înregistrări.
• Grad – numărul de atribute (câmpuri) pe care le conține aceasta.
• Cardinalitate – numărul de tupluri conținute.
• Schema relației – denumirea, atribute.
• Null: lipsa valorii unui atribut (nu situația în care valoarea campului preț spre exemplu
este este 0 ci situația în care nu precizez o valoare)

10
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Se dorește crearea tabelului (relației) cu următoarea structură:

Nume Prenume DataN domB ValCom ValcomRON

In tabel vor fi introduse înregistrări (tuplu) referitoare la clienții unui magazin virtual care
au efectuat comenzi.
In cazul acestui exemplu se urmărește folosirea tipurilor de date sir de caractere,
numeric, dată calendaristică și boolean(da/nu sau adevărat/fals).
Semnificația campurilor (atributelor) este următoarea:
• Nume- nume de familie
• Prenume- prenumele respectivului client
• DataN- data nașterii în format ll/zz/aaaa
• domB- camp de tip Da/Nu (boolean) cu semnificația: domiciliul clientului este sau nu în
București
• ValCom- valoarea comenzii respective, formulată în euro
• ValComRON- camp construit pe baza valorii unui camp (atribut) existent, se referă la
valoarea comenzii în RON și se obține înmulțind ValCom (euro) cu valoarea cursului (Ex 1
euro= 4.88)
Este descrisă structura articolului, prin selectarea din panglica Pornire a opțiunii Vizualizare.

Se selectează Vizualizare proiect

Este precizat numele fiecărui camp (atribut) si tipul de date legat de atributul respectiv.
Tipul de date este selectat din lista care devine vizibilă după precizarea numelui fiecărui camp
(atribut)

11
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Este descrisă astfel structura articolului. Definirea structurii articolului constă în descrierea
pentru fiecare câmp (atribut) în parte a caracteristicilor sale (nume, tip de date, lungime maximă,
reguli de validare etc).

Descrierea structurii articolului care definește tabelul (relația) este urmată de


introducerea înregistrărilor (a tuplurilor sau a randurilor din tabel).

Se revine la panglica Pornire, se selectează Vizualizare si apoi Vizualizare foaie de date

Sunt introduse în tabel următoarele tupluri (inregistrări). Se tine cont de tipul campurilor și de
regulile de validare.

Nume Prenume DataN domB ValCom ValcomRON


Popescu Ana 2/29/1976 Da 567 2721.6
Ionescu Dana 7/8/1984 Da 2000 9600

12
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Dima Ion 8/30/2000 Nu 6556 31468.8


Barbu Adrian 5/31/1999 Da 7890 37872
Pop Ana 4/17/1977 Nu 100 480
Dinu Ion 10/20/1998 Da 9876 47404.8
Adam Cristi 11/23/2000 Nu 978 4694.4
Serbu Ana 11/11/2000 Nu 6002 28809.6
Voicu Alex 8/6/1984 Da 450 2160
Popa Anca 9/21/1982 Nu 55 264
Ionescu Alexandru 1/28/1997 Da 467 2241.6
Dima Vlad 3/30/2004 Da 3456 16588.8

Va fi adăugat automat campul cheie ID a carui semnificație va fi prezentată ulterior.

După descrierea structurii articolului (descrierea atributelor relației) și adăugarea tuplurilor


avem următorul tabel:

Realizarea interogărilor
Realizarea interogărilor prin intermediul SQL presupune parcurgerea etapelor următoare:
• Din meniul Creare se alege opțiunea Proiectare interogare

• Este adăugat tabelul (sau tabelele) care vor fi legate de interogare. Se apasă Închidere.
Dintre opțiunile legate de vizualizare vom alege Viziualizare SQL

13
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Ecranul Access va permite scrierea comenzilor SQL. Este automat construită o comandă SQL
generică de forma:

SELECT
FROM Tabel1;

• Se scrie în SQL interogarea dorită, de exemplu:


SELECT ucase(nume), ucase(prenume), domb, valcom
FROM Tabel1
WHERE valcom>2000;
• Se selectează Rulare.

14
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

• Este vizualizat rezultatul interogării.

Realizarea formularelor
Din meniul principal (panglica principală) se alege Creare și apoi Expert
formular

Este selectat tabelul de care este legat formularul și sunt de asemenea


precizate campurile din tabel care se vor regăsi în formular. Se trece la pasul
următor prin apasarea butonului corespunzător.

15
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Este ales aspectul formularului, Coloane în acest caz. Se trece la pasul


următor prin apasarea butonului corespunzător.

16
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Este denumit formularul. În acest caz titlul formularului este Formular BDMK.
Vom bifa optiunea Deschidere formular. Se trece la pasul următor prin
apasarea butonului corespunzător (Terminare în acest caz).

Formularul realizat permite vizualizarea înregistrărilor, permite modificarea


valorii campurilor, cautarea înregistrărilor care conțin o anumită valoare și de
asemenea permite adăugarea de noi înregistrări.

17
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Din panglica principală se poate alege modul în care este vizualizat


formularul realizat și se pot face modificări legate de aspectul acestuia.

18
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Realizarea rapoartelor

Din meniul principal (panglica principală) se alege Creare și apoi Expert


raport

Este selectat tabelul de care este legat raportul și sunt de asemenea


precizate campurile din tabel care se vor regăsi în respectivul raport. Se
trece la pasul următor prin apăsarea butonului corespunzător.

Sunt precizate, dacă este cazul, grupările datelor după unul sau mai multe
campuri. Se trece la pasul următor prin apăsarea butonului corespunzător.

19
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Din următorul ecran este descrisă sortarea datelor din viitorul raport.
Sortarea se poate realiza după mai multe atribute, crescător sau
descrescător. Se trece la pasul următor prin apăsarea butonului
corespunzător.

20
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Este ales aspectul raportului, Coloane în acest caz cu orientarea paginii tip
vedere. Se trece la pasul următor prin apăsarea butonului corespunzător.

Este denumit raportul. În acest caz titlul raportului va fi Raport BDMK. Vom
bifa optiunea Examinare raport. Se trece la pasul următor prin apăsarea
butonului corespunzător (Terminare în acest caz).

21
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Raportul realizat cu opțiunea aspectului de tip coloane va permite


vizualizarea înregistrărilor în acest format.

22
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Raportul realizat cu opțiunea aspectului de tip tabele are următorul format.

23
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Raportul realizat cu opțiunea aspectului de tip Aliniat are următorul format.

Din panglica principală se poate alege modul în care este vizualizat


raportul realizat și se pot face modificări legate de aspectul acestuia.
24
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Structured Query Language – SQL


SQL permite crearea, actualizarea, sortarea și poate executa interogări ale unei baze de date.
Pentru exemplificarea comenzilor SQL si a clauzelor utilizate se consideră tabelul următor:

ID Nume Prenume DataN domB ValCom ValcomRON


1 Popescu Ana 2/29/1976 Da 567 2721.6
2 Ionescu Dana 7/8/1984 Da 2000 9600
3 Dima Ion 8/30/2000 Nu 6556 31468.8
4 Barbu Adrian 5/31/1999 Da 7890 37872
5 Pop Ana 4/17/1977 Nu 100 480
6 Dinu Ion 10/20/1998 Da 9876 47404.8
8 Adam Cristi 11/23/2000 Nu 978 4694.4
9 Serbu Ana 11/11/2000 Nu 6002 28809.6
11 Voicu Alex 8/6/1984 Da 450 2160
12 Popa Anca 9/21/1982 Nu 55 264
13 Ionescu Alexandru 1/28/1997 Da 467 2241.6
14 Dima Vlad 3/30/2004 Da 3456 16588.8

Semnificația campurilor (atributelor) este următoarea:


• Nume- nume de familie
25
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

• Prenume- prenumele respectivului client


• DataN- data nașterii în format ll/zz/aaaa
• domB- camp de tip Da/Nu (boolean) cu semnificația: domiciliul clientului este sau nu în
București
• ValCom- valoarea comenzii respective, formulată în euro
• ValComRON- camp construit pe baza valorii unui camp (atribut) existent, se referă la
valoarea comenzii în RON și se obține înmulțind ValCom (euro) cu valoarea cursului (Ex 1
euro= 4.88)

Comanda SELECT.
Sintaxa comenzii, utilizată cu clauza FROM este:

SELECT Camp1, Camp2, ...


FROM numeTabel;
Exemple:

SELECT Tabel1.nume, Tabel1.prenume, Tabel1.valcom


FROM Tabel1

Efectul comenzii SQL este:

Dacă alegem Vizualizare proiect vizualizăm alt mod posibil de contruire a interogării

26
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

SELECT nume, prenume, domb


FROM Tabel1

Efectul comenzii SQL este:

27
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Dacă alegem Vizualizare proiect interogarea se defineste astfel:

Caracterul * are semificația selectarii tuturor campurilor din tabelul respectiv

SELECT *
FROM Tabel1
Efectul comenzii SQL este:

Pentru formatarea câmpurilor declarate de tipul şir de caractere se pot folosi următoarele
funcţii:

• Funcţia UCase , având sintaxa UCase (<nume_câmp>). Funcţia primeşte ca parametru un


şir de caractere sau numele unui camp cu date de tip text şi returnează acel şir scris cu
litere mari.

• Funcţia Lcase, având sintaxa Lcase(<nume_câmp>). Funcţia primeşte ca parametru un şir


de caractere sau numele unui camp (atribut) cu date de tip text şi returnează acel şir scris
cu litere mici.

28
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Exemple:

SELECT nume, ucase(nume),lcase(nume), prenume, ucase(prenume), lcase (prenume)


FROM Tabel1;

Efectul comenzii SQL este:

Dacă alegem Vizualizare proiect interogarea se definește astfel:

SELECT ucase(nume), " are prenumele ", ucase(prenume)


FROM Tabel1;

Efectul comenzii SQL este:

29
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Dacă alegem Vizualizare proiect interogarea se definește astfel:

Sintaxa comenzii SELECT utilizată cu clauzele FROM și WHERE este:

SELECT Camp1, Camp2, ...


FROM numeTabel
WHERE Conditie;

Exemple de utilizare a clauzelor FROM și WHERE:

SELECT nume, prenume, domb, valcom, nume


FROM Tabel1
WHERE Tabel1.valcom>2000;

Efectul acestei comenzi SQL este:

30
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Dacă alegem Vizualizare proiect interogarea se definește astfel:

SELECT nume, prenume, valcom, nume


FROM Tabel1
WHERE prenume="ana";

Efectul acestei comenzi SQL este:

Dacă alegem Vizualizare proiect interogarea se definește astfel:

31
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Pentru interogările după atribute de tip boolean (true / false) este suficientă precizarea numelui
atributului.

SELECT ucase(nume), ucase(prenume), domb, valcom


FROM tabel1
WHERE domb;

Efectul acestei comenzi SQL este:

Dacă alegem Vizualizare proiect interogarea se definește astfel:

SELECT Camp1, Camp2, ...


FROM numeTabel
WHERE NOT Conditie;

SELECT ucase(nume), ucase(prenume), domb, valcom


FROM tabel1
WHERE NOT domb;

Efectul acestei comenzi SQL este:

32
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Dacă alegem Vizualizare proiect interogarea se definește astfel:

SELECT Camp1, Camp2, ...


FROM numeTabel
WHERE Conditie1 AND Conditie2 AND Conditie3 ...;

SELECT Ucase(nume), Ucase(prenume), valcom, domb


FROM Tabel1
WHERE prenume="ana" AND domb;

Efectul acestei comenzi SQL este:

Dacă alegem Vizualizare proiect interogarea se definește astfel:

33
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

SELECT Camp1, Camp2, ...


FROM numeTabel
WHERE Conditie1 OR Conditie2 OR Conditie3 ...;

SELECT Ucase(nume), Ucase(prenume), valcom, domb


FROM Tabel1
WHERE prenume="ion" or prenume="ana";

Efectul acestei comenzi SQL este:

Dacă alegem Vizualizare proiect interogarea se definește astfel:

Sintaxa comenzii SELECT utilizată pentru sortarea crescătoare sau descrescătoare a


tuplurilor cu clauzele FROM și ORDER BY este:

SELECT Camp1, Camp2, ...


FROM numeTabel
ORDER BY Camp1, Camp2, ... ASC|DESC;

Dacă nu precizăm ASC|DESC se consideră implicit sortarea crescătoare.

SELECT ucase(nume), ucase(prenume), domb, valcom


FROM tabel1
ORDER BY nume ASC ;

Efectul acestei comenzi SQL este:

34
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Dacă alegem Vizualizare proiect interogarea se definește astfel:

SELECT ucase(nume), ucase(prenume), valcom


FROM tabel1
ORDER BY valcom DESC ;

Efectul acestei comenzi SQL este:

35
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Noţiuni introductive SGBD Fox Pro.

Sunt prezentate în continuare câteva dintre comenzile FoxPro care permit crearea,
actualizarea (adăugarea, modificarea ştergerea) şi consultarea unei baze de date simple,
formată dintr-un singur tabel.

Toate comenzile descrise în continuare sunt introduse în fereastra de comenzi


(Command). Dacă această fereastră nu este vizibilă pe ecranul principal al aplicaţiei se

36
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

apasă combinaţia de taste CTRL+F2 sau se selectează din meniul Window opţiunea
Command Window.

După scrierea comenzilor în Command window, acestea sunt validate prin


apăsasrea tastei Enter.

Comenzile corect scrise se vor afişa cu culoarea albastră.

Fereastra de comenzi

Ecranul principal din FoxPro

Numele câmpurilor va fi o succesiune de caractere, neîntrerupte de caracterul spaţiu (Ex:


produs, nume, prenume, datan, sal, cant, starecivila, etc).

37
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Tipul precizează natura datelor care se vor găsi în acel câmp (numerice, şiruri de caractere,
date de tip logic, dată calendaristică ş.a.)

Lungimea maximă este o caracteristică a câmpurilor care se referă la numărul maxim de


caractere care pot fi introduse în câmpul respectiv. În momentul în care s-a ajuns la
această lungime maximă se realizează trecerea automată la următorul câmp. Câmpurile
de tipul logic au lungimea maximă implicită 1 iar câmpurile de tipul dată calendaristică au
implicit lungimea maximă 8 (două caractere pentru zi, doua caractere pentru lună,doua
caractere pentru an – ultimele două cifre ale anului- precum şi două caractere pentru
separarea zilelor de lună şi a lunii de an. Ex: 23/11/19 ).

Se precizeazǎ astfel structura unui articol. Definirea structurii articolului constă în


descrierea pentru fiecare câmp în parte a caracteristicilor sale (nume, tip, lungime
maximă).

La închiderea ferestrei se poate opta pentru introducerea înregistrărilor în acel moment


sau pentru introducerea ulterioară a acestora prin intermediul comenzii append . În acest
ultim caz se salvează numai structura articolului.

Toate înregistrǎrile din tabelul respectiv vor respecta aceastǎ structurǎ a articolului.

Crearea tabelelor, definirea structurii articolului, tipuri de date

Comanda Create

Comanda Create este utilizată pentru crearea unei baze de date.

38
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Determină apariţia unei ferestre în care utilizatorul precizează numele noului tabel
precum şi caracteristicile fiecǎrui câmp (nume, tip, lungime maximǎ).

În privinţa tipului datele pot fi:

• Tipul şir de caractere (character) precizează că valorile din acel câmp sunt de tipul
alfanumeric. Valorile introduse în aceste câmpuri vor fi interpretate ca succesiuni
de simboluri din codul ASCII. Introducerea valorii 1256 nu are în acest caz
semnificaţia unui număr ci este pur şi simplu o înşiruire de caractere:1,2,5 şi 6.

• Tipul numeric (numeric,integer,float).Datele vor fi numere. În acest caz se poate


preciza şi numărul de zecimale. Se realizează validarea automată a datelor
introduse în câmpuri de acest tip (nu se poate introduce într-un câmp declarat de
tipul numeric valoarea ”Popescu”)

• Tipul logic (logical). În câmpurile declarate de tip logic pot fi introduse numai
valorile logice de adevărat (TRUE) sau fals (FALSE). În FoxPro valoarea logică de
adevăr se reprezintă prin litera .T. iar valoarea logică de fals se reprezintă prin litera
.F. (ambele cuprinse între două puncte). Se realizează validarea automată (se
acceptă numai T sau F), iar lungimea maximă pentru valorile din aceste câmpuri
este implicit 1.

• Tipul dată calendaristică (date). Valorile introduse se referă la o astfel de dată. În


funcţie de setări se va utiliza un anumit format de dată (ZZ/LL/AA, ZZ-LL-AA,
LL/ZZ/AA ş.a.). Şi în acest caz se realizează validarea automată a datelor introduse
(pentru lună se acceptă numai valori întregi cuprinse în intervalul 1-12, pentru zi
se pot introduce numai valori cuprinse în intervalul 1-31). Se ţine cont şi de
numărul zilelor din luna respectivă (data 30/02/2019 nu este validată).În mod
similar se utilizează şi tipul dată calendaristică şi oră . (DateTime)

39
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

După introducerea comenzii CREATE (în Command window) se cere un nume pentru
tabelul care urmează a fi creat. Tabelul a fost denumit PRODUSE. Devine vizibil apoi
ecranul în care este precizată structura articolului.

După precizarea structurii articolului se selectează butonul OK. Utilizatorul este întrebat
daca doreşte să introducă primele înregistrări în baza de date. Dacă se răspunde afirmativ
apare un ecran în care sunt introduse primele înregistrări în baza de date.

Actualizări (adăugare, ştergere, modificare)

Comenzi şi clauze utilizate în consultarea şi actualizarea bazelor de date.

Comanda List

40
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Comanda list permite vizualizarea înregistrǎrilor din baza de date.Acestea vor fi afişate în
fereastra principală a aplicaţiei, simulându-se modul de lucru text. (ecranul este împărţit
în linii şi coloane, putnd fi afişate caractere din codul ASCII). Dacă există un număr mare
de înregistrări în baza de date vor rămâne vizibile pe ecran numai ultimele înregistrări.
Pentru a evita această situaţie listarea se poate redirecţiona spre un fisier text sau spre
imprimantă, prin intermediul clauzelor to file sau to printer. (Ex: list to file <nume_fişier>
sau list to printer)

Se pot vizualiza, prin utilizarea clauzei for, numai acele întegistrǎri care corespund unui
anumit criteriu (list for <nume_câmp> <criteriu>),Ex:

list for sal<1500

list for nume=”Ion”

list for starecivila=.T.

Listarea poate fi filtrată după mai multe criterii prin utilizarea şi-ului logic (AND) respectiv
sau logic (OR)

Exemple:

list for denprod=”calculator” and pretv < 2000

list for denprodus =”imprimanta” or pretv <500

Se pot afişa numai anumite câmpuri din baza de date prin utilizarea clauzei fields . Sintaxa
în acest caz este:

list fields <nume_câmp1>, <nume_câmp2>,…,<nume_câmp_n>

Prin folosirea acestei clauze se controlează de asemenea şi ordinea în care sunt afişate
câmpurile.

41
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Înregistrările marcate pentru ştergere logică vor fi evidenţiate cu caracterul „*”

Pentru formatarea câmpurilor declarate de tipul şir de caractere se pot folosi următoarele
funcţii:

• Funcţia upper , având sintaxa upper(<nume_câmp>).Funcţia primeşte ca


parametru un şir de caractere şi returnează acel şir scris cu litere mari.

• Funcţia lower, având sintaxa lower(<nume_câmp>).Funcţia primeşte ca parametru


un şir de caractere şi returnează acel şir scris cu litere mici.

• Funcţia proper, având sintaxa proper(<nume_câmp>). Funcţia primeşte ca


parametru un şir de caractere şi returnează acel şir formatat astfel: primul caracter
de la începutul fiecărui cuvănt este transformat în literă mare, restul caracterelor
fiind transformate în litere mici .

Comanda Browse

• Se afişază înregistrǎrile din baza de date sub forma unui tabel

• Permite marcarea înregistrǎrilor pentru ştergere logicǎ

• Se poate utiliza împreunǎ cu clauzele for,fields semnificaţia acestora fiind cea


descrisă anterior.

• Modul de afişare al înregistrǎrilor se controlează prin intermediul clauzelor font si


style

42
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Clauza font precizează tipul de caractere utilizat ( Times New Roman, Arial, etc) şi
dimensiunea acestora. (Ex: browse fields nume,sal font "arial",20 )

Clauza style este urmată de unul sau mai mulţi parametri (b,u sau i), având următoarea
semnificaţie:

B – înregistrările for fi afişate cu caractere îngroşate (bold)

U - subliniere (underline)

I – scrierea se realizează cu caractere înclinate (italic)

Exemplu: browse fields nume,sal style"bui" sau browse fields nume style"bi"

Cele două clauze se pot utiliza simultan.

Ex: browse fields nume,sal font "arial",20 style"bui"

Comanda permite şi modificarea înregistrǎrilor, pentu aceasta utilizându-se însa mai des
comanda edit.

Comanda se mai poate utiliza împreună cu clauza freeze. Această clauză specifică faptul
că putem modifica numai valorile dintr-un anumit câmp, restul câmpurilor fiind afişate
fără posibilitatea modificării. Sintaxa este în acest caz: browse freeze <nume_camp>

Pentru a marca una sau mai multe înregistrări pentru ştergere logică prin intermediul
comenzii browse se selectează (cu mouse-ul) celulele din stânga respectivelor înregistrări.
Pentru anularea marcării pentru ştergere logică se vor deselecta respectivele celule.

Acest mod de a marca înregistrări pentru ştergere logică este eficient numai în cazul în
care se marchează un număr mic de înregistrări care nu au o caracteristică comună. Ĭn caz
contrar se foloseşte comanda delete pentru marcare şi comanda recall pentru demarcare.

Actualizarea bazei de date. Comenzi legate de adǎugarea şi modificarea înregistrǎrilor.


Ştergerea logicǎ şi ştergerea fizicǎ a înregistrǎrilor.

43
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Comanda Append

• Comanda permite adǎugarea de înregistrǎri la sfârşitul bazei de date.

• Comanda determină aparitia unei ferestre care conţine denumirile câmpurilor. În


acest ecran (fereastră) se introduc înregistrările care se adaugă în baza de date.

• Înregistrǎrile vor respecte structura articolului(caracteristicile fiecǎrui câmp)

Comanda Delete

• Comanda realizează marcarea pentru ştergere logicǎ a înregistrǎrilor.

• Înregistrările nu sunt şterse fizic din baza de date, ele putând fi recuperate ulterior
prin comanda recall (sau prin comanda browse, prin comanda edit).

• În urma ştergerii logice a uneia sau mai multor înregistrări, înregistrările rămase în
baza de date nu sunt renumerotate.

• Se poate utiliza împreunǎ cu clauzele for şi all sintaxa fiind

delete for <nume_câmp> <criteriu>

În această situaţie vor fi marcate pentru ştergere logică numai acele înregistrări care
corespund criteriului.

Ex: delete for denprodus=”imprimanta”

Urmarea execuţiei acestei comenzi este ştergerea logică din baza de date a tuturor
înregistrărilor care au în câmpul denprodus valoarea (textul în acest caz) –”imprimanta”

44
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Utilizarea clauzei all determinǎ marcarea pentru ştergere logicǎ a tuturor înregistrǎrilor
din baza de date:

delete all

Înregistrările care sunt marcate pentru ştergere logică sunt evidenţiate prin prezenţa
caracterului „*” în cazul vizualizării conţinutului tabelului prin comanda list, sau printr-un
marcaj negru în cazul vizualizării înregistrărilor prin comanda browse sau comanda edit .

Comanda Recall

• Comanda permite demarcarea înregistrǎrilor marcate pentru ştergere logicǎ

• Se poate utiliza împreunǎ cu clauzele for şi all

• Sintaxa este: recall for <nume_câmp> <criteriu>. În această situaţie vor fi


demarcate acele înregistrări care corespund criteriului.

• Ex: recall for denprodus=”imprimanta”

• Utilizarea clauzer all determină demarcarea de la ştergere logică a tuturor


înregistrărilor marcate pentru ştergere logicǎ (cu delete sau browse)

• Ex: recall all

Comanda Pack

45
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

• Comanda realizează ştergerea definitivă (fizică) a înregistrărilor marcate pentru


ştergere logică.

• Înregistrările rămase în baza de date se renumerotează.

• Practic se creează o nouă bază de date care conţine numai înregistrările care nu
sunt marcate pentru ştergere logică. SGBD copiază toate înregistrările marcate
pentru ştergere logica intr-un fişier temporar apoi este şters fişierul original,
acţiune urmată de redenumirea fişierului temporar cu numele fişierului original.
Din acest motiv nu este posibilă recuperarea înregistrărilor şterse.

Această acţiune de ştergere logică nu este realizată în următoarele situaţii:

• Nu există loc pe hard disk pentru crearea fişierului temporar

• In timpul procesului utilizatorul apasă tasta ESC.

Comanda Zap

• Comanda realizează ştergerea fizică, definitivă, a tuturor înregistrărilor din baza de


date.

• Se păstrează numai structura articolelor (caracteristicile fiecărui câmp)

• Comanda este echivalentă cu succesiunea de comenzi :

Delete all (sunt marcate pentru ştergere logică toate înregistrările din baza
de date)

Pack (sunt şterse fizic din baza de date înregistrările marcate pentru
ştergere logică)

46
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Comanda Edit

• Se afişazǎ înregistrǎrile din baza de date sub forma unui tabel

• Permite editarea şi modificarea înregistrǎrilor din baza de date, precum şi marcarea


acestora pentru ştergere logică.

• Se poate utiliza împreunǎ cu clauzele for, fields semnificaţia acestora fiind cea
descrisă anterior. ( comanda list)

• Modul de afişare al înregistrǎrilor se controlează prin intermediul clauzelor font si


style (vezi comanda browse)

Noţiuni introductive SGBD Fox Pro. Partea II.

Alte comenzi FoxPro legate de exploatarea bazelor de date. Sortarea bazelor de date.

Comanda Calculate

Permite calcularea valorilor minime, maxime, calculul mediei sau a sumelor valorilor unor
câmpuri.

Comanda calculate se va utiliza împreună cu una dintre următoarele funcţii: min(), max(),
sum(), avg().

• Calculate Min(<nume_camp>) - returnează cea mai mică valoare a înregistrărilor


aflate în câmpul respectiv. Această valoare se afişează pe ecran sau este stocată
într-o variabilă. Câmpurile pot fi de tip numeric, şir de caractere, dată
calendaristică, etc.

47
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

• Calculate Max(<nume_camp>) – returnează cea mai mare valoare a înregistrărilor


aflate în câmpul respectiv. Această valoare se afişează pe ecran sau este stocată
într-o variabilă. Şi în acest caz câmpurile pot fi de tip numeric, şir de caractere sau
dată calendaristică.

• Calculate Sum(<nume_camp>) - returnează suma valorilor înregistrărilor aflate în


câmpul respectiv. Este necesar ca aceste înregistrǎri sǎ fie de tipul numeric.

• Calculate Avg(<nume_camp>)-în acest caz se va returna media aritmeticǎ a


valorilor din câmpul respectiv. Şi în acest caz este necesar ca aceste înregistrǎri sǎ
fie de tipul numeric.

În cazul în care se încearcă utilizarea datelor de tipul şir de caractere ca parametri pentru
funcţii care pot lucra numai cu tipul numeric se generează un mesaj de eroare.

Comanda use

Comanda USE permite închiderea respectiv deschiderea unei baze de date.

Sintaxa comenzii: USE <nume_baza_de_date>

Daca baza de date este cea activă în memorie ea va fi închisă.

Daca baza de date nu era cea activă în memorie ea va fi deschisa.

Observaţie: Toate comenzile se referă la baza de date activă în memorie; La un moment


dat putem avea o singură bază de date (tabel) activă în memorie;

48
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Comanda clear

• Este şters conţinutul ecranului principal al aplicaţiei FOX PRO

• Nu sunt şterse comenzile din fereastra de comenzi.(Command window)

• Comanda nu afectează în nici un fel înregistrările din baza de date. (nu există nicio
legătură între comenzile legate de ştergerea înregistrărilor DELETE, PACK, ZAP şi
comanda CLEAR)

Comanda list structure

• Această comandă afişază pe ecranul principal al FOX PRO-ului informaţii legate de


baza de date activă (tabelul activ)

• Vor fi astfel afişate structura articolului (nume câmp, tip, lungime maximă.), va fi
afişat numărul de înregistrări din baza de date, ultima accesare a acestora, precum
şi calea spre baza de date.

Exemplu

Considerăm un tabel cu următoarea structură a articolului:

C1- sir de caractere, lungime maximă 3

C2- numeric, lungime maximă 2

C3- logic, , lungime maximă 1 (implicit)

49
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Comanda list structure va afişa

Comanda Display structure

Comanda are acelaşi rol cu list structure

Comanda sort

• Pentru a putea sorta elementele unei mulţimi este necesar ca pe mulţimea


respectivǎ să avem definită o relaţie de ordine.

• Sortarea presupune aranjarea elementelor respectivei mulţimi fie în ordine


crescătoare, fie în ordine descrescătoare.

• In cazul câmpurilor de tipul şir de caractere se va utiliza drept criteriu de sortare


reprezentarea caracterelor în codul ASCII.

• Ĩn cazul unui tabel (bază de date) sortarea presupune rearanjarea înregistrărilor în


funcţie de valorile unuia sau a mai multor câmpuri, aceste câmpuri putând fi
sortate atât crescător cât şi descrescător.

• In urma operaţiei de sortare se va crea o noua baza de date cu un nume diferit de


baza de date sortată.

50
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

• Pentru a putea vizualiza rezultatul sortării este necesar să închidem baza de date
iniţială şi să deschidem noua bază de date creată în momentul sortării (aceste
operaţii vor fi realizate prin intermediul comenzii USE)

• Sintaxa comenzii SORT este urmatoarea:

SORT TO <baza_sortata> ON <nume-câmp1><parametru>, ..., <nume-câmp n>

1. <baza-sortată> reprezintă numele bazei de date care se creează în momentul


sortării

2. <nume-camp 1, n> reprezintă câmpurile din baza de date iniţială după care se
realizează sortarea

3. <parametru> poate avea una din urmatoarele valori: /a, /d

/a = ASCENDING – se utilizează pentru sortarea crescǎtoare (aranjarea în ordine


crescatoare a valorilor din campul respectiv)

/d=DESCENDING – precizeaza ca sortarea se realizeaza în ordine descrescatoare a valorilor


din campul respectiv.

Daca nu este specificat nici unul din cei doi parametri sortarea se consodera implicita
crescătoare.

Exemplul 1

Se consideră baza de date cu următoarea structură a articolului:

C1- sir de caractere, lungime maximă 3

C2- numeric, lungime maximă 2

51
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

C3- tipul logic, lungime maximă 1 (implicit)

Baza de date există pe hard disc şi este salvată cu numele de baza1. Se cere:

Crearea unei baze de date cu numele baza1s sortată crescător dupa valorile câmpului c1
(cel care conţine date de tipul şir de caractere). Iniţial baza1 (cea nesortată) conţine
următoarele înregistrări:

use baza1 (este deschisă baza nesortată)


sort to baza1s on c1/a (se creează baza1s sortata crescător dupa valorile campului c1)
use baza1s (este deschisă baza sortată)
list (este listat conţinutul tabelului sortat)

Exemplul 2.

52
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Se doreşte ca această bază de date baza1 (cu structura descrisă mai sus) să fie sortată în
felul urmator:

-crescător după câmpul C2

-descrescător după câmpul C1

Se va crea baza de date cu numele baza2s, succesiunea de comenzi fiind următoarea:

use all (închide baza de date activă)

use baza1

sort to baza 2s on c2, c1/d

use baza1

use baza2s

browse

Ca rezultat se va afişa pe ecran:

53
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Al doilea criteriu de sortare este luat în considerare numai în cazul în care avem valori
egale în primul câmp precizat ca criteriu de sortare (în acest caz înregistrările care au în
câmpul C2 valoarea 23 sunt afişate în ordinea descrescătoare a valorilor din câmpul C1 ;

Daca toate valorile înregistrărilor din primul câmp sunt diferite, al doilea criteriu nu
intervine deloc.

Observaţie:
SORT TO BAZA2S ON C1, C2/D
SORT TO BAZA2S ON C2/D, C1
Rezultatul execuţiei celor două comenzi diferă

Comanda Quit

Comanda QUIT se utilizează pentru a ieşi din FoxPro

Realizarea formularelor, interogări şi rapoarte

Un formular este o fereastră în care se găsesc mai multe elemente care permit accesarea
si modificarea (actualizarea) înregistrărilor dintr-o bază de date . Elementele dintr-un
formular pot fi:

• Etichete – (labels) Etichetele pot conţine text. Ĩn mod implicit textul din etichetele
prezente în formele create în FOX se va referi la numele câmpurilor din baza de
date activă.

54
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

• Ferestre de editare – (text box), acestea conţinând înregistrările din baza de date.

• Butoane de comandă – (command button), fiecare dintre aceste butoane fiind


legat de o acţiune posibilă în contextul utilizării bazei de date.

• Elementele comune – oricărei ferestre din Microsoft Windows (butoane de


maximizare, minimizare, închidere)

Etichete TextBox Butoane de comandă

Crearea formularelor se poate realiza foarte rapid urmând o succesiune de paşi cu


selectarea pentru fiecare etapă a opţiunilor dorite.

Presupunând creatǎ o baza de date, succesiunea paşilor care anexează un formular este
urmatoarea:

Din meniul TOOLS se selectează opţiunea WIZARDS.

Din lista care apare se selectează FORM

În continuare se selectează în acest exemplu FORM WIZARD

55
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Apare un ecran din care se selectează acel tabel de care va fi legat formularul.

Sunt selectate câmpurile din tabel care vor fi vizibile în FORM.

Următoarea etapă permite doua acţiuni:

• se alege stilul în care va fi realizat formularul

• se precizează setarea butoanelor de comanda

Se trece la următoarea etapă prin apăsarea opţiunii NEXT . În această noua fază sunt
precizate :

• câmpurile după care va fi sortată baza de date (unul sau mai multe câmpuri, cu
posibilitatea sortării crescătoare sau descrescătoare).

• câmpul după care se realizează indexarea bazei de date.

Următoarea etapă se referă la precizarea numelui formularului şi salvarea acestuia. Dacă


nu se precizează alt nume formularul va avea implicit numele tabelului de care a fost legat
şi extinsia SCX. Tot în această etapă se poate opta fie pentru lansarea imediată a
formularului , fie pentru salvarea sa în vederea unei folosiri ulterioare.

OBS. Pentru a lansa în executie un formular salvat se va folosi în fereastra de comenzi:

DO FORM nume.SCX

Pe formular avem următoarele butoane de comandă:

• Butonul marcat cu textul TOP. Acesta afişează în formular prima înregistrare din
baza de date.

56
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

• Obs. Prima înregistrare rezultată în urma eventualei sortări, nu prima înregistrare


din baza de date precizată la începutul creării formularului.

• Butonul marcat cu textul BOTTOM. Butonul afişează în formular ultima


înregistrare

• Butonul marcat cu textul NEXT Acest buton afişează următoarea înregistrare din
baza de date. Butonul nu este activ daca suntem poziţionaţi pe ultima înregistrare.

• Butonul marcat cu textul PREV Acest buton afişează înregistrarea anterioară din
baza de date.

• Butonul marcat cu textul ADD – permite adăugarea unei noi înregistrări în baza de
date.

• Câmpurile trebuie să respecte structura articolului;

• Adăugarea ţine cont de opţiunea sortării bazei de date;

• Butonul marcat cu textul EDIT – Butonul permite modificarea valorilor


înregistrărilor din baza de date

• Butonul marcat cu textul DELETE - butonul realizează ştergerea înregistrărilor din


baza de date.

• Butonul marcat cu textul FIND - determină apariţia unui ecran în care se pot
construi expresii. Acest ecran are următoarea structură:

• FIELD OPERATOR VALUE

• FIELDS – poate fi orice câmp din baza de date activă;

• OPERATOR se referă la operatori, aceştia putând fi:

• Operatori relaţionali (=, >, <, <=)

57
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

• Operatorul Between – permite selectarea câmpurilor cuprinse între două valori. În


acest caz în dreptul câmpului VALUE sunt date două valori separate prin virgulă.

• Operatorul Contains – este utilizat preponderent pentru găsirea înregistrărilor ( din


câmpuri de tipul şir de caractere ) care conţin o anumită literă sau un grup de litere.

• In dreptul câmpului VALUE sunt introduse valorile după care se realizează


căutarea.

• OBS. Ĩn cazul câmpurilor de tipul şir de caractere, spre deosebire de sintaxa de la


comenzile BROWSE, LIST, EDIT, valorile căutate nu se introduc între ghilimele duble
(”).

• EXIT Se iese din formular.

Realizarea unei Baze de date pentru marketing

Se vor descrie următoarele etape necesare constuirii Bazei de Date în domeniul Marketing.
1. Realizarea unui formular dedicat colectării datelor.
2. Legarea formularului realizat de un fisier Foaie de calcul aflat în cloud (google în acest
caz)
3. Trimiterea formularului cu mai multe tipuri de întrebări prin intermediul mail-ului sau
prin intermediul unui link. Desigur dacă este cazul acest link poate fi încapsulat într-un
site.
4. Răspunsurile se colectează in fişierul Foaie de calcul Google şi se prelucrează ulterior prin
intermediul unui SGBD (Fox, Access etc) si desigur SQL.

58
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Se introduce parola si se selectează Inainte

59
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

După realizarea conectării la Cloud se va alege crearea unui document nou.

Dintre opţiunile afişate vom selecta Foi de calcul Google

60
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Se deschide foaia de calcul si se accesează meniul Inserare.


Din meniul Inserare vom selecta optiunea Formular.

61
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Se precizează titlul formularului si textul primei întrebări. Implicit aceasta este de tipul
Răspunsuri Multiple

62
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Se pot construi întrebări de următoarele tipuri:

63
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Se poate considera urmatorul exemplu:

64
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Se construiesc întrebările și se alege tipul potrivit de raspuns. Se alege Send.

Se poate trimite chestionarul prin intermediul unui link (sau mail)

65
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Răspunsurile se vor centraliza automat în foaia de calcul de care s-a atașat formularul.

Răspunsurile se pot vizualiza individual sau sub forma grafică(sumar)

66
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

67
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban

Foaia de calcul se poate exporta și prelucra în Microsoft Access, Fox, SQL etc.

68

S-ar putea să vă placă și