Documente Academic
Documente Profesional
Documente Cultură
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
2
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
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.
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.
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.
• Sporesc cunoştinţele,
• Reduc incertitudinile,
Valoarea informaţiei
Informaţia nu are valoare ea însăşi, valoarea derivă din utilizarea ei într-un anumit context.
5
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
Clasificarea informaţiilor
6
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
Î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
7
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
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.
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
9
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
Este prezentata realizarea în Access a unei BD formată inițial dintr-un singur tabel.
10
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
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.
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).
Sunt introduse în tabel următoarele tupluri (inregistrări). Se tine cont de tipul campurilor și de
regulile de validare.
12
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
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;
14
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
Realizarea formularelor
Din meniul principal (panglica principală) se alege Creare și apoi Expert
formular
15
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
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).
17
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
18
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
Realizarea rapoartelor
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
22
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
23
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
Comanda SELECT.
Sintaxa comenzii, utilizată cu clauza FROM 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
27
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
SELECT *
FROM Tabel1
Efectul comenzii SQL este:
Pentru formatarea câmpurilor declarate de tipul şir de caractere se pot folosi următoarele
funcţii:
28
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
Exemple:
29
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
30
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
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.
32
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
33
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
34
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
35
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
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.
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.
Fereastra de comenzi
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.)
Toate înregistrǎrile din tabelul respectiv vor respecta aceastǎ structurǎ a articolului.
Comanda Create
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ǎ).
• 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 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.
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.
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:
Listarea poate fi filtrată după mai multe criterii prin utilizarea şi-ului logic (AND) respectiv
sau logic (OR)
Exemple:
Se pot afişa numai anumite câmpuri din baza de date prin utilizarea clauzei fields . Sintaxa
în acest caz este:
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
Pentru formatarea câmpurilor declarate de tipul şir de caractere se pot folosi următoarele
funcţii:
Comanda Browse
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:
U - subliniere (underline)
Exemplu: browse fields nume,sal style"bui" sau browse fields nume style"bi"
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.
43
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
Comanda Append
Comanda Delete
• Î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.
În această situaţie vor fi marcate pentru ştergere logică numai acele înregistrări care
corespund criteriului.
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 Pack
45
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
• 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.
Comanda Zap
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 poate utiliza împreunǎ cu clauzele for, fields semnificaţia acestora fiind cea
descrisă anterior. ( comanda list)
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().
47
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
Î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
48
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
Comanda clear
• 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)
• 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
49
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
Comanda sort
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)
2. <nume-camp 1, n> reprezintă câmpurile din baza de date iniţială după care se
realizează sortarea
Daca nu este specificat nici unul din cei doi parametri sortarea se consodera implicita
crescătoare.
Exemplul 1
51
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
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:
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:
use baza1
use baza1
use baza2s
browse
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
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.
Presupunând creatǎ o baza de date, succesiunea paşilor care anexează un formular este
urmatoarea:
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.
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).
DO FORM nume.SCX
• 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
• 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.
• Butonul marcat cu textul FIND - determină apariţia unui ecran în care se pot
construi expresii. Acest ecran are următoarea structură:
57
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
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
59
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
60
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
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
63
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
64
Sinteza Baze de date pentru marketing Conf. dr. Radu Șerban
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.
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