Sunteți pe pagina 1din 4

Sarcina pentru proiect de curs la BDC

Tema proiectului de curs: Proiectarea i implementarea bazei de date


Scopul proiectului: aprofundarea cunotinelor n domeniul teoriei i practicii proiectrii bazelor de
date relaionale i implementrii lor
Baza de date se va proiecta logic utiliznd metoda de sintez. Baza de date proiectat se va implementa
n SGBD MS SQL Server 2014. Datele iniiale pentru proiectare vor fi alese de ctre student de sinestttor
sau vor fi propuse de ctre profesor. Realizarea proiectului va conine cteva etape: proiectarea logica a BD,
Crearea BD n SQL, Crearea constrngerilor de integritate la BD, Interogarea BD, Administrarea BD realiznd
unele elemente de securitate i control al accesului la BD. ntreg procesul de realizare a proiectului va fi
ilustrat n scris ntr-un memoriu explicativ. Pentru susinere studentul va prezenta la control memoriul
explicativ, backup-ul BD, fiierele .mdf i .log ale BD, SQL script-ul tuturor comenzilor utilizate la
implementarea i interogarea BD (fiiere .sql).
Susinerea proiectului va avea loc n ziua stabilit din timp, n public, n fata comisiei. La susinere
studentul va prezenta succint rezultatele obinute printr-o prezentare la proiector, precum i va efectua
interogri nemijlocit n SQL la cererea profesorului.

1. Proiectarea logic a bazei de date


1.1. Analizai domeniul lumii reale pentru care va fi creat BD. Stabilii lista de atribute necesare de
utilizat. Se vor utiliza atribute cu o gama larga de domenii, astfel ca sa fie posibila formularea a diverse tipuri
de interogri (vezi n sarcinile urmtoare).
1.2. Descrierea atributelor
Descriei semnificaia fiecrui atribut care va fi utilizat n BD. Stabilii tipul atributelor. Numele reale
de atribute, numele lor codificate (vezi p.1.4), semnificaia atributelor i tipul lor vor fi prezentate ntr-un
tabel. Atributele care descriu aceeai entitate vor fi grupate i reprezentate n tabel alturi.
Cod atribut
A
B
C
D

Nume atribut
NumeStud
NumeProf
IdCurs
AdmisExam

Descriere atribut
Numele studentului nrolat la cursul respectiv
Numele profesorului care preda cursul
Identificator unic al cursului
Starea admis sau nu a studentului la examen

Tip Atribut
Text
Text
Numr
Logic Da/Nu

1.3. Stabilirea dependenelor funcionale ntre atribute


Stabilii mulimea de dependene funcionale valide ntre atributele BD. Aici atributele se vor scrie prin
numele lor. Semnul depermin funcional fa fi reprezentat prin ->.
F={IdCurs->Nume Prof, .........}
1.4. Codificarea atributelor
Pentru a uura descrierea procesului de proiectare logic, atributele vor fi codificate prin literele
majuscule ale alfabetului latin A-Z.. Nu se vor utiliza pentru codificare literele F, E, J, K, R, Q.
Reprezentai mulimea de dependene funcionale obinut la pasul precedent prin atribute codificate.
F={C->B, ......}
1.5. Sinteza schemei BD
Utiliznd mulimea de dependente funcionale cu atribute codificate din punctul precedent, proiectai
BD cu ajutorul algoritmului de sinteza. Atributul introdus de dependena artificial se va marca prin Q.
Descriei fiecare pas al algoritmului. Artai explicit rezultatele intermediare i finale n lucrul
algoritmului:
mulimile F de dependente dup fiecare pas al algoritmului;

clasele de echivalen E iniiale, modificate, finale;


mulimea suplimentar J la diferite etape;
schemele finale Ri obinute i mulimea de chei Ki pentru fiecare schem.
Facei succint o analiz a rezultatului obinut n urma sintezei, descriei momentul legat de proprietatea
jonciunii fr pierderi (dac dependena artificial R->Q introdus n mulimea iniial de dependene i-a
jucat rolul sau nu).
Artai explicit schema BD proiectate cu mulimile de chei ale fiecrei relaii.
BD={
R1=ABC, K1={A,B},
R2=.....................}
1.6. Decodificarea atributelor
Decodificai numele de atribute din litere n nume reale, conform tabelului de codificare pe care l-ai
creat mai sus. Dai nume relaiilor obinute. Artai explicit schema decodificat obinut a BD cu atributele
marcate prin numele lor real.
BD={
(examinare(IdStud, IdProf, IdCurs), K={IdStud,IdCurs}),
.....................................................................................}
1.7. Descrierea asocierilor ntre relaii
Descriei prin text asocierile care exist ntre relaiile BD obinute. Scriei ordinea n care pot fi
nserate tuplurile n relaiile BD.

2. Implementarea bazei de date n SQL


BD proiectat n capitolul precedent va fi implementat n SQL Server 2014, doar cu utililzarea
comenzilor T-SQL.
La crearea obiectelor noi n BD, inclusiv a insi BD, se va face controlul daca acest obiect nu exist
deja.
Daca obiectul deja exist, se va terge cel vechi i se va crea unul nou. Astfel, tot codul T-SQL scris
pentru crearea, popularea (actualizarea), interogarea i administrarea BD va fi lansat printr-un singur clic.
2.1. Crearea bazei de date noi n T-SQL
Creai BD n T-SQL. Setai locul amplasrii fizice a BD (diferit de cel implicit), stabilii dimensiunile
i limitele de cretere a fiierelor primare i log ale BD.
2.2. Crearea relaiilor n T-SQL
Creai prin T-SQL relaiile BD. Stabilii corect tipurile atributelor.
2.3. Crearea constrngerilor de integritate de domeniu, de tuplu, de relaie, de baza de date.

Crearea cheilor primare concomitent cu indecii cluster, a cheilor secundare;

Stabilirea valorilor implicite (DEFAULT), valorilor nenule (NOT NUL);

Stabilirea constrngerilor prin CHEK.

Alctuii o constrngere multirelaie asupra bazei de date. Creai n SQL un declanator, care ar
urmri satisfacerea acestei constrngeri pentru fiecare tuplu nserat sau ters.

2.4. Crearea cheilor externe


Sa se modifice (ALTER TABLE) relaiile create pentru crearea cheilor externe (ADD CONSTRAINT).
Constrngerilor create li se va da un nume. Stabilii opiunile pentru tratarea corespunztoare a integritii
refereniale n caz de tergere a tuplurilor sau actualizare a relaiilor.

2.5. Crearea diagramei BD


Creai diagrama BD. Dac cheile primare, secundare i externe au fost setate corect, asocierile ntre
relaii n diagram vor fi create automat. Salvai diagrama creat i includei-o n memoriu.
2.6. Popularea cu tupluri a relaiilor BD
Completai cu tupluri relaiile BD (minimum cte 10 n fiecare relaie) prin comenzi T-SQL. Relaiile
completate se vor nsera n memoriul explicativ.
2.7. Crearea schemelor BD
Creai 2 scheme noi n BD. Transferai prin T-SQL relaiile din schema implicit dbo n schemele noi
create.
2.8. Crearea utilizatorilor
Creai n SQL 2-3 utilizatorii, cu login-urile i rolurile respective. Stabilii schemele implicite pentru
utilizatorii creai. Acordai utilizatorilor careva privilegii pentru acces i stabilii interdicii la anumite scheme
sau obiecte ale bazei de date.
Logai-va cu numele utilizatorilor creai. Artai exemple de operaii n BD pe care utilizatorii le pot
sau nu le pot face datorit setrilor de securitate.
2.9. Crearea viziunilor
Creai 2 viziuni, fiecare bazat pe relaiile unei scheme anumite. Utilizai opiunile CHECK OPTION
i SCHEMA BINDING. Aducei exemple de tratare a acestor opiuni de ctre sistem.
2.10. Crearea sinonimelor
Pentru relaiile BD i pentru alte obiecte ale BD se vor crea sinonime, care se vor utiliza n interogrile
ulterioare n locul numelui deplin numeBD.numeSchem.NumeRelaie.

3. Interogarea bazei de date


Pentru toate interogrile de selecie, de actualizare i de tergere a tuplurilor n memoriul explicativ se
va formula mai nti textul interogrii, apoi codul SQL, apoi se va arat rezultatul interogrii. Unele interogri
din cele enumerate mai jos se pot regsi n instruciunile de creare a viziunilor, in procedurile stocate sau n
condiiile WHERE ale structurilor de actualizare condiionat a relaiilor.
3.1. Crearea interogrilor ce exprim operaiile algebrei relaionale
S se scrie interogri de selecie (cte una din fiecare categorie) ce exprim operaiile de :
uniune,
intersecie,
diferen,
produs cartezian,
complement activ,
jonciune teta,
jonciune natural,
jonciune externa (cte una de fiecare tip),
semijonciune,
divizare.
3.2. Crearea interogrilor cu funcii de agregare
S se scrie 3 interogri care n ansamblu ar utiliza toate funciile de agregare (MIN, MAX, AVG, SUM,
COUNT).

3.3. Crearea interogrilor cu grupare


S se scrie 2 interogri cu grupare, una unirelaie i una multirelaie (inclusiv cu WHERE, HAVING)
3.4. Subinterogri
S se scrie interogri cu subinterogri (cu operatori de comparare, cu operatorii IN, ALL, ANY,
EXIST). Careva din ele s fie corelate.
3.5 Subinterogri n alte locuri dect clauza WHERE
S se scrie cte o instruciune cu subinterogare, unde subinterogarea o gsim n alte locuri dect n
clauza WHERE.
3.2. Crearea interogrilor de actualizare a relaiilor
S se scrie cte 2 interogri de tergere condiionat i actualizare condiionat a tuplurilor unor relaii.
Condiiile vor conine subinterogri, una unirelaie (cu agregare sau grupare), alta multirelaie.
3.3. Crearea procedurilor stocate
S se creeze 2 proceduri stocate n baza interogrilor multerelaie create anterior.
Atenie!
Exemplul aratt n fiierul ExempleProiect.doc este doar pentru o orientare general.
n proiectele lor studenii vor respecta cerinele formulate n acest document.

S-ar putea să vă placă și