Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Baze de date


Qdidactic » stiinta & tehnica » informatica » baze de date
Proiectarea bazelor de date - gestiunea studentilor bursieri la facultate



Proiectarea bazelor de date - gestiunea studentilor bursieri la facultate


Universitatea Dunarea de Jos Galati - Facultatea de Stiinta Calculatoarelor


Tema de Proiect


Cerinte


Gestiunea studentilor bursieri la facultate.

Aplicatia va cuprinde minim:

3 tabele,

cel putin cate o functie de adaugare, cautare, afisare, stergere si modificare

cel putin o functie pentru lucrul cu mai multe tabele

cel putin un raport



Analiza problemei


Comform regulamentului in vigoare la nivelul Universitatii Dunarea de Jos Galati, exista trei tipuri de burse, disponibile studentilor. Acestea se acorda pe baza unor reguli clare pe care le voi enumera in continuare.


Bursa de merit



Se acorda studentilor  integralisti care au media generala peste 9.00. Media se actualizeaza dupa fiecare an de studiu.


Bursa de studiu

Se acorda studentilor integralisti care au media generala peste 8.00. Media se actualizeaza dupa fiecare an de studiu.


Bursa sociala

Se acorda studentilor cu o situatie materiala scazuta. De asemenea, nu prevede conditia ca studentul sa fie integralist. Conditia principala este ca in familia studentului sa nu se realizeze un venit mai mare de 400 RON per membru de familie.


Un numar maxim fix de burse este alocat fiecarei facultati in functie de numarul de studenti si de plafonul financiar disponibil pentru intreaga Universitate.

In functie de tipul bursei, pentru fiecare in parte este stabilita o suma fixa, o data pe an.



Proiectare la nivel Conceptual




Entitatile aplicatiei:


Facultatea

Aceasta entitate poate fi descrisa prin mai multe attribute cum ar fi:

numar de studenti

specializari

grupe


Studentul

Atributele entitatii:

nume

cod numeric personal

specializarea la care studiaza

anul de studio

media generala

venitul studentului


Bursa bursier)

Atributele entitatii:

conditii de acordare

tipul de bursa


Asocieri intre entitati

Modelul Entitate -Asociere Extins permite definirea de subtipuri ale unui tip de entitati, care mostenesc atribute de la tipul de entitate pe care il extind (si care, in acest context, se numeste supertip) si au in plus atribute specifice semnificatiei lor. Prin definirea tipurilor si a subtipurilor de entitati se pot crea ierarhii de tipuri de entitati pe mai multe niveluri. Modelul Entitate-Asociere Extins se reprezinta printr-o diagrama E-A extinsa.

Studentul apartine unei facultati si este inscris la o anumita specializare intr-o anumita grupa. Studentul care indeplineste conditiile de acordare a unui anumit tip de bursa si se incadreaza in numarul maxim de locuri disponibile, este automat bursier.

Bursele se acorda ca urmare a unor conditii pe care studentul trebuie sa le indeplineasca. De asemenea numarul burselor depinde de numarul de studenti ai facultatii.

Asocierile dintre multimile de entitati se stabilesc in functie de modul in care se desfasoara activitatea modelata. De exemplu, daca in facultatea respectiva fiecare student invata intr-o singura specializare, atunci intre multimile de entitati Facultate-Studenti exista o asociere 1:N.

Pentru tipul Student se defineste o specializare disjuncta partiala, cu subtipurile Bursier social, Bursier merit si Bursier . Aceste subtipuri se afla in asociere 1:1 cu tipul de baza Student, mostenesc atributele acestuia si fiecare mai contine atribute specifice:

Bursier social(Venitul)

Bursier de studiu(Media generala)

O multime de entitati slabe se afla, de regula, in asociere N:1 cu multimea de entitati puternice de care depinde. In exemplul dat, intre multimea Bursieri si multimea de entitati Studenti exista o asociere N . O multime de entitati de un subtip dat este, de regula, in asociere 1:1 cu multimea de entitati de supertipul acesteia. Pentru exemplul de mai sus, un student poate fi un (singur) bursier; iar un bursier este chiar un student, deci asocierea intre multimile de entitati Student si Bursier exista o asociere cu raportul de cardinalitate 1:1.







































Proiectare la nivel logic




Modelul relational:






Am preferat sa fac o diferentiere clara intre burse in prezentarea modelului relational, desi in implementare voi folosi o singura tabela pentru a detalia conditiile de acordare ale burselor.


Datorita faptulului ca nu am reusit sa obtin informatii veridice cu privire la numarul exact de burse disponibile pentru fiecare tip in parte sau metodologia de calculare la nivelul Universitatii voi alege valori arbitrare pentru aceste variabile ale tabelei Bursa.







































Proiectarea la nivel Fizic



Pentru crearea bazei de date si introducerea inregistrarilor in tabele am creat documentul “Instructiuni Creare BD”. Acesta contine un set de comenzi sql, cu ajutorul carora se poate crea baza de date si cuprinde si cele 60 de inregistrari de studenti.

Continut:


//crearea bazei de date si a tabelelor


CREATE DATABASE fscb;

CREATE TABLE STUDENT (nume VARCHAR(40), CNP VARCHAR(30), Cod_Spec VARCHAR(5), Medie DECIMAL (2,2) An INTEGER(1), Venit INTEGER(3));

CREATE TABLE FACULTATE (Cod_Spec VARCHAR(5), Nr_Grupe INTEGER(2), Nr_Stud INTEGER(3));

CREATE TABLE BURSE (Tip VARCHAR(10), Medie DECIMAL(2,2), Nr_Burse INTEGER(2), Venit_P INTEGER(3), Suma INTEGER(4));


//adaugarea de inregistrari in FACULTATE


INSERT INTO FACULTATE ('Aut', 10, 30);

INSERT INTO FACULTATE ('Cti', 11, 30);


//adaugarea de inregistrari in BURSE


INSERT INTO BURSE ('Merit', 9.00, 8, NULL, 350);

INSERT INTO BURSE ('Studiu', 8.00, 7, NULL, 250);

INSERT INTO BURSE ('Sociala', NULL, 10, 400, 200);


//adaugare de inregistrari in STUDENT


INSERT INTO STUDENT VALUES ('BOLOCAN COSMIN', '18628091234', 'Cti' 7.80, 3, 260);

INSERT INTO STUDENT VALUES ('MIHNEA LUCIAN', '18621091234', 'Cti' 7.30, 3, 500);

INSERT INTO STUDENT VALUES ('ANTONIU C. SILVIU CEZAR', '18628091234', 'Cti' 8.80, 3, 500);

INSERT INTO STUDENT VALUES ('ARTENI C. DRAGOS CATALIN', '18628061234', 'Cti' 6.20, 3, 500);

INSERT INTO STUDENT VALUES ('AVADANII I. IOAN VALENTIN', '18620061234', 'Cti' 7.20, 3, 230);

INSERT INTO STUDENT VALUES ('BEJAN I. FLORIN', '18627061234', 'Cti' 9.20, 3, 500);

INSERT INTO STUDENT VALUES ('BOERU I. ALEXANDRU FLORIAN', '18528061234', 'Cti' 7.15, 4, 500);

INSERT INTO STUDENT VALUES ('BULBOACA GH. MARIAN', '18515061234', 'Cti' 8.20, 4, 500);

INSERT INTO STUDENT VALUES ('CHITARU E. CRISTIAN', '18523071234', 'Cti' 7.20, 4, 240);

INSERT INTO STUDENT VALUES ('CUSTURA N. MIOARA ALINA', '18528061234', 'Cti' 7.90, 4, 500);

INSERT INTO STUDENT VALUES ('DIACONU M. MARINEL DANIEL', '18518061234', 'Cti' 6.30, 2, 500);

INSERT INTO STUDENT VALUES ('DINU GH. ALEXANDRU', '18728061234', 'Cti' 9.30, 2, 500);

INSERT INTO STUDENT VALUES ('DOBRE ST.S. CRISTINA MADALINA', '18721111234', 'Cti' 6.50, 2, 500);

INSERT INTO STUDENT VALUES ('DOBRI O. CRISTINA', '18703061234', 'Cti' 8.00, 2, 500);

INSERT INTO STUDENT VALUES ('DORIN G. GEORGE CRISTIAN', '18708061234', 'Cti' 7.20, 2, 280);

INSERT INTO STUDENT VALUES ('DOROBANTU C. ANDREI IONUT', '18720051234', 'Cti' 7.50, 2, 500);

INSERT INTO STUDENT VALUES ('DULGHERU P. MIHAITA', '18712021234', 'Cti' 6.26, 2, 500);

INSERT INTO STUDENT VALUES ('FLOREA M. OCTAVIAN', '18725031234', 'Cti' 9.80, 2, 500);

INSERT INTO STUDENT VALUES ('GALITA GH. CATALIN MARIAN', '18721081234', 'Cti' 7.50, 2, 500);

INSERT INTO STUDENT VALUES ('GIBU I. DAN IONUT', '18718111234', 'Cti' 5.70, 2, 500);

INSERT INTO STUDENT VALUES ('GURAU S. ADRIAN IULIAN', '18918061234', 'Cti' 6.20, 1, 500);

INSERT INTO STUDENT VALUES ('IONESCU I. MARIAN IONUT', '18928061234', 'Cti' 6.20, 1, 500);

INSERT INTO STUDENT VALUES ('IRIMIA GH. IONUT', '18908061234', 'Cti' 8.20, 1, 500);

INSERT INTO STUDENT VALUES ('IROFTE C. DUMITRU DANIEL', '18917061234', 'Cti' 6.20, 1, 500);

INSERT INTO STUDENT VALUES ('ISAIEA A. IONUT CATALIN', '18828091234', 'Cti' 6.20, 1, 500);

INSERT INTO STUDENT VALUES ('KISS P. PAVEL', '18828051234', 'Cti' 6.20, 1, 190);

INSERT INTO STUDENT VALUES ('LACATUS C. MIOARA', '18828041234', 'Cti' 6.20, 1, 500);

INSERT INTO STUDENT VALUES ('LEONTE C.I. SILVIA OANA', '18828011234', 'Cti' 6.20, 1, 500);

INSERT INTO STUDENT VALUES ('LULEA V. GEORGE', '18828121234', 'Cti' 9.20, 1, 500);

INSERT INTO STUDENT VALUES ('LUPU T. GABRIEL', '18828101234', 'Cti' 6.20, 1, 500);

INSERT INTO STUDENT VALUES ('BEGA M DANIEL', '18818101454', 'Aut' 9.20, 1, 500);

INSERT INTO STUDENT VALUES ('CARCEL S. EUGENIA', '18828105204', 'Aut' 9.30, 1, 500);

INSERT INTO STUDENT VALUES ('CHIRILA P. IOANA', '18828101264', 'Aut' 9.10, 1, 500);

INSERT INTO STUDENT VALUES ('COBELEA I. STEFAN VALENTIN', '18728100034', 'Aut' 6.80, 2, 500);

INSERT INTO STUDENT VALUES ('CRISTESCU I. OANA PETRUTA', '18828106734', 'Aut' 6.20, 1, 500);

INSERT INTO STUDENT VALUES ('CURDUMAN V. ANDREI', '18828109434', 'Aut' 7.20, 1, 500);

INSERT INTO STUDENT VALUES ('DAVID D. ALEXANDRA MIHAELA', '18828101234', 'Aut' 7.50, 1, 500);

INSERT INTO STUDENT VALUES (' DIACONU T. IONUT VALERIU', '18828101984', 'Aut' 5.20, 1, 500);

INSERT INTO STUDENT VALUES ('DOBRESCU N.M. DAN', '18828108234', 'Aut' 7.80, 1, 500);

INSERT INTO STUDENT VALUES ('DROBOTA L. REMUS MIHAI', '18828109864', 'Aut' 6.20, 1, 500);

INSERT INTO STUDENT VALUES ('EPURE A. CRISTIAN GEORGE', '18628108334', 'Aut' 9.90, 3, 500);

INSERT INTO STUDENT VALUES ('FEICAN I. NICOLETA', '28828101250', 'Aut' 6.20, 1, 500);

INSERT INTO STUDENT VALUES ('GALANOPULO M. VICENTIU', '18726109534', 'Aut' 8.20, 2, 500);

INSERT INTO STUDENT VALUES ('GRADEA P. MARIAN STEFAN', '18728209284', 'Aut' 8.50, 2, 500);

INSERT INTO STUDENT VALUES ('HAGIU D. IONELA', '18728109534', 'Aut' 7.20, 2, 100);

INSERT INTO STUDENT VALUES ('LAVRE C. CRISTIAN', '18728101234', 'Aut' 6.20, 2, 250);

INSERT INTO STUDENT VALUES ('LIHOR GH. IULIAN FLORIN', '18728101234', 'Aut' 7.20, 2, 180);

INSERT INTO STUDENT VALUES ('LOVIN N. ELENA', '28728101754', 'Aut' 5.20, 2, 500);

INSERT INTO STUDENT VALUES ('MAFTEI AL. FLORENTINA IUSTINA', '18728109462', 'Aut' 7.90, 2, 500);

INSERT INTO STUDENT VALUES ('MARINESCU V.A. VALERIU', '18728108754', 'Aut' 6.20, 2, 500);

INSERT INTO STUDENT VALUES ('MIHAI M. ANAMARIA', '18628101944', 'Aut' 7.20, 3, 210);

INSERT INTO STUDENT VALUES ('MINDRU I. IONELA', '28628101664', 'Aut' 8.80, 3, 500);

INSERT INTO STUDENT VALUES ('MIU ST. MIMI CATALINA', '28628103334', 'Aut' 8.20, 3, 500);

INSERT INTO STUDENT VALUES ('MOCANU M. GEORGE ADRIAN', '18628105534', 'Aut' 6.20, 3, 165);

INSERT INTO STUDENT VALUES ('NICULITA D. ALEXANDRU', '18628100034', 'Aut' 8.60, 3, 500);

INSERT INTO STUDENT VALUES ('PANAIT P. DRAGOS MARIAN', '18628107529', 'Aut' 6.20, 3, 500);

INSERT INTO STUDENT VALUES ('PETROIU Z. IULIAN', '18526103234', 'Aut' 8.20, 4, 500);

INSERT INTO STUDENT VALUES ('REBEGEA GH. CRISTINA', '18524104234', 'Aut' 5.20, 4, 500);

INSERT INTO STUDENT VALUES ('SECARA S.L. MIRCEA', '18518101534', 'Aut' 6.20, 4, 190);

INSERT INTO STUDENT VALUES ('TARALA E. VALENTIN', '18521101254', 'Aut' 7.20, 4, 500);


Pentru implementarea acestui proiect am decis sa folosesc limbajul de programare Java, mai exact, pachetul JDBC. Am implementat in codul sursa functii de adaugare, raport, cautare, afisare, stergere si modificare.

Codul programului si explicatiile aferente:


import java . sql .*;


public class TestBursa


//Adaugare sectie in Facultate


public void add1()


//Adaugare tip de bursa


public void add2()


//Adaugare student


public void add3()


//Afisare burse de merit


public void afbm()

}


//Afisare burse de studiu


public void afbs()

}


//Afisare burse sociale


public void afbs2()

}


//Cautare si afisare student dupa CNP


public void cauta()

}



// Calcularea mediei generale pe facultate


public void medie()


//Modificarea unei inregistrari


public void mod()


//Testarea functiilor


public static void main ( String [] args )

catch(ClassNotFoundException e)

try


//Testare adaugari

add1();

add2();

add3();


//Testare modificare

mod();


//Testare cautare

cauta();

medie();


//Testare stergere

delete();


//Testare afisari

afbm();

afbs();

afbs2();


// Inchidem conexiunea

con.close();

}

catch (SQLException e)



Din pacate, desi am schitat o interfata grafica, folosind pachetul JFrame si am adaugat elementele necesare, nu am reusit sa adaptez codul de mai sus pentru a o putea folosi.

Atasez totusi si varianta “curata” a interfetei grafice, fara nici un fel de modificare.

Codul sursa al interfetei:


import java.awt.*;

import java.awt.event.*;

import java.io.*;

import java.util.*;

import java.applet.*;


public class MyFrame extends Frame


void setParameters( Component c,int fr,int fg,int fb,int br,int bg,int bb,String font,int style,int size)

catch (Exception e)

}


public Image loadImage(String fileName)


public int StrToInt(String s)


public String IntToStr(int i)


public MyFrame()


public static void main(String args[])public void userInits(){



Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright