Documente Academic
Documente Profesional
Documente Cultură
Lucrare de curs
la disciplina Baze de date
A efectuat
st.gr. MN-161M
Reu Constanitn
A verificat
conf.dr.
Bettin Mironov
Chisinau 2016
CUPRINS
I.
II.
III. Concluzii........................................................................................................... 24
IV. Bibliografie ........................................................................................................25
I. Noiuni teoretice
n sensul larg, o baz de date (database) este o colecie 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 meninute manual (un exemplu ar fi fiele de eviden a
crilor dintr-o bibliotec, aa cum erau folosite cu ani n urm) sau computerizat aa cum sunt
majoritatea bazelor de date n momentul de fa. O definiie ntr-un sens mai restrns a unei baze de
date este urmtoarea:
O baz de date este o colecie de date centralizate, creati meninut computerizat, n scopul
prelucrrii datelor n contextul unui set de aplicaii. Prelucrarea datelor se refer la operaiile de
introducere, tergere, actualizare i interogare a datelor.
Simple colecii de fie (documente pe hrtie) sau fiiere de date care conin date, dar nu permit
operaii de interogare nu sunt considerate baze de date. De exemplu, datele memorate n fiiere pe
disc ntr-o aplicaie de calcu tabelar (Microsoft Excel) sau documentele memorate de un editor de
texte (ca Microsoft Word) nu sunt considerate baze de date.
Orice baz de date are urmtoarele proprieti implicite:
Baza de date este o colecie logic coerent de date ce are cel puin un neles
Baza de date este destinat, construiti populat de date despre un domeniu bine precizat.
Ea are un grup de utilizatori i se adreseaz unui anumit grup de aplicaii
O baz de date reprezint cteva aspecte ale lumii reale crend orizontul propriu.
Schimbrile orizontului sunt reflectate n baza de date.
Modelul de date relaional (Relational Model) se bazeazpe noiunea de relaie din matematic,
care corespunde unei entiti de acelai tip i are o reprezentare uor de neles i de
manipulat, ce const dintr-un tabel bidimensional, compus din linii i coloane. Fiecare linie din
tabel reprezint o entitate i este compus din mulimea valorilor atributelor entitii respective,
fiecare atribut corespunznd unei coloane a tabelului.
Un sistem de baze de date (Database System) reprezintun ansamblu de componente care
asigur crearea, utilizarea i ntreinerea uneia sau mai multor baze de date. Componentele unui
sistem de baze de date sunt: hardware, software, utilizatori, date persistente.
Hardware.
Calculatoarele pe care sunt instalate de obicei sistemele de baze de date sunt PC standard,
dar i calculatoare multiprocesor foarte puternice. Performanele generale de operare
3
ale calculatorului (numrul i viteza procesoarelor, dimensiunea i viteza de operare a memoriei etc)
influeneaz n mod corespunztor perfomanele sistemului de baze de date. Cea mai important
caracteristic a calculatorului pe care funcioneazsistemul de baze de date este capacitatea
harddisk-ului, utilizatpentru memorarea datelor din baza de date.
Deoarece ntr-un sistem de baze de date este necesar accesul rapid la oricare dintre nregistrrile
de date, pentru memorarea acestora se folosesc discurile magnetice (harddisk- uri). Benzile
magnetice
(care
ofer
acces
secvenial
la
Software
ntre baza de date (colecia de date memorate fizic n fiiere pe harddisk-uri) i utilizatorii
sistemului exist un nivel software, numit sistem de gestiune a bazei de date (SGBD)- (DataBase
Management System). O baz de date computerizat poate fi generati meninut fie cu
ajutorul unui grup de programe de aplicaie specifice acestui scop, fie cu acest SGBD.
Definirea bazei de date presupune specificarea tipurilor de date ce vor fi stocate n baza
de date, precum i descrierea detaliat a fiecrui tip de dat.
Construcia bazei de date reprezint procesul stocrii datelor nsi prin mediul controlat
prin SGBD.
Prin
schema conceptual a bazei de date cu ajutorul entitilor i a relaiilor dintre acestea. Acest
model a fost introdus n anul 1976 de P.S.Chen. Elementele de baz folosite n cadrul acestui model
sunt conceptele de entitate i cel de relaie. O entitate este un obiect al lumii reale, cu o
existenindependenti poate reprezenta un obiect fizic, o activitate, un concept. O entitate este
un obiect cu existen fizic , de exemplu: persoan particular, automobil, companie, activitate, curs
universitar. Orice entitate are o serie de proprieti numite atribute, ce descriu entitatea respectiv.
Cu toate c nu reprezint acelai lucru, pentru denumirea de entitate se mai folosete i denumirea
de tabel al bazei de date, iar pentru atribute cmpurile tabelului.
n proiectarea bazelor de date se definesc relaii sau asocieri
entiti
componente,
pentru a reprezenta
anumite
aspecte
ale
ntre mulimile
realitii
de
pe care o
modeleazbaza de date. O relaie este o coresponden ntre entiti din una sau mai multe mulimi
de entiti. Gradul unei relaii este dat de numrul de mulimi de entiti asociate. Relaiile pot fi
binare (ntre 2 mulimi de entiti) sau multiple (ntre mai mult de 2 entiti). Relaiile binare sunt
mprite n trei categorii, dup numrul elementelor
puse
Relaia unul-la-unul este cel mai simplu tip de relaie. Ea este relaia prin care unui
element din mulimea E1 i corespunde un singur element din mulimea E2 i reciproc.
Fig.3.Relaia unul-la-multe
Relaia multe-la-multe (M-N sau many to many). Aceast relaie este o relaie prin care unui
element din mulimea E1 i corespund unul sau mai multe elemente din mulimea E2, i reciproc.
Fig.4.Relaia multe-la-multe
Acest tip de relaie este foarte des ntlnit, dar nu poate fi implementat n bazele de date
relaionale. De fapt, pentru modelarea acestei relaii se folosete o relaie suplimentar, de tip unul-lamulte pentru fiecare din relaiile iniiale.
Toate relaiile prezentate anterior sunt relaii binare, avnd cte dou relaii implicate. Relaiile
unare folosesc doar o singurrelaie, aceasta fiind asociat cu ea nsi.
Fig.5.Relaia unar
Exemplul clasic al acestei relaii unare este cazul managerului unei companii, care la rndul
su este tot un angajat al acelei companii.
Constrngerile de integritate sunt reguli care se definesc la proiectarea unei baze de date i care
trebuie s fie respectate de-a lungul existenei acesteia. Entitiile unei baze de date reflect
realitatea modelati de aceea valorile pe care le conin trebuie s respecte anumite reguli, care s
corespund celor din realitate. Vom folosi n continuare pentru termenul de entitate
denumirea
n cadrul tabelei
sau ntre tabele.
Constrngerile din cadrul unei tabele sunt reguli care se impun n cadrul unei singure tabele i
asigur integritatea datelor acesteia. Ele sunt de 3 categorii:
constrngeri de domeniu.
Aceste constrngeri sunt condiii care se impun valorilor atributelor i asigurintegritatea
domeniilor atributelor.
constngeri de nuplu (de nregistrare din tabel).
Aceste constrngeri sunt condiii care se impun nuplurilor unei entiti (nregistrrilor din tabel)
i asigur identificarea corect a nuplurilor prin intermediul cheilor primare.
constrngeri impuse de dependene de date(dependene funcionale).
Acestea sunt constrngeri prin care valorile unor atribute ale unei entiti (cmpuri ale tabelei)
determin valorile altor atribute ale aceleiai entiti. Constrngerile ntre tabele sunt reguli care se
impun ntre dou sau mai multe relaii. Cele mai importante sunt constrngerile de integritate
referenial, care se realizeaz prin intermediul cheilor strine i asigur asocierea corect a
tabelelor.
Constrngerile de domeniu sunt condiii impuse valorilor atributelor pentru ca acestea s
corespund semnificaiei pe care o au n realitatea modelat. n reprezentarea unei entiti printr-un
tabel, valorile atributelor sunt reprezentate pe coloane. Din aceast cauz aceste constrngeri se
mai numesc i constrngeri de coloan. Vom descrie 3 tipuri de constrngeri de coloan:
Constrngerea NOT NULL. Valoarea NULL este o valoare particular, care nu reprezint
valoarea 0, ci lips de informaie. Aceast valoare NULL poate aprea cnd nu se cunosc
respectivele informaii, ca de exemplu, n aplicaia proiectat de noi, n tabela StudPersonal nu se
cunoate numele tatlui (aceast informaie nu este esenial). Nu orice atribut poate lua
valoarea NULL, ca exemplu, numele unui student, pentru ca nu ar avea sens nregistrarea unui
student al crui nume nu se cunoate. n astfel de situaii la definirea relaiilor se impune
atributului constrngerea NOT NULL, nsemnnd c acest atribut nu poate lua valoare NULL
n orice nregistrare din tabel
Constrngerea DEFAULT. Aceast constrngere este folosit pentru stabilirea unei valori
unui nuplu
(nregistrri) nu se specific valoarea unui atribut (cmp), atunci acesta primete valoarea implicit
(dac a fost definit) sau valoarea NULL (dac nu a fost definit o valoare implicit pentru atributul
respectiv, dar sunt admise valori NULL). Dac nu a fost definit o valoare impliciti nici nu sunt
admise valori NULL se genereaz o eroare.
de verificare. n limbajul SQL, care va fi prezentat ntr-un capitol viitor, domeniile n care pot lua
valori atributele se pot stabili ca tipuri de date predefinite. Pentru fiecare atribut se pot aduga
constrngeri de verificare la definirea tabelului.
Dependena funcional definete relaia dintre un atribut sau un grup de atribute ale unui tabel i
un alt atribut sau grup de atribute ale altuia. Dup cum am specificat, atributele se refr la
cmpurie tabelei. Prin urmare trebuie s vedei ce cmpuri depind de alte cmpuri.
n orice
implicite,
procedural, prin triggere, proceduri stocate sau funcii impuse n programele de aplicaie.
Setul de comenzi SQL
Comanda + Descriere:
SELECT
este comanda cea mai utilizata ; este folosita pentru obtinerea datelor din bazele de date
INSERT
aceste trei comenzi sunt utilizate pentru a introduce noi UBDATE
O comanda SQL este introdusa la promptul SQL si liniile subsecventelor sunt numarate.
O singura declaratie poate fi considerata curenta cat timp ea este in buffer si poate fi rulata
intr-un numar de moduri :
plasand un punct si virgula(;) la sfarsitul ultimei clauze.
plasand un punct si virgula /slash la ultima linie in buffer.
plasand un slash(/) la promptul SQL.
scriind un R[UN] (comanda SQL) la promptul SQL.
10
MGR
7902
30 ALLEN
7698
30 WARD
7698
20 JONES
30 MARTIN
7839
7698
30 BLAKE
7839
10 CLARK
7839
11
12
20 SCOTT
7566
10 KING
30 TURNER
7698
20 ADAMS
7788
30 JAMES
7698
20 FORD
7566
10 MILLER
7782
De remarcat ca numele coloanelor sunt separate prin spatiu. Este posibil sa selectam toate coloanele
din tabela prin specificarea unui asterix ('*') dupa cuvantul SELECT.
FROM
EMP;
EMPNO ENAME
JOB
MGR HIREDATE
SAL
COMM DEPTNO
----- ------- ------- ---- --------- --------- ------- -----7369 SMITH CLERK
7902 13-JUL-83
800.00
20
30
7521 WARD
30
7566 JONES
20
7698 BLAKE
7782 CLARK
7788 SCOTT
13
30
10
20
30
7839 KING
PRESIDENT
09-JUL-84 5,000.00
10
.00 30
7876 ADAMS
20
CLERK
7900 JAMES
950.00
7902 FORD
30
20
Expresii aritmetice
Alias-uri de coloane
Coloane concatenate
Literali
Toate aceste optiuni ajuta utilizatorul sa ceara date si sa le manipuleze in functie de scopurile
interogarii; de exemplu, executia calculelor, legarea coloanelor impreuna,sau afisarea sirurilor de litere
din text.
Expresii aritmetice
O expresie este o combinatie de una sau mai multe valori, operatori si functii care sa evalueaza la
o valoare. Expresiile aritmetice pot contine nume de coloane, valori numerice constante si operatori
aritmetici: Operatori Descriere
----------------+
*
/
adunare
scadere
inmultire
impartire
EMP;
Daca expresia aritmetica contine mai mult decat un operator, prioritatile sunt *,/,la inceput,apoi
+,- (de la stanga la dreapta pentru operatorii de aceeasi prioritate).
14
In urmatorul exemplu,inmultirea (250*12) este evaluata prima;apoi valoarea salariului este adunata la
rezultatul multiplicarii(3000). Astfel pentru randul lui SMITH avem :800+3000=3800.
SELECT ENAME,SAL + 250 * 12
FROM EMP;
Parantezele pot fi utilizate pntru specificarea ordinii de executie a operatorilor ,daca,de
exemplu, adunarea e dorita inainte de inmultire:
SELECT ENAME,(SAL + 250) * 12
FROM
EMP;
Aliasuri de coloana
Cand se afiseaza rezultatul unei interogari,SQL*Plus in mod normal utilizeaza numele coloanelor
selectate ca titlu.In multe cazuri acest nume poate fi criptic sau fara inteles. Puteti schimba un titlu de
coloana utilizand un 'ALIAS'. Un alias de coloana da unei coloane un nume de titlu alternativ la
iesire. Specificati aliasul dupa coloana in lista selectata.Prin default, titlurile alias vor fi fortate la
litere mari si nu pot contine blankuri,numai daca aliasul este inclus intre ghilimele(" "). Pentru a afisa
titlul de coloana ANNSAL pentru salariul anual insemnand SAL*12,utilizati un alias de coloana:
SELECT ENAME,SAL*12 ANNSAL,COMM
FROM
EMP;
Odata definit un alias poate fi utilizat de comenzile SQL care sunt tratate in capitolele 10 si 11.
Nota:
Intr-o declaratie SQL ,un alis de coloana poate fi utilizat numai in clauza SELECT.
15
crearea unui model al afacerii, exemple: o baz de date pentru un magazin, o baz de date
pentru un spital, o baz de date pentru o farmacie, o baz de date pentru evidena
locatarilor, o baz de date pentru biblioteca naional etc.
17
18
20
Fig.17.Crearea unei uniuni a valorilor din coloana Name din tabelele Diodes i Transistors
21
22
III.
Concluzii
n aceast lucrare de curs s-a efectuat o baz de date a diferitor obiecte electronice cum ar fi
tranzistor, dioda, rezistena. Prima tabel este creat pentru cataloga toate obiectele electronice.
Tabela Components conine urmtoarele coloane:
1)
2)
3)
4)
Pe parcursul elaborrii bazei de date, au fost utilizate diferite aspect cheie a limbajului SQLPlus.
Au fost utilizate constrngeri de tip NOT NULL sau PRIMARY KEY. Au fost mplementate funcii
MAX, MIN, SUM asupra datelor din tabele. Deasemenea sau fost create reuniuni i vederi ai
tabelelor.
23
IV.
Bibliografie
24