asistenta intocmire orar

Download Asistenta intocmire orar

Post on 16-Dec-2015

29 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Proiect de licenta ce prezinta o aplicatie de asistenta la intocmirea orarului pentru facultate.

TRANSCRIPT

  • Universitatea Politehnica din Bucureti Facultatea de tiine Aplicate

    Specializarea Matematic i Informatic Aplicat

    Aprobat, Decan:

    Prof. Univ. Dr. Vasile Iftode

    Proiect de diplom

    Gestionarea resurselor umane i de timp folosind programarea orientat

    obiect i un SGBD

    Coordonator tiinific:

    Lect. Dr. Tiberiu Vasilache Absolvent:

    Olteanu A. Alexandru

    Bucureti 2014

  • Olteanu Alexandru 2

    Cuprins

    Introducere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    1. Baze de date 6

    1.1 Scurt istoric despre bazele de date. . . . . . . . . . . . . . . . . . . . . . . . . . 6

    1.2 Teoria bazelor de date de tip relaional. . . . . . . . . . . . . . . . . . . . . . . . 7

    1.2.1 Elemente de baz ale modelului relaional. . . . . . . . . . . . . . . . . . . 8

    1.2.2 Restricii ale modelului relaional. . . . . . . . . . . . . . . . . . . . . . . 11

    1.2.3 Procedeul de normalizare al relaiilor . . . . . . . . . . . . . . . . . . . . . 12

    1.2.3.1 Prima form normal (NF1) . . . . . . . . . . . . . . . . . . . . . . . 12

    1.2.3.2 A doua form normal (NF2) . . . . . . . . . . . . . . . . . . . . . . 13

    1.2.3.3 A treia form normal (NF3) . . . . . . . . . . . . . . . . . . . . . . 13

    1.2.3.4 Form normal Boyce-Codd(BCNF). . . . . . . . . . . . . . . . . . . 14

    1.2.3.5 A patra form normal (NF4) . . . . . . . . . . . . . . . . . . . . . 14

    1.2.3.6 A cincea form normal (NF5) . . . . . . . . . . . . . . . . . . . . . 14

    1.3 Sistem de gestiune al bazelor de date:PostgreSQL . . . . . . . . . . . . . . . . . . . 15

    1.3.1 Manipularea bazelor de date. Limbajul SQL . . . . . . . . . . . . . . . . . . 15

    1.3.1.1 Construirea i crearea relaiilor . . . . . . . . . . . . . . . . . . . . . . 17

    1.3.1.2 Interogarea bazei de date . . . . . . . . . . . . . . . . . . . . . . . . . 19

    1.3.1.3 Popularea bazei de date . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    1.3.1.4 tergerea valorilor din baza de date . . . . . . . . . . . . . . . . . . . 21

    1.3.1.5 Actualizarea valorilor din baza de date . . . . . . . . . . . . . . . . . . 22

    1.3.1.6 Subinterogri ale relaiilor . . . . . . . . . . . . . . . . . . . . . . . . . 22

  • Olteanu Alexandru 3

    2. Programare orientat obiect. JAVA 24

    2.1 Java noiuni indroductive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.2 Structura limbajului Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    2.2.1 Operatori i literali n Java. . . . . . . . . . . . . . . . . . . . . . . . . . 25

    2.2.2 Declararea i iniializarea variabilelor. . . . . . . . . . . . . . . . . . . . . 27

    2.2.3 Vectori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    2.2 Programare orientat obiect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    2.3.1 Obiecte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    2.3.2 Clase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    2.3.2.1 Clasa Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    2.3.3 Excepii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    2.3.4 Pachete standard n Java . . . . . . . . . . . . . . . . . . . . . . . . . . 33

    2.3.5 Gestionarea i generarea interfeei grafice cu utilizatorul . . . . . . . . . 34

    2.3.5.1 JPanel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

    2.3.5.2 JLabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    2.3.5.2 JButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    2.3.5.3 JComboBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    2.3.5.4 JTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    2.3.6 Conexiunea la o baz de date (JDBC) . . . . . . . . . . . . . . . . . . . . 37

    2.3.6.1 DAO (Data acces objet) . . . . . . . . . . . . . . . . . . . . . . . . 38

    2.3.6.2 Interfee SQL n Java . . . . . . . . . . . . . . . . . . . . . . . . . 38

    2.3.6.2.1 Interfaa Statement . . . . . . . . . . . . . . . . . . . . . . . . . 38

    2.3.6.2.2 Interfaa PreparedStatement . . . . . . . . . . . . . . . . . 39

  • Olteanu Alexandru 4

    2.3.6.2.3 Interfaa ResultSet . . . . . . . . . . . . . . . . . . . . . . 40

    3 Aplicaia de asistena de ntocmire a orarului 41

    3.1 Descrierea aplicaiei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    3.2 Structura bazei de date . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

    3.2.1 Prezentarea tabelelor . . . . . . . . . . . . . . . . . . . . . . . . . . 43

    3.3 Programare Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    3.3.1 Pachetul DB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    3.3.2 Pachetul OrarDAO. . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    3.3.3 Pachetul UserInterface(UI) . . . . . . . . . . . . . . . . . . . . . . 53

    3.4 Anexe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    3.4.1 Structura scriptului bazei de date. . . . . . . . . . . . . . . . . . . 58

    3.4.2 Codul Java pentru pachetul DB. . . . . . . . . . . . . . . . . . . . 63

    3.4.3 Codul Java pentru pachetul OrarDAO . . . . . . . . . . . . . . . . 65

    3.4.3 Codul Java pentru UI . . . . . . . . . . . . . . . . . . . . . . . . . 70

    Bibliografie 76

  • Olteanu Alexandru 5

    Introducere

    Bazele de date au devenit n ultimii ani o parte indispensabil din viaa noastr de zi cu zi i asta datorit dezvoltrii uriae a tehnologiei informaionale. n urma cu civa ani datele de orice fel erau stocate fizic, n dosare i rafturi greu de gestionat. n prezent tehnologia ieftin i cu o putere de calcul remarcabil, a condus la implementarea bazelor de date pentru foarte multe activiti cotidiene i nu numai. Sigurana datelor i uurina cu care sunt manipulate ntr-un sistem de gestiune sunt principalele atuuri ale unei baze de date.

    Nevoia de aplicaii care s prelucreze un volum mare de date, sigur i rapid este n cretere. Astzi, aplicaiile de acest gen le putem ntlni la tot pasul, fie c vorbim de o gestiune a resurselor umane pe diferite criterii ntr-o organizaie, fie de gestiunea sistemelor bancare i a plilor online, fie de organizarea caledarului personal pentru urmatorul an.

    Scopul lucrrii este de a crea o aplicaie cu ajutorul programrii orientate pe obiect i a unui sistem de gestiune al bazelor de date, care sa ofere asisten n generarea i ntocmirea orarului. Publicul int este bine definit, acesta fiind format din secretariatele facultailor care, pe baza planului de nvamnt, trebuie sa programeze ore pentru fiecare formaiune de studiu, s aloce un interval orar i un loc de desfaurare al cursurilor.

  • Olteanu Alexandru 6

    Ca