Proiect Baze de Date 2
Proiect 2023-2024
Link-ul pentru alegerea proiectului se găsește pe TBA sau pe Teams > General > Files. (pentru a păstra modificările vă rugăm să editați direct și nu să descărcați o copie)
Cerințe proiect
Proiectul consta in proiectarea corecta a unei baze de date, popularea ei cu date si afisarea datelor via unei aplicatii/unor rapoarte.
Tema aplicației va fi aleasă de către student (până în săptămâna a 3-a)
Limbajul de programare pentru dezvoltarea aplicației este la alegere (ex. Python, Java, .Net, C/C++, etc.)
Proiectul este individual
NU se acceptă 2 proiect la fel. De exemplu, nu se vor accepta 2 proiecte pentru magazin virtual cu piese auto, dar se acceptă ca fiind proiecte diferite un magazin virtual de piese auto și un magazin virtual de automobile.
Îndrumătorul de laborator va valida proiectele pentru a se asigura că nu există duplicate
Proiectarea bazei de date
Sistemul de Gestiune a Bazei de Date (SGBD) va fi relațional, la alegere dintre Oracle SQL și Microsft SQL.
Baza de date trebuie să conțină minim 5 tabele (sistem relațional).
Baza de date trebuie să fie proiectată astfel încât să respecte modelul tipului de baza de date ales.
Se vor defini constrângeri de integritate pe structurile tabelare/colecții.
Pentru popularea cu date se vor crea scripturi de SQL.
Pentru rapoarte se vor crea proceduri (stocate) care vor genera aceste rapoarte.
Se consideră raport orice clauză SQL care are minim complexitate 4 și oferă o informație utilă pentru proiectul vostru. Se adaugă un punct de complexitate unei clauze simple, care are complexitate 0, (SELECT…FROM…) pentru fiecare clauză de JOIN, condiție de WHERE, clauză GROUP BY sau condiție HAVING. Exemplu: Voi face o aplicație de HR pe baza de date din laborator. Un raport îmi poate spune ce angajați pot fi promovați (au minim 6 luni în firmă și sunt ai unui manager care are buget și există suficient buget). NU este considerat raport aducerea tuturor angajaților cu managerii lor.
Proiectarea elementetor de afișare
Pentru rapoarte puteți folosi orice tool grafic doriți, în lab vi se va prezenta cum via Python / Microsoft PowerBI.
Pentru aplicații puteți să folosiți orice framework doriți, în lab vi se va prezenta via script Python .
În cazul amândurora nu aveți voie să chemați cod SQL sau procesa via ORM, doar chema proceduri stocate sau mapa structuri existente via ORM. Orice proiect care NU respectă această cerință primește 0 puncte.
Documentație
Documentația:
Se va scrie în ce doriți atâta timp cât se livrează un PDF
Va avea MAXIM 8 pagini (inclusive screenshots aplicație și diagrama bazei de date)
Exmplu formatare lizibilă: Font ARIAL de 10p, Textul va fi Justify, Nu se va folosi spațiere între linii,Identarea paragrafelor se va face cu un tab (4 spații)
Documentația va fi structurată astfel:
Prezentarea Proiectului
Proiectul va fi prezentat îndrumătorului de laborator unde este înscris studentul
Trebuie încărcată pe moodle o arhivă care să conțină:
Documentația
Codul sursă aplicație/rapoartelor
Scripturile necesare creării bazei de date și populării acesteia
Scripturile pentru funcții/proiceduri
README.txt pentru a face deploy local
Un video comentat cu un usecase al aplicatiei.
Arhiva va avea numele GrupaSeria_Nume_Prenume, ex. 341C3_Popescu_IonAndrei
DEADLINE: Arhiva se va încărca în duminica din penultima săptămână.
În ultima săptămână - Se va prezenta proiecul îndrumătorului de laborator unde sunteți repartizați.
Punctarea Proiectului (maxim 10p si are o pondere de 20% din nota finală)
[2p] Proiectarea corecta a bazei de date
[2p] Integritatea datelor introduse (constrângeri de integritate, trigger-e, scripturi de populare a datelor)
[1p] Documentația scrisă conform specificațiilor
[3p] Rapoartele
[1p] Un raport de complexitate minim 4
[1p] Un raport de complexitate minim 6
[1p] Un raport de complexitate minim 7
[2p] Utilizarea de rapoarte grafice/aplicații care afișază acele rapoarte
Alte Observații
Nu vor fi punctate interfețele, procedurile, funcțiile, triggerele sau rapoartele simple (de ex. o procedura care afișează userul și data pe ecran)
Se depunctează nefuncționarea corecta a aplicației