Documente Academic
Documente Profesional
Documente Cultură
de casa
SO
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
Proiectarea
unei baze de
date folosind
sistemul
2
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
MySql
WorkBench
Masterand:
Matei Theodor
Cuprins:
INTRODUCERE:......................................................................................................................................4
1.Introducere
2.Instalare
3
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
3.Configurare
4.Realizarea tabelelor si a relatiilor dintre ele
VI.Concluzii
INTRODUCERE:
Sistemele de baze de date sunt o componentă esenţială a vieţii de zi cu zi în societatea modernă.In
cursul unei zile, majoritatea persoanelor desfasoara activitati care implica interacţiunea cu o baza de
date: depunerea sau extragerea unor sume de bani din banca, rezervarea biletelor de tren sau avion,
cautarea unei referinte într-o biblioteca computerizata, cumpararea unor produse etc.
Bazele de date pot avea dimensiuni (numar de inregistrari) extrem de variate, de la cateva zeci de
înregistrari (de exemplu, baza de date pentru o agenda cu numere de telefon) sau pot ajunge la zeci
de milioane de inregistrari (de exemplu, baza de date de plata pentru plata taxelor si a impozitelor).
In sensul cel mai larg, o baza de date (database) este o colectie de date corelate din punct de vedere
logic, care reflectă un anumit aspect al lumii reale şi este destinată unui anumit grup de utilizatori. În
acest sens, bazele de date pot fi create şi menţinute manual (de exemplu, fişele de evidenţă a
cărţilor dintr-o bibliotecă, aşa cum erau folosite cu ani în urmă) sau computerizat, aşa cum este
majoritatea bazelor de date folosite în momentul de faţă. O definiţie într-un sens mai restrâns a unei
baze de date este următoarea:
O bază de date (database) este o colecţie de date creată şi menţinută computerizat, care permite
operaţii de introducere, ştergere, actualizare şi interogare a datelor.
4
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
1.2. Proiectarea sistemului: în această etapă se realizează proiectul logic şi proiectul fizic al
sistemului, pentru un anumit SGBD ales.
1.3. Implementarea: este etapa în care se scriu definiţiile obiectelor bazei de date (tabele,
vederi, etc.) şi se implementează aplicaţiile software.
1.6. Testarea şi validarea: noul sistem de baze de date este testat şi validat cât mai riguros
posibil.
Instructiuni
Instructiuni de
de descriere
5
descriere aa datelor
datelor Implemantarea tranzactiilor
Faza 6:
(LDD)
(LDD)
Implementare (dependente de SGBD)
(dependete
(dependete de
de SGBD)
SGBD)
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
6
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
7
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
deja definite. Acest proiect conceptual de nivel înalt este realizat pe baza cerinţelor definite în prima
etapă de proiectare şi se reprezintă, în general printr-o diagramă Entitate-Asociere (extinsă).
Există mai multe aspecte privind modul de abordare a proiectării conceptuale. Un prim
aspect se referă la modul de proiectare a schemei conceptuale a bazei de date: proiectare prin
integrarea cerinţelor şi proiectare prin integrarea schemelor externe.
În proiectarea prin integrarea cerinţelor (care se mai numeşte şi proiectare centralizată) se
realizează mai întâi integrarea (combinarea) tuturor cerinţelor de proiectare într-un singur set de
cerinţe, pe baza căruia se proiectează schema conceptuală a bazei de date. Din această schema
conceptuală (unică) proiectată se deduc schemele externe (vederile) corespunzătoare diferitelor
grupuri de utilizatori şi aplicaţii.
Fiind dat un set de cerinţe, pentru un singur utilizator sau pentru mai mulţi utilizatori ai bazei de
date, proiectarea schemei conceptuale care să satisfacă aceste cerinţe se poate aborda într-o
varietate de strategii, dintre care cele mai relevante sunt proiectarea ascendentă (bottom-up) şi
proiectarea descendentă (top-down).
Aşadar, în această fază de proiectare se obţine schema conceptuală de nivel înalt a bazei de date,
care este independentă de orice model de date specific (ierarhic, reţea, relaţional, etc.), şi de orice
sistem de gestiune care poate fi folosit pentru realizarea bazei de date.
8
3.SCHEMA CONCEPTUALA DE NIVEL ÎNALT A BAZEI DE DATE
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
Entităţi.
Tipurile de entităţi puternice (normale) care se pot defini pentru modelarea activitătii unei agentii sunt
urmatoarele:
ANGAJAT(Nume,Prenume,Parola,Ghiseu)
PERSOANE(Nume,Prenume,Serie_buletin,Numar_Buletin,CNP)
RUTA(Nr_Km,Nr_bilete_rezervate,Clasa)
TRONSON_Aerian(Data_plecare,Ora_Plecare,Data_sosire,Ora_sosire,Locuri_ramase,Sursa,Destinatie,Ve
hicul)
TRONSON_Tren(Data_plecare,Ora_Plecare,Data_sosire,Ora_sosire,Locuri_ramase,Sursa,Destinatie,Vehi
cul)
TRONSON_Autocar(Data_plecare,Ora_Plecare,Data_sosire,Ora_sosire,Locuri_ramase,Sursa,Destinatie,V
ehicul)
Aeroporturi(Oras,Aeroporturi)
Gari(Oras,Gari)
Autogari(Oras,Autogari)
Vehicul(Vehicul,Nr_locuri)
Tara(Tari)
Asocieri.
Asocierea PERSOANE-REZERVARI este o asociere M:N dacă se consideră că opersoana poate sa faca mai
multe rezervari si o rezervare poate sa contina mai multe persoane .
O ruta este compusa din mai multe tronsoane şi fiecare tronson poate fi inclus în mai multe, rute; deci
asocierea RUTA-TRONSON este este M:N.
10
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
O mulţime de entităţi slabe se află, de regulă, în asociere N:1 cu mulţimea de entităţi puternice de care
depinde. In exemplul dat, între mulţimea AEROPORTURI şi mulţimea de entităţi ORAS există o asociere
N:1.
Astfel de atribute (pentru definirea cheilor străine) nu există în modelul E-A şi ele trebuie să fie adăugate
în modelul relaţional pentru definirea asocierii N:1, aşa cum în modelul ierarhic pentru o astfel de
asociere se adaugă link-uri (pointeri) între noduri. Asocierea binară N:1 poate apare şi ca asociere între o
relaţie corespunzătoare unei mulţimi de entităţi slabe şi relaţia corespunzătoare mulţimii de entităţi
puternice de care aceasta depinde, aşa cum a fost prezentată mai sus.
O relaţie de asociere poate să conţină şi alte atribute în afara cheilor străine, atribute care caracterizează
asocierea dintre relaţiile date. Cheia primară a unei relaţii de asociere binară poate fi o cheie artificială
sau poate fi compusă din cheile străine, eventual împreună cu alte atribute ale relaţiei.
Asocierea M:N dintre relaţiile PERSOANE-REZERVARI se realizează prin introducerea relaţiei de asociere
PERS, care conţine două chei străine, IdPersoane1 şi IdPersoane2, care referă cheile primare IdPersoane
si IdRezervari.
Schema conceptuală a unei baze de date relaţionale poate fi dezvoltată independent de un anumit
SGBD, urmând ca ulterior să se adauge diferite trăsături specifice SGBD-ului folosit. De obicei însă,
fiecare SGBD pune la dispoziţie un număr de instrumente mai mult sau mai puţin „prietenoase” de
proiectare a relaţiilor şi a asocierilor, astfel încât în mod frecvent, proiectul conceptual se dezvoltă de la
început în cadrul sistemului SGBD în care se va realiza baza de date. De exemplu, Microsoft Access oferă
11
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
o interfaţă vizuală de proiectare a relaţiilor şi a asocierilor deosebit de uşor de utilizat. La fel, sistemele
SQL Server sau Oracle 10g oferă instrumente grafice pentru proiectarea vizuală a relaţiilor.
2. read sau write: sunt operaţii de citire sau scriere a articolelor în baza de date, executate în cadrul unei
tranzacţii.
3. end: această operaţie marchează terminarea operaţiilor de scriere sau citire din baza de date, ceea ce
înseamnă că tranzacţia se poate termina; totuşi, este posibil să fie necesare unele operaţii de verificare
înainte de validarea (commit) tranzacţiei.
12
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
5. rollback (sau abort): această operaţie semnalează faptul că tranzacţia a fost abandonată şi că orice
efect pe care tranzacţia l-a avut asupra bazei de date trebuie să fie anulat (printr-o “rulare înapoi” a
operaţiilor).
6. undo: această operaţie este similară operaţiei rollback, dar se aplică unei singure operaţii, nu unei
întregi tranzacţii.
7. redo: această operaţie specifică faptul că unele operaţii ale unei tranzacţii trebuie să fie executate din
nou pentru a se putea valida întreaga tranzacţie.
În figura de mai jos este reprezentată diagrama de stare a unei tranzacţii folosind limbajul UML, unde
fiecare stare are o denumire şi fiecare operaţie provoacă o anumită tranziţie între stări.
În starea ACTIVA se ajunge ca urmare a lansării unei tranzacţii prin operaţia begin, iar execuţia corectă a
operaţiilor read sau write nu modifică această stare. Atunci când o tranzacţie se termină, ea trece în
starea PARTIAL VALIDATA în care se efectuează operaţii de verificare impuse de tehnicile (protocoalele)
de control al concurenţei şi de refacere. Dacă ambele verificări sunt îndeplinite cu succes, atunci
tranzacţia este validată (prin execuţia unei operaţii commit) şi trecută în starea VALIDATA; dacă una sau
ambele condiţii nu sunt îndeplinite, tranzacţia este trecută în starea ABANDONATĂ prin execuţia
operaţiei abort. Starea TERMINATĂ este consecinţa imediată a atingerii uneia din stările VALIDATĂ sau
ABANDONATĂ şi nu necesită nici o altă operaţie pentru efectuarea acestei tranziţii.În cursul stării
ACTIVĂ, orice tranzacţie poate fi abandonată (şi trecută în starea ABANDONATĂ prin execuţia unei
operaţii abort), dacă diferite verificări efectuate nu sunt îndeplinite.
Pentru refacerea bazei de date în condiţiile în care unele tranzacţii sunt abandonate sau în care pot
apărea defecte de funcţionare, sistemul SGBD menţine un fişier jurnal, în care memorează operaţiile
efectuate de tranzacţii. Fişierul jurnal este memorat pe disc şi nu este afectat de diferite erori de
13
Universitatea Politehnica Bucuresti
Facultatea de Electronica,Telecomunicatii si Tehnologia Informatiei
execuţie, cu excepţia unei defectări catastrofice a discului. În plus, fişierul jurnal este salvat periodic pe
un suport auxiliar (bandă magnetică), ca o măsură de prevedere pentru astfel de defecte catastrofice.
În fişierul jurnal (log file) se înregistrează operaţiile efectuate de fiecare tranzacţie, identificată printr-un
identificator unic (T) generat de sistem.Prima înregistrare referitoare la o tranzacţie cu identificatorul T
este înregistrarea de start a tranzacţiei: [begin,T]. La fiecare operaţie write(X) executată de o tranzacţie
T, în fişierul jurnal se memorează o înregistrare de tipul [write,T,X,vechea_valoare,noua_valoare], dacă
pentru refacerea datelor se folosesc operaţii undo, sau o înregistrare de tipul [write,T,X,noua_ valoare],
dacă se folosesc operaţii redo. Sistemele care nu evită abandonarea în cascadă a tranzacţiilor
înregistrează în fişierul jurnal şi operaţiile de citire read(X), printr-o înregistrare de tipul
[read,T,X,valoare].
Pentru fiecare tranzacţie T, în fişierul jurnal se mai memorează starea de terminare: validată (printr-o
înregistrare [commit,T] ) sau anulată (printr-o înregistrare[rollback,T]). După executarea validării şi
înregistrarea ei în fişierul jurnal, efectul tranzacţiei este permanent memorat în baza de date.
Dacă sistemul se defectează, la reluarea execuţiei după îndepărtarea defectului, sistemul SGBD va aduce
baza de date într-o stare consistentă prin examinarea fişierului jurnal. Dat fiind că fişierul jurnal conţine
o înregistrare pentru fiecare operaţie de scriere care a modificat valoarea unui articol al bazei de date,
este posibil de a anula efectul tuturor operaţiilor de scriere efectuate de o tranzacţie care a fost lansată
dar nu a fost validată, parcurgând înapoi fişierul jurnal şi înlocuind valoarea existentă a articolului
modificat cu vechea valoare, memorată în fişierul jurnal. În cazul abandonării în cascadă, trebuie să fie
abandonate şi tranzacţiile care au citit valori modificate de tranzacţiile abandonate.
14