Escolar Documentos
Profissional Documentos
Cultura Documentos
Conductor tiinific
Conf. Dr. Ing. Dn GLTCHI
Student
Vld ndreis
Mi 2015
Contents
Introducere ................................................................................................................................................... 3
1. Bze de dte definiie ............................................................................................................................ 3
1.1
Introducere
Tem cestui proiect de cercetre este cercetre i documentre despre modul de creere
bzelor de dte precum i crere unei bze de dte direciont pe o temtic de telecomunicii.
cest bz de dte se v reliz pentru un opertor de telefonie mobil. C personlizre bz
de dte v conine numele studentului trecut in bz de dte cret.
Bz de dte cre v fi creet v ve dou structuri de dte, un pentru boni i un
pentru clieni prepy. Structur pentru boni v conine numele, codul clientului, numrul de
telefon, tipul de bonment, servicii oferite, cost, stri pli i vechime in ree. n timp ce
structur de dte pentru clieni prepy v conine numrul de telefon, servicii oferite, sum
disponibil i vechime in ree.
O bz de dte (dtbse) este o colectie de dte corelte din punct de vedere logic, cre
reflect un numit spect l lumii rel si este destinti unui numit grup de utiliztori. Pote
ve dimensiuni extrem de vrite, de l ctev zeci de inregistrri pote junge l zeci de
milione de inregistrri.
O bz de dte este o colectie de dte cret si mentinut computerizt, cre permite opertii
de introducere, stergere, ctulizre si interogre dtelor.
Bz de dte
Utiliztor
plicie
SGBD
Dte
Dte
Sistemul de gestionre bzei de dte (SGBD) este un sistem de progrme cre permite
utiliztorului definire, crere si ntretinere bzei de dte si ccesul controlt l cest.
SGBD const n elemente de softwre cre interctionez cu progrmele de plictie le
utiliztorului pe de o prte si cu bz de dte pe cellt.
3
unice (pentru toti utiliztorii) si bstrcte dtelor, descriind ce dte sunt stocte n bz de dte
si cre sunt socierile dintre ceste.
Schem intern (fizic) bzei de dte (internl schem) specific modul de reprezentre
dtelor pe suportul fizic.
Un sistem de bze de dte suport o schem intern, o schem conceptul si mi multe
scheme externe; tote ceste scheme sunt descrieri diferite le celeisi colectii de dte, cre
exist dor n nivelul intern.
Un sistem de bze de dte centrlizt (Centrlized Dtbse System) este un sistem de
bze de dte n cre dtele si sistemul de gestiune sunt stocte pe o singur sttie (clcultor).
Un sistem centrlizt pote suport unul su mi multi utiliztori, dr, n orice situtie,
dtele si sistemul de gestiune rezid n ntregime pe o singur sttie.
Un sistem de bze de dte distribuit (Distributed Dtbse System) pote ve tt dtele,
ct si sistemul de gestiune, distribuite n mi multe sttii interconectte printr-o rete de
comunictie.
O bz de dte distribuit este o colectie de dte cre prtin din punct de vedere logic
celuisi sistem, dr cre pot s fie, din punct de vedere fizic, memorte n mi multe sttii de
clcul (loctii - sites) conectte printr-o rete de comunictie. Sistemul softwre cre gestionez
o stfel de bz de dte se numeste Sistem de Gestiune Bzei de Dte Distribuite - SGBDD (Distributed Dtbse Mngement System - DDBMS).
Exist numerose vntje le sistemelor de bze de dte distribuite (crestere cpcittii
de stocre si prelucrre dtelor, crestere disponibilittii si prtjrii dtelor, etc.), dr si o
crestere considerbil complexittii cestor.
Ce mi importnt cerint pe cre trebuie s o ndeplinesc sistemele de gestiune
bzelor de dte distribuite este de sigur dministrre trnsprent dtelor. Trnsprent se
refer l cpcitte unui sistem distribuit de scunde detliile de implementre, stfel nct
utiliztorii s pot cces dtele pe bz unui model de nivel nlt, fr fi necesr cunostere
exct modului de mplsre, replicre su comunicre dtelor.
Un model este o bstrctizre unui sistem, cre cptez cele mi importnte trsturi
crcteristice le sistemului (concepte), relevnte din punct de vedere l scopului pentru cre se
defineste modelul respectiv. Tehnic de identificre trsturilor crcteristice esentile le unui
sistem se numeste bstrctizre.
Un model de dte stbileste regulile de orgnizre si interpretre unei colectii de dte.
n proiectre bzelor de dte se folosesc, de regul, mi multe modele de dte, cre se pot
clsific n dou ctegorii: modele conceptule de nivel nlt si modele specilizte.
Un model conceptul de nivel nlt l dtelor contine o descriere concis colectiilor de
dte cre modelez ctivitte dorit (numit schem conceptul de nivel nlt), fr s
detlieze modul de reprezentre su de prelucrre dtelor.
Modelul relionl pentru bzele de dte fost conceput i dezvoltt de E.F. Codd. Este un
model forml de orgnizre conceptul dtelor, destint reprezentrii legturilor dintre dte,
bzt pe teori mtemtic reliilor. Fiind lctuit numi din relii, orice interogre supr
bzei de dte este tot o relie. cest model este simplu, riguros din punct de vedere mtemtic,
i nu este orientt spre sistemul de clcul. Printre limtrile unui semene model putem menion
existent unei redundne, prii unor inconsistene, inexisten unor mecnisme pentru trtre
optim cererilor recursive, fptul c nu se lucrez cu obiecte complexe, inexisten unor
mijloce prefecionte pentru exprimre constrnderilor de intregritte. De semene nu exist o
gestine totl dtelor distribuite. O bz de dte relionl este o bz de dte formt dintr-o
serie de tbele neordonte, ce pot fi mnipulte folosind operii non-procedurle cre returnez
tbele. ceste bze de dte sunt percepute de utiliztori c o colecie de tbele bidimensionle, n
cre fiecre linie corespunde unui tuplu i fiecre colon corespunde unui tribut.
1.2 Entitte
1.3 Tbelele
Tbelele reprezint o entitte. Ele sunt formte din rnduri i colone. Colnele reprezint
tributele fiecrei entiti. n cdrul tbelelor pote pre mbiguitte. cest lucru se pote
rezolv prin sigur pe ct posibil unicitte informiilor. cest lucru se obine prin utilizre
unei chei primre unice pentru fiecre nregistrre.
normle u o existent proprie n cdrul modelului, n timp ce entittile slbe nu pot exist dect
dc exist o entitte norml (puternic) cu cre sunt socite.
O sociere (reltionship ) este o corespondent ntre entitti din dou su mi multe
multimi de entitti. Grdul unei socieri este dt de numrul de multimi de entitti socite.
socierile pot fi binre (de grdul 2, ntre 2 multimi de entitti) su multiple (ntre k multimi de
entitti, k> 2). socierile binre sunt, l rndul lor, de trei ctegorii, dup numrul elementelor
din fiecre dintre cele dou multimi puse n corespondent de sociere respectiv. Fiind dte
dou multimi de entitti, E1 si E2, se definesc urmtorele ctegorii de socieri binre:
sociere unul-l-unul (one-to-one) este sociere prin cre unui element (entitte) din
multime E1 i corespunde un singur element din multime E2, si reciproc; se notez cu 1:1.
sociere multe-l-multe (mny-to-mny) este sociere prin cre unui element din
multime E1 i corespund unul su mi multe elemente din multime E2, si reciproc; se notez
cu M:N.
11
1.6 Constrngeri
O constrngere este o regul introdus ntr-un obiect l unei bze de dte cre v
restricion vlorile dtelor permise pentru obiectul respectiv. ceste sunt forte importnte n
cdrul bzelor de dte relionle deorece prin constrngeri se implementez socierile i
regulile de business specifice design-ului logic.
Fiecrei constrngeri i este tribuit un nume unic pentru permite refereniere cestei
n cdrul mesjelor de erore i comenzilor efectute supr bzei de dte.
Constrngere de tip Cheie Primr:
Este o colon su un set de colone cre identific n mod unic fiecre rnd dintr-o
tbel. Cnd definim o cheie primr, SGBD-ul o implementez utomt c o constrngere de
tip cheie primr pentru grnt c oricre dou rnduri din tbel nu vor ve vlori duplicte
n cdrul cheii primre.
Cheile primre sunt prope ntotdeun implementte de SGBD utiliznd unindex, cre
este un obiect specil l bzei de dte ce permite cutre rpid vlorilor unei colone. Pe
msur ce sunt introduse noi dte n tbel, SGBD-ul cut n mod utomt n index pentru
sigur c vlore cheii primre pentru noul rnd nu exist dej. n czul n cre cest se fl
dej n tbel, SGBD-ul v respinge cerere de inserre.
Index-urile pot fi prcurse mult mi repede dect tbelele stndrd, dr crere
cestor este necesr pentru cheile primre pentru nu cre probleme de performn n cdrul
bzei de dte.
Constrngeri referenile
O constrngere referenil este o constrngere cre ntrete o relie ntre dou tbele
ntr-o bz de dte relionl. SGBD-ul verific n mod utomt dc orice vlore cheii
strine ntr-un tbel de tip copil re ntotdeun o coresponden cu o cheie primr din tbel
printe.
Constrngeri de integritte
Sunt constrngeri cre promovez curtee dtelor ntr-o bz de dte. Exemple: NOT
NULL, CHECK.
Constrngere de tipul NOT NULL reprezint fptul c n cdrul cmpului respectiv
trebuie s existe o vlore definit, nu se ccept o vlore nul.
12
n momentul proiectrii unei bze de dte relionle, este comun c l nceput s fie
probleme de redundn dtelor i nomlii le cestor. Pentru scde numrul cestor
probleme de redundn i nomlii designerii de bze de dte utilizez un procedeu numit
normlizre.
Normlizre nsemn trecere bzei de dte printr-o serie de etpe cre evluez i
corectez structur tbelelor. Normlizre este procesul esenil de orgnizre dtelor n
cdrul unei bze de dte pentru crete consisten i integritte dtelor.
Dtele redundnte ocup spiu i consum timp. Dc dtele exist ntr-o tbel i este
necesr modificre lor, modificrile trebuie fcute n celi fel n tote tbelele ce conin
dtele respective. Dc modificre cestor dte nu este fcut n mod corect v cuz
inconsisten dtelor din bz de dte, cee ce duce l neconcordne ntre tbele (de exemplu:
un client pote ve mi multe drese, un singur fiind ce corect). Dtele redundnte sunt o
meninre pentru integritte dtelor dintr-o bz de dte.
Pentru se fce normlizre unei bze de dte, este necesr trecere cestei prin mi
multe stgii numite Forme Normle(FN). Primele trei stgii sunt: prim form norml (FN1),
dou form norml (FN2) i trei form norml (FN3). Din punct de vedere structurl FN2
este mi bun dect FN1 ir FN3 este mi bun dect FN2. Pentru mjoritte nevoilor n
design-ul de bze de dte l nivel business FN3 reprezint grdul de normlizre suficient.
ceste trei tipuri de forme normle u fost introduse iniil de ctre E.F. Codd ntr-o
lucrre ce descrie bzele de dte relionle publict n nul 1970, cest definit primele trei
tipuri de forme normle, FN1, FN2, FN3. n nii ce u urmt, Codd lturi de li cercettori u
descoperit lte tipuri de nomlii i u cret forme normle diionle ce rezolv ceste nomlii.
dr u prut FNBC (form norml Boyce-Codd), ptr form norml (FN4), cince
form norml (FN5), fiecre dintre ceste oferind un nivel superior de protecie mpotriv
nomliilor l modificre dtelor.
bi n nul 1981, fost scris o lucrre de ctre Ronld Fgin cre descri form
norml domeniu-cheie (DK/NF). Utiliznd cest ultim form norml se pote grnt c
bz de dte proiectt nu v ve nomlii l modificre dtelor.
O form norml definete o condiie supr unui set de dependene de dte su
constrngeri semntice cre fost specifict c fcnd prte dintr-o schem unei bze de dte.
cest condiie este utilizt pentru verific dc proiectul bzei de dte re proprieti
dezirbile, ins, dc cest nu este czul, tunci se pot utiliz formele normle pentru
trnsform cev proiectt eront ntr-un proiect echivlent, dr de dt cest corect proiectt.
13
Relie
Nenormlizt
Eliminre tributelor
pril depedente
dou form
norml
Eliminre tributelor
trnzitiv depedente
trei form
norml
plicre formelor
normle diionle
Relie complet
normlizt
14
Orgnizre este genert de procesul de normlizre, fcnd, n cest fel munc tuturor
celor implici ntr-un proiect mi uor (de l utiliztorul ce ccesez bz de dte pn l
dministrtorul bzei de dte cre este responsbil cu dministrre fiecrui obiect din cdrul
cestei). Redundn dtelor este redus, cee ce simplific structurile de dte si conserv spiu
pe disc. Deorece informiile duplicte sunt minimizte su eliminte complet, posibilitte
priiei unor inconsistene de dte este redus simitor.
Dc o bz de dte fost normlizt corespunztor i sprt n tbele mi mici, cest
v oferi mi mult felxibilitte din punct de vedere l modificrilor structurle ce pot fi duse.
Este mult mi uor de modifict un tbel de dimensiuni reduse ce conine informii puine dect
un tbel mre ce conine multe informii.
Securitte este, de semene, mbuntit, n sensul c dministrtorul bzei de dte
pote permite cces l un numr limitt de tbele pentru numii utiliztori, securitte fiind mi
uor de controlt dup efecture normlizrii.
vntjul normlizrii v fi o bz de dte relionl proiectt corespunztor, cu tote
entitile identificte, dr i flexibil si uor de modifict din punct de vedere l bzei de dte dr
i l pliciei.
Produsul principl l fiecrui nivel de normlizre este crere de entiti ce ndeplinesc
numite criterii din punct de vedere l stocrii dtelor.
O bz de dte cre nu fost normlizt, tinde s genereze probleme din cuz
redundnei dtelor su dependenelor incorecte dintre dte prin intermediul reliilor de tipul
printe su copil.
15
1.7.4 Denormlizre
16
Pentru tinge ceste obiective, procesul de normlizre fce trecere prin pii necesri
pentru conduce n mod succesiv l forme normle de nivel mi nlt.
17
Un tbel este reprezentre prctic noiunii teoretice de relie (reli este o noiune
bstrct, cu sensul de mulime mtemtic).
Se construiesc dou tbele: unul pentru boni i unul pentru clieni prepy. Numele
tbelului v fi dt n conformitte cu dtele coninute. Totodt, n czul n cre tbelele se fl
n ceei schem, este necesr s ib nume diferite.
Tbelul pentru boni v conine numele, codul clientului, numr telefon, tipul de
bonment, servicii oferite (voce, sms, mms, video cll, internet, roming), cost, stre pli (l zi
su restnier), vechime n ree.
Cmpurile cod_client, numr_telefon, vechime_in_rete sunt de tip number, cmpurile
nume, prenume, tip_bonment, servicii oferite sunt de tipul vrchr2 deorece lungime cestor
tribute difer pentru fiecre client n prte i, n cest fel, spiul ocupt n mediul de stocre v
fi cel strict necesr fiecrui tuplu n prte, ir cmpul cost_suplimentr este de tipul deciml.
In cest sectiune se v exemplific relizre/crere tbelelor BONTI si
CLIENTI_PREPY.
stfel, tbel BONTI v fi lctuit din urmtorele tribute: Nume, Prenume,
Codul_Clientului, Numr_telefon, Tipul_de_bonment, Servicii_oferite, Cost, Stre_plti si
Vechime_in_rete.
18
Dup cum se vede sintx comenzii SQL este formt din cuvintele de bz crete
tble cre denot fptul c operti re c scop crere unei tbele. ceste cuvinte sunt urmte
de numele tbelei pe cre dorim s o crem. poi, intre prnteze urmez tributele (colonele)
tbelei crete, urmte de tipul dtelor inserte pentru cel tribut, ir dup tipul dtelor este
trecut optionl o constrngere, in cest cz cest este constrngere de not null, deorece
ne dorim c dtele introduse s nu ib vlore null.
Tipul de dte vrchr(n) este un sir de crctere de lungime vribil cu lungime
mxim de n bytes su crctere , spiul ocupt efectiv de cmpul corespunztor din tuplul
respectiv este exct numrul de crctere l numelui.S- les cest tip de dte pentru c dtele
introduse nu u o dimensiune stndrd (de ex. : nu toti bontii u numele formt din celsi
numr de litere , su nu tote bonmentele u celsi numr de crctere) si dtorit fptului c
pe lng cifre se pot folosi si litere in denumire obiectului introdus (de ex. : cod_client pote fi
reprezentt de o combintie de cifre si litere ).
19
Pentru popul tbel cre m cret-o mi susse execut instruciuni de tip insert,
specificndu-se tbel, colonele din tbel cre vor fi complette i vlorile pentru colonele
respective.Pentru inser mi multe rnduri n tbel cret nterior, m folosit instruciunile
urmtore:
insert ll
into bonti (nume, prenume, cod_client, numr_telefon, tip_bonment, servicii_oferite,
cost, stre_plti, vechime_rete) vlues ('ndreis', Vld' , '1111', '0760123456', 'XL',
'voce,sms,mms,internet', '10 euro', 'L zi', 60)
into bonti (nume, prenume, cod_client, numr_telefon, tip_bonment, servicii_oferite,
cost, stre_plti, vechime_rete) vlues ('Ion', 'Bogdn' , '1112', '0760151617', 'S',
'voce,sms,mms', '4 euro', 'L zi', 21)
into bonti (nume, prenume, cod_client, numr_telefon, tip_bonment, servicii_oferite,
cost, stre_plti, vechime_rete) vlues ('Popescu', 'ndrei' , '1113', '0768001122', 'XXL',
'voce,sms,mms,internet,roming', '15 euro', 'L zi', 30)
into bonti (nume, prenume, cod_client, numr_telefon, tip_bonment, servicii_oferite,
cost, stre_plti, vechime_rete) vlues ('Ionescu', 'Viorel' , '1114', '0765987654', 'M',
'voce,sms,mms,videocll', '8 euro', 'L zi', 40)
into bonti (nume, prenume, cod_client, numr_telefon, tip_bonment, servicii_oferite,
cost, stre_plti, vechime_rete) vlues ('Mite', 'lexndru' , '1115', '0764983428', 'XL',
'voce,sms,roming,internet', '11 euro', 'Restntier', 13)
into bonti (nume, prenume, cod_client, numr_telefon, tip_bonment, servicii_oferite,
cost, stre_plti, vechime_rete) vlues ('Lzr', 'Vld' , '1116', '0761888222', 'S',
'voce,sms,internet', '6 euro', 'Restntier', 12)
into bonti (nume, prenume, cod_client, numr_telefon, tip_bonment, servicii_oferite,
cost, stre_plti, vechime_rete) vlues ('Comn', 'Ctlin' , '1117', '0767232323', 'XXL',
'voce,sms,mms,internet,roming,video cll', '20 euro', 'L zi', 18)
into bonti (nume, prenume, cod_client, numr_telefon, tip_bonment, servicii_oferite,
cost, stre_plti, vechime_rete) vlues ('Popescu', 'Ionut' , '1116', '0768129341', 'M',
'voce,sms,mms,internet', '7 euro', 'Restntier', 36)
select 1 from dul
20
Pentru vizuliz cele 8 tupluri pe cre le-m dugt mi sus in tbel bonti vom
folosi urmtore instructiune:
21
22
Pentru vizuliz cele 8 tupluri pe cre le-m dugt mi sus in tbel client_prepy
vom folosi urmtore instructiune :
select * from clienti_prepy
25
supr celor 2 tbele pe cre le-m cret putem efectu diferite modificri : de exemplu
se pote dug un su mi multe colone l cele 2 tbele .dugre nu fectez n niciun fel
colonele dej existente le tbelei respective. n czul n cre se specific o vlore implicit
pentru colon nou dugt, tote tuplurile existente n tbel se vor complet cu vlore
implicit pentru colon nou dugt.
Se presupune c l tbel bonti se dorete introducere unor informii suplimentre
legte de dres de coresponden l cre s se trimit fcturile, de exemplu. Pentru cest, se
v dug o colon, dres l tbel bonti. Pentru exemplific, se v set c vlore
implicit Bucuresti i se v dug i constrngere not null.
26
27
28
2.2 Superchei
29
30
31
32
33
34
35
36
37
38
39
40
stfel tributul "tip_bonment" devine chei strin tbelei "bonti" cre refer tbel
"bonmente" prin tributul "tip_bonment" .L inserre unui nou tuplu n tbel bonti
(su l execui unui updte supr vlorii colonei tip_bonment unui tuplu din tbel
bonti ), se v verific dc vlore furnizt pentru tip_bonment este NULL su dc
se regsete printre vlorile colonei tip_bonment din tbel bonmente. n czul n cre
vlore furnizt nu este NULL (in czul nostru nu se pote introduce o vlore NULL pentru
c fost impus l inceput constrngere NOT NULL) i nici nu este regsit n vlorile
existente n colon tip_bonment din tbel bonmente, se v gener o erore i operi
de inserre v eu :
41
Se pote modific tipul bonmentului unui bont prin specificre unei vlori pentru
colon tip_bonment din tuplul corespunztor din tbel bonti . cest operie se
pote fce cu o instruciune de tip updte c mi jos :
updte bonti set tip_bonment='XXL' where numr_telefon=0760123456;
42
43
SELECT
INSERT
INPUT
UPDTE
DELETE
45
Opertorul LIKE cut intr-un sir de crctere (deorece tributul servicii_oferite este
de tip vrchr) . Opertorul LIKE folosit impreun cu %% v cut in sirul de crctere tote
cuvintele cre contin crcterele cuprinse intre semnele de procent ( % ) .
Vedere pentru tbelul bonti denumit roming_bonti2 se pote vizuliz
utiliznd instructiune :
select * from roming_bonti2
46
47
Pentru creere unei vederi cre s cuprind toti bontii/numerele pltesc peste o numit
sum vom proced in felul urmtor: pentru tbelul bonti se v cre o vedere pentru se
extrge numerele de telefon cre u un cost mi mre de 9 euro.
Instructiune SQL folosit este urmtore:
48
49
Bibliogrfie
1. Lbortor Bze de dte, Conf. Dr. Ing. Dn Gltchi
2. Curs Bze de dte, Conf. Dr. Ing. Dn Gltchi
3. Tutoril Tech_Yourself_SQL_in_21_dys_FULL
4. http://www.scritub.com/stiint/informtic/bze-de-dte/Construire-dedigrme-entit33387.php
50