Sei sulla pagina 1di 20

UNIVERSITATEA DIN CRAIOVA

Facultatea de Automatica, Calculatoare si Electronica


Grupa 10209

PROIECT la disciplina BAZE DE DATE

Modelarea prin intermediul BD a sistemului “Familia POPESCU”

Studenti, Coordonator,
Lacusteanu Alexandru
Udrea Consantin Valentin
Mandea Alexandru Prof. Viorel Stoian

Craiova, 2010

UNIVERSITATEA DIN CRAIOVA


Facultatea de Automatica, Calculatoare si Electronica
Grupa 10209
PROIECT la disciplina BAZE DE DATE

Modelarea prin intermediul BD a sistemului “Familia POPESCU”

Studenti, Coordonator,
Lacusteanu Alexandru
Udrea Consantin Valentin
Mandea Alexandru Prof. Viorel Stoian

Craiova, 2010
CUPRINS

1. CAPITOLUL I. INTRODUCERE………………………………….4
2. CAPITOLUL II. Sistemul „Familia Popescu”……………………...6
3. CAPITOLUL III. Schema Conceptuala…………………………….7
3.1. Notiuni generale………………………………………………7
3.2. Schema Conceptuala………………………………………….8
4. CAPITOLUL IV. Schema Logica…………………………………….9
4.1. Notiuni teoretice……………………………………………….9
4.2. Schema Logica…………………………………………………10
5. CAPITOLUL V. NORMALIZAREA BAZEI DE DATE…………..11
5.1. Notiuni teoretice……………………………………………….11
5.2. Normalizarea tabelelor bazei de date…………………………12
6. CAPITOLUL VI. DE NORMALIZAREA BAZEI DE DATE……….14
6.1. Notiuni teoretice………………………………………………..14
6.2. Denormalizarea tabelelor bazei de date………………………15
7. CAPITOLUL VII. SGBD MySQL…………………………………….16
7.1. Notiunu teoretice……………………………………………….16
7.2. Aplicatii…………………………………………………………19
8. CAPITOLUL VIII. CONCLUZII…………………………………….. 20
CAPITOLUL I. INTRODUCERE

Ce este o bază de date ?

O bază de date conţine toate informaţiile necesare despre obiectele ce intervin


într-o mulţime de aplicaţii, relaţiile logice dintre aceste informaţii şi tehnicile de
prelucrare corespunzătoare. În bazele de date are loc o integrare a datelor, în sensul că
mai multe fişiere sunt privite în ansamblu, eliminându-se informaţiile redundante. Este
permis accesul simultan la aceleaşi date, situate în acelaşi loc sau distribuite spaţial, a
mai multor persoane prin mai multe tipuri de interogări.

O bază de date poate fi:


- integrată;
- partajată.

Prin “integrată” înţelegem că baza de date poate fi gândită ca o unificare de mai


multe fişiere de date, distincte şi neredundante.
Prin “partajarea” unei baze de date se înţelege că bucăţile individuale de date din
baza de date pot fi partajate între mai mulţi utilizatori individuali, fiecare dintre ei
putând avea acces la aceeaşi bucată de date simultan (sisteme multiutilizator).

Hardul unui sistem de baze de date constă din volumele de memorare secundare
(discuri, dischete sau benzi magnetice) pe care rezidă baza de date, împreună cu
aparatele, unităţile de control şi canalele respective.

Între baza de date fizică (adică datele aşa cum sunt ele memorate pe suport) şi
utilizatorii sistemului există un nivel de software, numit sistem de gestionare a bazelor
de date (DBMS – Data Base Management System), care permite construirea unor baze
de date, introducerea informaţiilor în baza de date şi dezvoltarea de aplicaţii privind
bazele de date.
Un DBMS dă posibilitatea utilizatorului să aibă acces la date folosind un limbaj
de nivel înalt, apropiat de modul obişnuit de exprimare, pentru a obţine informaţii,
utilizatorul făcând abstracţie de algoritmii aplicaţi pentru selectarea datelor implicate şi
a modului de memorare a lor. DBMS-ul este deci o interfaţă între utilizator şi sistemul
de operare.

Orice DBMS conţine un limbaj de descriere a datelor (LDD) care permite


descrierea structurii unei baze de date, a fiecărei componente a ei, a relaţiilor dintre
componente, a drepturilor de acces ale utilizatorului la baza de date, a restricţiilor în
reprezentarea informaţiilor, etc. LDD-ul este utilizat atât pentru proiectarea bazelor de
date, cât şi pentru redefinirea lor.

O altă componentă a DBMS este limbajul de cereri (LC) sau limbajul de


prelucrare a datelor (LPD), ce permite operaţii asupra datelor aflate în baza de date,
cum ar fi:
• încărcarea bazei de date;
• inserarea unui nou element;
• ştergerea unui element;
• modificarea unui element;
• căutarea unor elemente;
• realizarea de diferite statistici asupra datelor.

Utilizatorii sistemelor de gestionare a bazelor de date (DBMS) se grupează în


trei categorii:
a. programatorii de aplicaţie (care scriu programele aplicaţie în limbaje de
programare: Cobol, C, etc.) sau în limbaje de programare specifice: dBase,
FoxPro, etc.);
b. end-userii sau utilizatorii (care accesează baza de date de la un terminal,
folosind un limbaj de interogare numit “query language”);
c. administratorii bazelor de date DBA (care stabilesc structura iniţială a bazei de
date şi modul de memorare a datelor la nivel fizic, acordă utilizatorilor drepturi
de acces la baza de date sau părţi ale ei, asigură securitatea datelor, modifică
structura şi întreţine baza de date).

Datele operaţionale

Datele operaţionale sunt date din bazele de date, distincte de datele de intrare,
ieşire sau alte tipuri de date. O bază de date este o colecţie de date operaţionale folosite
de către aplicaţiile sistem ale unei instituţii (Muzeu, Bibliotecă, Întreprindere, etc.)
Datele de intrare sunt informaţii introduse în sistem din lumea exterioară, de
obicei prin terminale.
Datele de ieşire se referă la mesajele şi rapoartele extrase din sistem (tipărite sau
afişate pe ecran).
Entităţile de bază sunt elementele constitutive ale unei baze de date (ex.
materialul arheologic, materialul bibliografic, materialul grafic, etc.). Între aceste
entităţi există întotdeauna asociaţii sau relaţii ce le leagă într-o bază de date comună.
Relaţiile dintre entităţi sunt la rândul lor părţi ale datelor operaţionale, chiar mai
importante decât entităţile asociate. O relaţie poate fi asociată la una, două sau trei
entităţi, iar o entitate poate fi asociată la oricâte relaţii.
CAPITOLUL II. SISTEMUL “Familia Popescu”

Sa se modeleze prin intermediul unei baze de date următorul sistem referitor la familia
Cotigă :

1. Familia este compusă din părinţi (mama, tata), bunici (bunicii dinspre mama,
bunicii dinspre tata), copii (fete si băieţi), eventual veri, unchi-mătuşi.
2. Informaţiile referitoare la membrii familiei pot fi : structura familiei, telefoane
(fixe si mobile), adrese de e-mail, prieteni, pasiuni, cărţi preferate, animale
preferate, vârsta, data naşterii, religie, sex, medic de familie, stare civila, adresa,
profesie, grad de pregătire, venit anual fix, venit suplimentar, magazine
frecventate si instituţii unde lucrează (care au adresa, orar, telefon, fax etc.) etc.
etc.
3. Toţi membrii familiei, cu excepţia bunicilor si a celor din generaţia lor, au făcut
sau fac cursurile scolii 55 din oraş.
4. 2 dintre membrii familiei sunt cadre didactice la această şcoală.
5. La şcoala respectiva sunt mai mulţi profesori care predau fiecare cate 3
discipline : o disciplină fundamentală la câte o clasă de elevi (matematică, fizică,
chimie etc.) si câte 2 limbi străine (engleza, franceza, spaniola, italiana, germana,
chineza etc.) la cate o semigrupă a clasei. Există situaţii când 2 profesori predau
aceeaşi limbă străină la semigrupe diferite, dar si situaţii când aceiaşi elevi (o
subgrupă) fac o limbă străină cu profesori diferiţi (de exemplu, în semestre diferite).
CAPITOLUL III. SCHEMA CONCEPTUALĂ

3.1. Noţiuni teoretice


În prima fază, o echipă nominalizată colectează (achiziţionează) datele
corespunzătoare din sistem, apoi urmează faza de organizare a acestora utilizându-se
modelul entitate-legătură. Principalele concepte folosite în acest model sunt: entitatea,
relaţia (legătura) şi atributul.
Entitatea este un obiect de interes din sistem pentru care trebuie să existe date
înregistrate.
- Fiecare entitate are o denumire unică în cadrul unui sistem.
- Entităţile sunt reprezentate prin substantive, dar nu orice substantiv folosit în
descrierea sistemului este entitate, ci numai acelea care au o semnificaţie
deosebită.
- Fiecare entitate trebuie să fie bine definită şi precizată pentru a se evita
confuziile.
Relaţia (legătura) este o asociere (raport) nedirecţionată între 2 entităţi.
- Relaţiile sunt reprezentate prin verbe, dar nu orice verb utilizat în descrierea
sistemului este relaţie.
- Între 2 entităţi pot exista mai multe relaţii.
- Pot exista în cadrul unei scheme conceptuale mai multe relaţii cu acelaşi nume,
dar cele care leagă aceleaşi entităţi trebuie să aibă nume diferite.
Cardinalitatea unei relaţii indică numărul de instanţe din fiecare entitate care poate
participa la relaţie. Există 3 tipuri de cardinalitate:
- "mulţi-la-unu" (many-to-one, M:1).
Relaţia dintre entităţile A şi B este de tipul "mulţi-la-unu" dacă fiecarei instanţe
din A i se poate asocia cel mult o singură instanţă din B şi fiecărei instanţe din B i se
pot asocia mai multe instanţe din A.
- "unu-la-unu" (one-to-one, 1:1).
Relaţia dintre entităţile A şi B este de tipul "unu-la-unu" dacă fiecărei instanţe
din A i se poate asocia cel mult o singură instanţă din B şi fiecărei instanţe din B i se
poate asocia cel mult o singură instanţă din A.
- "mulţi-la-mulţi" (many-to-many, M:M).
Relaţia dintre entităţile A şi B este de tipul "mulţi-la-unu" dacă fiecărei instanţe
din A i se pot asocia mai multe instanţe din B şi fiecărei instanţe din B i se pot asocia
mai multe instanţe din A.
Valorile prezentate până acum (M:1, 1:1, M:M) reprezintă cardinalitatea maximă a
unei relaţii. Pe de altă parte, o relaţie este caracterizată şi de o cardinalitate minimă ce
indică obligativitatea participării entităţilor la relaţie. Cardinalitatea minimă a unei
relaţii poate avea valorile: 0:0, 0:1, 1:1. Dacă avem cardinalitatea minimă a unei relaţii
egală cu 1 înseamnă că există o participare totală a entităţii la relaţie (participare
obligatorie). Dacă avem cardinalitatea minimă egală cu 0 înseamnă că există o
participare parţială a entităţii la relaţie.
3.2. Schema conceptuală

MEMBRI
cod_membru
nume, prenume, data_naşterii,
vârstă, sex, religie, adresă, telefon etc.

BUNICI
descriere (dinspre
mamă, dinspre
tată)

lucrează_ca M(0)
1 este_cadru_didactic M(0)
(şcoala 55)
PROFESOR 1(0) PĂRINŢI
cod_profesor
nume,prenume
1 lucrează_ca M(0)
M(0) M(0) este_cadru_didactic M(0) M(0) este_elev (şcoala 55)
(şcoala 55)
1(0)
COPII
M(0)
1(0)
predă
M(0)

DISCIPLINĂ face_parte_din
cod_disciplină,
nume predă_la

M(0) 1

CLASĂ
cod_clasă,
studiază M(0) nume,
nr_semigrupe, cod_semigrupa1,
cod_semigrupa2, cod_semigrupa3
………………………………..
CAPITOLUL IV. SCHEMA LOGICĂ

4.1. Noţiuni teoretice


Pentru realizarea schemei logice a unei baze de date se porneşte de la schema
conceptuală (modelul entitate – legătură) urmărindu-se conversia entităţilor şi a
legăturilor în tabele relaţionale.
Regulile de conversie ale entităţilor şi legăturilor sunt următoarele:
Transformarea entităţilor
Regulă generală: entităţile se transformă în tabele.
Subcazuri:
a) Entităţile independente devin tabele independente, adică tabele a căror cheie
primară nu conţine chei străine.
b) Entităţile dependente devin tabele dependente (tabele detaliu) adică tabele a
căror cheie primară conţine cheia străină ce face referinţă la cheia primară a
entităţii de care depinde entitatea în cauză.
c) Subentităţile devin subtabele, adică tabele a căror cheie primară este cheia
străină pentru tabelul superentitate.
Transformarea relaţiilor (legăturilor)
Regula generală: Relaţiile (legăturile) se convertesc în chei străine.
Convenţie: plasamentul cheii străine este simbolizat printr-o săgeată. Atunci când
cheia străină este inclusă în cheia primară, vârful săgeţii este plin ( ) şi este
gol în caz contrar ( ).
Cazuri:
a) Relaţiile 1:1 devin chei străine. Cheia străină este plasată în tabelul cu linii mai
puţine.
b) Relaţiile M:1 devin chei străine plasate în tabelul care se află în partea de
“mulţi” a relaţiei.
c) O relaţie M:M se transformă în 2 relaţii M:1. În acest caz se construieşte un
tabel special numit tabel asociativ care are 2 chei străine care fac referinţă la
cheile primare ale celor 2 tabele aflate în relaţia M:M. Cheia sa primară este
formată din cele 2 chei străine plus (eventual) alte atribute suplimentare.
d) O relaţie de tip 3 se transformă într-un număr de relaţii de tip 2, egal cu numărul
de tabele asociate. Aceste relaţii (legături) se stabilesc între un tabel asociativ si
tabelele asociate. Tabelul asociativ are câte o cheie străină pentru fiecare tabel
asociat, iar cheia sa primară este formată din toate aceste chei străine plus
(eventual) alte atribute suplimentare.
4.2. Schema logică

MEMBRI
cod_membru,
nume, prenume, data_naşterii,
vârstă, sex, religie, adresă, telefon etc.

BUNICI
cod_membru,
descriere (dinspre mamă, dinspre tată)

lucrează_ca M(0)
M(0)

1(0) PĂRINŢI
cod_membru
1
1 lucrează_ca M(0) M(0)
PROFESOR M(0) M(0)
cod_profesor,
nume, prenume 1 1(0) COPII 1(0)
cod_membru
1

M(0)

PREDARE
cod_profesor,
cod_disciplină

M(0)

1 M(0) 1

DISCIPLINĂ PREDARE_LA_ M(0) 1 CLASĂ


cod_disciplină, STUDIERE cod_clasă,
nume cod_clasă, nume,
M(0) cod_disciplină, nr_semigrupe, cod_semigrupa1,
1 cod_profesor cod_semigrupa2, cod_semigrupa3,
……………………………….
CAPITOLUL V. NORMALIZAREA BAZEI DE DATE

5.1. Noţiuni teoretice


Normalizarea reprezintă procesul de descompunere a unui tabel relaţional în mai multe
tabele care satisfac anumite reguli şi care stochează aceleaşi date ca şi tabelul iniţial
astfel încât să fie eliminate redundanţa în date şi anomaliile la actualizare.
a) Caracterul reversibil al normalizării.
Prin caracter reversibil al normalizării se înţelege faptul că descompunerea se face fără
pierdere de informaţie, adică tabelul iniţial poate fi reconstituit prin compunerea
naturală, pe atribute comune, a tabelelor rezultate.
Pentru un tabel R care se descompune prin proiecţie în mai multe tabele: R1, R2,
… Rn, condiţia de descompunere fără pierdere de informaţie presupune că în urma
operaţiei de compunere naturală a tabelelor R1, R2, … Rn să se obţină tabelul R.
b) Dependenţa funcţională
Fie R un tabel relaţional si X si Y doua submulţimi de coloane ale lui R. Spunem ca X
determină funcţional pe Y sau ca Y depinde funcţional de X dacă nu există două
rânduri în tabelul R care să aibă aceleaşi valori pentru coloanele din X şi să aibă valori
diferite pentru cel puţin o coloană din Y.
Notaţie uzuala: X  Y
unde X = determinant
Y = determinat
X  Y este triviala daca Y ⊆ X.
c) Dependenta funcţională tranzitivă
Fie R un tabel relaţional, X o submulţime de coloane a lui R si A o coloană a lui R.
Spunem că A este dependentă tranzitiv de X daca există o submulţime de coloane Y
care nu include coloana A şi care nu determină funcţional pe X astfel încât X  Y si Y
 A. Dacă în această definiţie se doreşte să se evidenţieze şi Y atunci se spune că A
depinde funcţional de X prin intermediul lui Y şi se scrie: X  Y  A.
d) Descompunerea minimală
Prin descompunerea minimală a unui tabel se înţelege o descompunere astfel încât nici
o coloană din tabelele rezultate nu poate fi eliminată fără a duce la pierderea de
informaţii şi implicit la pierderea caracterului ireversibil al transformării. Aceasta
înseamnă că nici unul dintre tabelele rezultate nu poate fi conţinut unul în altul.
5.2. Normalizarea tabelelor bazei de date

Din analiza schemelor conceptuală şi logică ale bazei de date, scheme prezentate
mai sus, se observă că există o normalizare care ar ajuta la o mai bună organizare a
tabelelor şi a legăturilor între entităţi şi anume descompunerea tabelului CLASA în 2
“subtabele” care să faciliteze stocarea datelor şi interogările din partea utilizatorului
bazei de date.

Astfel, tabelul CLASA (cod_clasa, nume, nr_semigrupe, cod_semigrupa1,


cod_semigrupa2, cod_semigrupa3) se va descompune în:

CLASA_1 (cod_clasa, nume, nr_semigrupe)


SEMIGRUPA (cod_semigrupa, cod_clasa)

CLASA
cod_clasa nume nr_semigrupe cod_semigrupa1 cod_semigrupa2 cod_semigrupa3

5531 IA 3 55311 55312 55313

5532 IV B 2 55321 55322

5547 VI C 3 55471 55472 55473

5521 VII E 1 55211

CLASA_1

1
CLASA
M

SEMIGRUPA

CLASA_1
cod_clasa nume nr_semigrupe
5531 IA 3
5532 IV B 2
5547 VI C 3
5521 VII E 1
SEMIGRUPA
cod_semigrupa cod_clasa
55311 5531
55312 5531
55313 5531
55321 5532
55322 5532
55471 5547
55472 5547
55473 5547
55211 5521

Cheia primară din tabelul de bază (cod_clasa) se păstrează şi în tabelul CLASA_1 care
va stoca acum doar numele clasei de elevi şi numărul de semigrupe din care se
compune şi va devenii cheie străină în tabelul SEMIGRUPA, care are drept cheie
primară câmpul cod_semigrupa.

Această descompunere este foarte benefică deoarece utilizatorul bazei de date


poate efectua interogări direct asupra tabelei SEMIGRUPA care îl interesează.
Aceasta face referire la toţi elevii din aceeaşi clasă care fac aceeaşi limbă străină.
CAPITOLUL VI. DENORMALIZAREA BAZEI DE DATE

6.1. Noţiuni teoretice


Denormalizarea unei BD reprezintă procesul invers operaţiei de normalizare şi
duce la creşterea redundanţei datelor. Prin aceasta se doreşte, în principal, creşterea
performanţei şi simplificarea programelor de interogare a datelor.
Observaţii:
- Denormalizarea se face numai după o normalizare corectă.
- Denormalizarea se face printr-o selectare strategică a structurilor care aduc avantaje
semnificative.
- Denormalizarea trebuie însoţită de măsuri suplimentare de asigurare a integrităţii
datelor.
6.2. Denormalizarea bazei de date

În cazul bazei noastre de date denormalizarea poate fi folosită de exemplu pentru


eliminarea tabelului DISCIPLINA.
Ţinând cont că fiecare profesor predă 3 discipline (una fundamentală şi două
limbi străine), în tabelul PROFESOR pot fi inserate 3 câmpuri (disciplina1,
disciplina2, disciplina3) care să substitue tabelul DISCIPLINA. Astfel se realizează o
simplificare a legăturilor dintre entităţi şi deci şi a interogărilor.

PROFESOR
cod_profesor nume prenume
118 N1 P1
119 N2 P2
120 N3 P3
121 N4 P4
122 N5 P5

DISCIPLINA
cod_disciplin nume
a
0157 D1
0158 D2
0159 D3
0232 D4
0232 D5
0234 D6
0235 D7
0236 D8

PROFESOR (cod_profesor, nume, prenume, disciplina1, disciplina2, disciplina3)

PROFESOR/DISCIPLINA
cod_profesor nume prenume disciplina1 disciplina2 disciplina3
118 N1 P1 D1 D4 D5
119 N2 P2 D2 D4 D6
120 N3 P3 D3 D7 D8
121 N4 P4 D2 D6 D7
122 N5 P5 D3 D5 D8
CAPITOLUL VII. SGBD MySQL

7.1. Noţiuni teoretice


Un sistem de baze de date este, în esenţă, o modalitate de a gestiona liste cu
informaţii.
Informaţiile pot proveni dintr-o varietate de surse. De exemplu, pot reprezenta
date de cercetare, înregistrări de afaceri, cereri ale clienţilor, statistici sportive, rapoarte
de vânzări, înregistrări de personal sau notele unor elevi.

De ce să optez pentru MySQL?


Nu pot sa va dau decât trei răspunsuri la această întrebare, acestea fiind şi
motivele pentru care foarte mulţi utilizatori şi companii utilizează MySQL ca server de
baze de date.
Primul răspuns este: MySQL este oferit sub licenţă GPL deci este gratuit.
Al doilea răspuns: MySQL este suportat de către PHP, ceea ce face utilă şi în acelaşi
timp uşoară îmbinarea acestor activităţi în crearea conţinutului Web dinamic.
Al treilea răspuns: MySQL este uşor de învăţat şi foarte rapid spre deosebire de
alternativele comerciale “FoxPro” sau “Oracle”.
Bine-înţeles ca fiecare sistem de baze de date are avantajele şi dezavantajele
sale, însă MySQL este special în sensul în care oferă aceeaşi calitate şi viteză, ba chiar
uneori mai mare decât a sistemelor de baze de date comerciale.
Sistemul de baze de date MySQL se bazează exclusiv pe SQL (Structured Query
Language) şi mSQL, MySQL fiind urmaşul celui din urmă, toate cele trei fiind “opera”
aceluiaşi consorţiu, diferenţa constând în gratuitatea celui din urmă si bine-înţeles şi
datorită multitudinii de noi facilităţi oferite de acesta.

MySQL este un sistem de gestiune a bazelor de date relaţionale foarte rapid şi


robust. O bază de date permite utilizatorului să stocheze, să caute, să sorteze şi să
regăsească datele în mod eficient. Serverul MySQL controlează accesul la datele
utilizatorului, accesul este permis mai multor utilizatori autorizaţi. MySQL este un
server multi-user şi utilizează limbajul standard de interogare a bazelor de date (SQL).

MySQL este disponibil în mod public din 1996, dar istoria dezvoltării sale
începe încă din 1979 şi a câştigat de mai multe ori premiul cititorilor - Linux Journal
Readers' Choice Award. MySQL este disponibil sub o licenţă Open Source, dar există
şi sub licenţe comerciale. MySQL este rapid, costul său este nul, fiind distribuit gratuit
sau foarte mic, distribuit sub o licenţă comercială, dacă aceasta este necesară aplicaţiei
utilizatorului şi este mult mai uşor de configurat decât multe alte produse
asemănătoare.
MySQL poate fi folosit atât pe platforme Windows, cât şi Unix, iar codului sursă
i se pot aduce modificări şi poate fi redistribuit gratuit. MySQL este sigur deoarece
accesul la bazele de date se face prin autentificarea utilizatorului, sistemul de parolare
este flexibil şi sigur, permiţând astfel verificarea pe baza host-ului. Parolele sunt sigure
deoarece traficul pentru conectarea la server şi autentificare este criptat.

Deşi este folosit foarte des împreună cu limbajul de programare PHP, cu


MySQL se pot construi aplicaţii în orice limbaj major. Există multe scheme API
disponibile pentru MySQL ce permit scrierea aplicaţiilor in numeroase limbaje de
programare pentru accesarea bazelor de date MySQL, cum are fi: C, C++, C#, Borland
Delphi, Java, Perl, PHP, Python, FreeBasic, etc, fiecare dintre acestea folosind un tip
specific API. O interfata de tip ODBC denumita MyODBC permite altor limbaje de
programare ce folosesc aceasta interfaţă, sa interacţioneze cu bazele de date MySQL
cum ar fi ASP sau Visual Basic. În sprijinul acestor limbaje de programare, unele
companii produc componente de tip COM/COM+ sau .NET (pentru Windows) prin
intermediul cărora respectivele limbaje să poată folosi acest SGBD mult mai uşor decât
prin intermediul sistemului ODBC. Aceste componente pot fi gratuite (ca de exemplu
MyVBQL) sau comerciale.

Licenţa GNU GPL nu permite încorporarea MySQL în soft-uri comerciale; cei


care doresc să facă acest lucru pot achiziţiona, contra cost, o licenţă comercială de la
compania producătoare, MySQL AB.

MySQL este componentă integrată a platformelor LAMP sau WAMP


(Linux/Windows-Apache-MySQL-PHP/Perl/Python). Popularitatea sa ca aplicaţie web
este strâns legată de cea a PHP-ului care este adesea combinat cu MySQL si denumit
Duo-ul Dinamic. În unele cărţi de specialitate este precizat faptul că MySQL este mult
mai uşor de învăţat şi folosit decât multe din aplicaţiile de gestiune a bazelor de date,
ca exemplu comanda de ieşire fiind una simplă şi evidentă: „exit” sau „quit”.

Pentru a administra bazele de date MySQL se poate folosi modul linie de


comandă sau prin descărcare de pe internet o interfaţă grafică a acestui mod: MySQL
Administrator şi MySQL Query Browser. Un alt instrumenmt de management al
acestor baze de date este aplicaţia gratuită, scrisă în PHP, phpMyAdmin.

MySQL poate fi rulat pe multe dintre platformele software existente: AIX,


FreeBSD, GNU/Linux, Mac OS X, NetBSD, Solaris, SunOS, Windows
9x/NT/2000/XP.

Când comparaţi MySQL cu alte sisteme de baze de date, gândiţi-vă la ceea ce


este cel mai important pentru dumneavoastră şi anume: performanţă, suport,
caracteristici (conforme cu SQL, extensii etc.), condiţii şi restricţii de licenţiere, preţ.
Toate acestea constituie factori care trebuie luaţi în considerare.
Date fiind aceste consideraţii, MySQL are de oferit numeroase caracteristici
atractive:
• Viteză. MySQL este rapid. Programatorii pretind că MySQL este cel mai rapid sistem
de baze de date pe care îl puteţi găsi.
• Uşurinţă în utilizare. MySQL este un sistem de baze de date cu performanţe ridicate,
dar relativ simplu, a cărui configurare şi administrare sunt mult mai simple decât în
cazul sistemelor mai mari.
• Cost. MySQL este gratuit pentru majoritatea utilizărilor interne.
• Suport pentru limbaje de interogare. MySQL înţelege SQL (Structured Query
Language - limbaj de interogare structurat), limbajul preferat al tuturor sistemelor
moderne de baze de date. De asemenea, puteţi avea acces la MySQL folosind aplicaţii
care acceptă ODBC (Open Database Connectivity), un protocol de comunicaţie cu
bazele de date creat de Microsoft.
• Caracteristici. La server se pot conecta mai mulţi clienţi simultan. Clienţii pot folosi
mai multe baze de date simultan. Puteţi obţine acces la MySQL în mod interactiv,
folosind numeroase interfeţe care vă permit să introduceţi interogări şi să vizualizaţi
rezultate: clienţi în linie de comandă, browsere Web sau clienţi X Window System.
• Conectivitate şi securitate. MySQL poate fi folosit integral în reţele, iar bazele de
date sunt accesibile de oriunde din Internet, deci vă puteţi partaja datele cu oricine,
oriunde. Dar MySQL are controlul accesului, astfel încât persoanele care nu au dreptul
să vă citească datele nu vor avea această posibilitate.
• Portabilitate. MySQL rulează pe numeroase varietăţi de UNIX, precum şi pe alte
sisteme non-UNIX, ca Windows şi OS/2. O bună parte din programarea cu MySQL are
loc pe sisteme Linux ieftine. MySQL rulează pe diverse echipamente de la calculatoare
de birou la servere cu performanţe ridicate.
• Distribuţie liberă. MySQL nu este un proiect Open Source, deoarece este necesară o
licenţă în anumite condiţii. Totuşi, MySQL se bucură de o amplă popularitate în
comunitatea Open Source, deoarece termenii de licenţă nu sunt foarte restrictivi, (în
esenţă, MySQL este în general gratuit, dacă nu doriţi să obţineţi profit prin vânzarea
sistemului sau a unor servicii care necesită utilizarea acestuia).
7.2. Aplicaţii
În continuare vom trata o serie de elemente referitoare la baza de date creată
(“Familia Popescu”), precum: crearea/eliminarea unui tabel, modificări în tabele,
interogări etc., folosind pentru introducerea si modificarea informaţiilor linia de
comandă SQL.

- crearea bazei de date


CREATE DATABASE fam_Popescu;
Use fam_Popescu;
- crearea tabelei BUNICI
CREATE TABLE Bunici (
-> cod_bunic INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
-> nume TEXT,
-> prenume TEXT,
-> data_nasterii DATE NOT NULL,
-> varsta TINYINT NOT NULL,
-> sex TEXT(1),
-> religie TEXT,
-> adresa TEXT,
-> telefon NUMERIC
-> );
- afişarea câmpurilor (coloanelor) tabelei BUNICI
show columns from BUNICI;
- ştergerea tabelei BUNICI
drop table BUNICI;
- introducerea de date în tabel
INSERT INTO bunici SET
-> nume = "Popescu",
-> prenume = "Marius",
-> data_nasterii = "1936-11-03",
-> varsta = "70",
-> sex = "M",
-> religie = "ortodoxa",
-> adresa = "Str. N. Artarului Nr. 54, Bl. 3, Sc. c, Ap. 10,loc. SEVERIN, jud. Mehedinti"
-> telefon = "0765359225";
- vizualizarea datelor stocate
SELECT * FROM bunici;
- adăugarea unui câmp nou (stare_civila)
ALTER TABLE bunici ADD COLUMN stare_civila TEXT ;

CAPITOLUL VIII. Concluzii

Din cele prezentate putem cateva concluzii:


• MySQL este usor de folosit si este foarte bun pentru crearea unei
baze de date eficienta

BIBLIOGRAFIE

- Viorel Stoian – Cursuri ACE anul II, Craiova 2010

Potrebbero piacerti anche