Gestionarea Resurselor Umane
TEMA LUCRĂRII
GESTIONAREA RESURSELOR UMANE
CUPRINS
ARGUMENTAREA TEMEI
Prezentarea temei
Lucrarea de disertație oferă o analiză a modalităților practice de utilizare a instrumentelor informatice pentru elaborarea sistemelor de gestionare a resurselor umane dintr-o organizație.
Karl Marx definea forța de muncă ca fiind „totalitatea aptitudinilor fizice și intelectuale pe care le posedă organismul, personalitate vie a omului, și pe care omul le pune în funcțiune atunci când produce valori de întrebuințare de un fel oarecare.”[1]
J. Naisbitt si R. Aburdene afirmau: „…în noua societate informațională, capitalul uman a înlocuit capitalul financiar ca resursă strategică.”[1]
Apariția și dezvoltarea calculatoarelor electronice a reprezentat o adevărată revoluție în societatea umană, având ca principală consecință trecerea de la societatea industrială la societatea informațională. Calculatorul a devenit o componentă normală a activității noastre zilnice, iar tehnologia comunicațiilor și posibilitățile oferite de Internet au produs transformări în întreaga societate, pătrunzând în toate aspectele vieții economice, sociale și culturale. Datorită potențialului mare de eficientizare a muncii, calculatorul a fost introdus pe scară largă în toate domeniile activității productive, începând de la munca de birou și până la activitățile din secțiile de producție.
Resursele umane reprezintă factorul activ al organizației, care contribuie la realizarea obiectivelor. Gestionarea resurselor umane reprezintă un aspect al activității managementului resurselor umane. Prin gestionarea resurselor umane se asigură organizația cu numărul și categoriile necesare de oameni, la locul potrivit și la timpul dorit cu scopul de a realiza profit pentru organizație. În acest context, într-o organizație în care dezvoltarea și creșterea profitului sunt priorități, utilizarea tehnologiei informației în gestionarea resurselor umane crează premisele unui mai bun management pentru că permite managerilor de resurse umane elaborarea strategiilor de personal si luarea deciziilor.
Lucrarea de disertație este structurată în două părți:
Prima parte formată din capitolele 2 și 3, constituie o prezentare succintă a conceptului de bază de date și a modului de operare cu acest concept, reprezentând în același timp și suportul teoretic al lucrării.
Partea a doua, formată din capitolele 4, 5, si 6 este dedicată prezentării unui caz concret de realizare a unei baze de date, pentru informatizarea activității de gestionare a resurselor umane.
Scopul și obiectivele temei
Dezvoltarea rapidă a tehnologiei informației în ultimii ani a avut un impact crescut și asupra industriei confecțiilor textile, aducând schimbări tehnologiei, utilajelor dar și ocupării forței de muncă.
Fiind de formație inginer textilist, având experiență în producție dar și în învățământul profesional, îmbinând cunoștințele mele tehnice cu cele ale managementului resurselor umane, am dorit să realizez o lucrare care să evidențieze legătura dintre informatică și managementul resurselor umane.
Lucrarea de față are ca scop realizarea unui program de gestiune a angajaților pentru o firmă cu un numar mic de angajați din domeniul confecțiilor textile.
Obiectivele acestei baze de date sunt:
introducerea, modificarea sau ștergerea din baza de date a informațiilor referitoare la angajați si departamentele în care aceștia lucrează;
introducerea, modificarea sau ștergerea din baza de date a informațiilor referitoare la studiile angajaților;
introducerea, modificarea sau ștergerea din baza de date a informațiilor referitoare la contractele de muncă;
introducerea, modificarea sau ștergerea din baza de date a informațiilor referitoare la fișa postului;
introducerea, modificarea sau ștergerea din baza de date a informațiilor referitoare la medicii de familie ai angajațiilor;
consultarea rapidă a datelor și afișarea rezultatelor.
Argumentarea necesității temei
Complexitatea operațiunilor desfășurate în departamentele de resurse umane a determinat trecerea de la lucrul cu dosare fizice la lucrul cu dosare virtuale, parcurs în care fluxul informațional a devenit din ce în ce mai rapid.
Pentru aceasta este necesară cunoașterea și înțelegerea conceptului de bază de date și a modului în care informațiile din mediul extern pot fi stocate și manevrate într-o bază de date.
Această bază de date poate fi accesată rapid de către departamentul de resurse umane, poate fi actualizată în timp real cu toate informațiile relevante despre angajații firmei. În plus, aplicația pune la dispoziția departamentului de resurse umane istoricul tuturor informațiilor referitoare la angajați. Informații precum tipul contractului de muncă, dacă este sau nu pe durată determinată, date personale, parcursul profesional, specializări, funcția, fișa postului sau lista medicilor de familie.
Gestionarea personalului din organizații este o problemă de actualitate, a carei importanță este subliniată și de legislația actuală. Codul muncii prevede obligativitatea generală a înființării de Registre electronice de evidență ale salariațiilor – REVISAL, care vor fi ținute la angajatori și vor înlocui carnetele de muncă.
Internetul fiind utilizat ca mijloc de comunicare și de transmitere a fișierelor ce conțin date despre resursele umane.
Realizarea unei baze de date care să gestioneze resursele umane ar reduce costurile organizației, dar în același timp ar elibera personalul de resurse umane de sarcinile plictisitoare, permițându-le să se concentreze pe probleme strategice.
Analiza comparativă a abordărilor existente la ora actuală în ceea ce privește tematica de disertație
Bazele de date au fost inițial gestionate manual, pe hârtie, ceea ce însemna completarea multor formulare și organizarea acestora după anumite criterii (alfabetic, tematic etc.). Operația de căutare într-o astfel de bază de date era anevoioasă iar criteriile de căutare erau limitate la criteriile după care erau organizate informațiile. Presupunând, de exemplu, că organizarea se făcea alfabetic, dacă criteriul de căutare era tematic nu se putea face o căutare eficientă. Aceste neajunsuri se soluționează în cadrul unui sistem de gestiune a bazelor de date (SGBD) cum sunt dBASE și Fox – sub DOS – sau Access sub Windows, unde înregistrările pot fi introduse în baza de date, apoi organizate rapid după orice criteriu și regăsite, într-un timp scurt.
Luând in considerare aceste lucruri, un rol cheie îl au aplicațiile software de management informatizat. În continuare sunt prezentate câteva din aplicațiile de acest gen prezente pe piața românească.
“Aplicațiile software furnizate de Smartree Romania sunt destinate managementului resurselor umane si sunt grupate în trei suite, fiecare adresându-se unor nevoi specifice ale organizațiilor. Suita Administrativă ajută la procesarea salariilor, generarea documentelor solicitate de autorități, administrarea dosarelor de personal, gestiunea fișelor de pontaj, managementul compensațiilor și al beneficiilor.
Suita destinată Dezvoltării Organizaționale cuprinde produse software integrate care facilitează administrarea programelor de instruire și dezvoltare a angajatilor, precum și a proceselor de recrutare și evaluare a performanței din cadrul unei companii.
Suita destinată Raportării și Planificării Strategice asistă membrii managementului organizației pe parcursul activităților de diagnoză și intervenție organizațională, oferind acces la diverse organigrame, realizând simulări de strategii și furnizând analize și indicatori sintetici cu privire la evoluția capitalului uman.
True HR este cea mai noua aplicație dezvoltată de compania Work Solutions, care se adresează companiilor medii și mari, cu o cultură organizațională bine determinată din punct de vedere al gestionării resurselor umane sau cu aspirații spre dezvoltarea acestui proces, în cadrul companiei. True HR permite afișarea interfeței în mai multe limbi, în funcție de profilul utilizatorului, încorporeaza tehnologia Microsoft.NET. Aplicația poate fi rulată pe computere care au cel puțin platforma Windows 95, pană la ultimele versiuni de Windows apărute. Programul acoperă urmatoarele aspecte din munca specialistului în HR: administrarea complexă a datelor personale ale angajaților, managementul contractelor, elaborarea fișei postului, evaluarea personalului din punct de vedere al sarcinilor, obiectivelor și performanței, instruirea angajaților și managementul carierei, istoricul carierei, administrarea bazei de date a aplicanților, urmărirea proiectelor de recrutare de personal, sistem de raportare complex adaptat nevoilor beneficiarului.
Modulele oferite de Akela Software Development sunt Personnel (aplicație de administrare a resurselor umane, a dosarelor angajaților), Time tracking (monitorizarea activității angajaților prin urmărirea folosirii cartelelor magnetice de acces), Timesheet (managementul timpului in proiecte), Recruitment (monitorizarea si organizarea procesului de recrutare), Leave Management (ajută la programarea eficientă a vacanțelor și concediilor angajaților), Staff Assessment (evaluarea performanțelor angajaților, planificarea carierelor, planificarea sesiunilor de training), Reports (generează rapoarte pe baza unor date existente deja într-o bază de date).
Akela HR este o soluție bazată pe tehnologie Web, suportând adaptări în funcție de limba utilizatorului, moneda țării utilizatorului. Pentru aplicațiile Akela HR există acces direct de pe web, publicul țintă al acestora fiind managerii de resurse umane din companiile mari și mijlocii din Romania și din străinătate.”[4]
În finalul acestei prezentări țin să îi mulțumesc, domnului profesor universitar dr. ing. Carol SCHNAKOVSZKY, pentru sprijinul și observațiile care mi-au fost de un real folos în vederea elaborării lucrării de disertație.
NOȚIUNI INTRODUCTIVE
Domeniul bazelor de date este foarte important la ora actuală. Indiferent că suntem utilizatori obișnuiți, experimentați sau profesioniști IT, studiul unei baze de date este mai important ca oricând.
Microsoft Access este aplicația de management al bazelor de date pusă la dispoziție de pachetul Microsoft Office. Spre deosebire de Excel, Access permite sa stocăm și să administrăm volume mari de date, organizate în unități numite înregistrări.
“Prelucrarea automată a datelor nu se realizează haotic, ci numai în cadrul unui sistem de organizare a acestora, după metode, tehnici și procedee bine stabilite.
Pentru ca prelucrarea datelor să se poată realiza, aceasta trebuie organizată și structurată pe diferite categorii. Aceste categorii de date, trebuie la rândul lor să fie convertite într-o informație înțeleasă de către calculator și care să poată fi depozitată pe diferiți suporți de memorie.
În cadrul procesului de organizare, stabilirea structurilor fizice și logice de date reprezintă elemente fundamentale de care depinde eficiența și viteza prelucrării”.[3]
Noțiunea de dată. Dată scalară, dată, informația și cunoștințele
Carol Schnakovszky afirma: “Din punct de vedere informatic, prin dată se înțelege un model de reprezentare a informației acesibile unui anumit procesor (om, unitate centrală, aplicație de calcul etc), model cu care se poate opera pentru a obține noi informații despre fenomenele, procesele și obiectele lumii reale sau mai nou a lumii virtuale. O dată care este o entitate indivizibilă în raport cu informația pe care o poartă sau cu procesul la care participă este o dată scalară sau elementară. O dată scalară, din punct de vedere a reprezentării informației, poate fi privită logic la nivel de procesor uman și fizic la nivelul calculatorului sau procesorului fizic.
O dată scalară se definește, din punct de vedere logic prin trei elemente identificator, atribute și valori, iar din punct de vedere fizic corespunde unei anumite zone de memorie de o anumită valoare. Identificatorul este un simbol sau nume care se ascociază datei, pentru a o distinge de alte date sau tip de dată. Valoarea datei se defineste printr-o proprietate care poate fi de tip intreg, real, boolean, text etc. Atributele precizează proprietăți ale datei și ele determină modul în care aceasta va fi tratată în procesul de prelucrare. Astfel, dacă o aplicație tratează nota la un examen, nota va fi identificatorul, valoarea va fi o cifra de la 1 la 10, iar atributul în acest caz va fi tratarea valorii ca un număr întreg.
Din punct de vedere al bazelor de date, putem defini data mai simplu, ca fiind o înregistrare într-un cod convenit a unei observații, obiect, fenomen, cunoștințe, imagini, sunet sau text.
Informația este cunoașterea în general, adică aflarea de elemente noi privind un obiect, o dată sau o colecție de date. Mai simplu, informațiile se obțin în urma prelucrării datelor sau cu alte cuvinte datele sunt purtătoare de informație.
Cunoștințele reprezintă informații simple sau agregate care se dobândesc de-a lungul timpului prin observare și acumulare în ceea ce privește obiectele, fenomenele și procesele din lumea reală.”[3]
Structuri de date
„În majoritatea aplicațiilor, datele se prezintă sub forma unor mulțimi sau grupe de mulțimi. Folosirea datelor sub această formă este destul de dificilă, din care cauză se caută organizarea datelor sub formă de structuri care sa aibă diferite relații între ele. O structură de date este o entitate individualizabilă prin nume a carei componente își mențin proprietățile.
Organizarea datelor în structuri se poate face informatic pe două componente:
organizarea datelor in memoria interna a calculatorului sub formă de listă, coadă, stivă;
organizarea datelor pe memoria externă sub formă de fișiere și baze de date.
Structurile interne de date au de obicei un caracter temporar pe perioada procesării datelor, iar structurile externe au caracter permanent, de lungă durată. Asupra unei structuri de date se pot efectua o multitudine de operații, cele mai frecvente fiind:
crearea este operația de memorare a structurii de date, în forma inițială, pe un suport de memorie;
consultarea este accesul la elementele structurii de date în vederea prelucrării sau procesării valorilor acestora;
actualizarea presupune schimbarea stării structurii prin adăugarea sau inserarea unor elemente noi sau ștergerea elementelor care nu mai sunt necesare și modificarea valorilor unor elemente;
sortarea care este aranjarea structurii de date după anumite criterii sau cerințe formulate din partea utilizatorilor;
interogarea prin care se cere selectarea și sortarea datelor dupa anumite condiții impuse;
fuzionarea sau concatenarea este combinarea a două sau mai multe structuri de date ordonate într-o singură structură;
ventilarea este operația de desfacere a unei structuri în mai multe structuri de sine stătătoare.
Operațiile aplicate asupra unei structuri de date pot să îi afecteze valorile și/sau structura.Dacă o structură de date își modifică forma, atunci această structură este considerată dinamică. Opusul structurilor dinamice sunt structurile statice, care pe tot parcursul existenței lor au același număr de componente și în aceeași ordine.”[3]
Noțiuni privind conceptul de bază de date
În lucrarea “Baze de date” a lui C. Schnakovszky baza de date este definită ca fiind o colecție unitară, organizată și structurată de date elementare, împreună cu descrierea și modul de gestionare a acestora. Gestionarea unei baze de date se face printr-un pachet de programe specializate, numit sistem de gestiune a bazelor de date, pe scurt SGBD. Fizic, datele se stochează în fișiere de unde sunt apoi preluate și prelucrate cu ajutorul SGBD.[3]
Un fișier este un ansamblu de înregistrări fizice, omogene din punct de vedere a conținutului și posibilităților de prelucrare, așa cum este prezentat în fig. 2.1
Fig. 2.1. Structura unui fișier
„În afara bazelor de date există și bănci de date. Banca de date este tot o bază de date, dar mai puțin structurată. Rolul unei bănci de date este adunarea informațiilor de larg interes în vederea folosirii acestora de un public cât mai larg. De exemplu, băncile de date pot conține informații privind mersul trenurilor, avioanelor, cursul valutar, fondul documentar al unei biblioteci etc”.[3]
Obiectivele fundamentale ale unei baze de date
Obiectivele fundamentale ale unei baze de date sunt:
Centralizarea datelor permite: suprimarea redundanței, asigurarea unicității înregistrărilor și controlul în orice moment asupra datelor introduse;
Independența între date și prelucrarea acestora;
Partajarea datelor permite înlănțuirea prelucrărilor solicitate simultan pe aceeași înregistrare în baza de date, prin blocarea cerințelor în așteptare și deservirea ulterioară a acestora;
Integritatea datelor asigură fiabilitatea bazei de date;
Securitatea datelor. Baza de date trebuie să fie asigurată împotriva unei distrugeri fizice sau logice;
Confidențialitatea datelor este asigurată prin proceduri de identificare a utilizatorilor prin nume sau cod, autentificarea prin parole sau autorizarea diverselor drepturi de accesare pe diferite nivele a bazei de date.
Sistemul de gestiune a bazelor de date
Sistemul de gestiune a bazelor de date S.G.B.D. reprezintă ansamblul de programe care permite crearea bazelor de date, introducerea de înregistrări în bazele de date și dezvoltarea de aplicații privind bazele de date. SGBD poate fi definit și ca interfață între utilizator și baza de date.
Un SGBD îndeplinește următoarele funcții:
memorarea datelor pe suportul extern;
gestiunea datelor și a legăturilor dintre ele în vederea unei regăsirii rapide prin intermediul SGBD intern;
introducerea și extragerea datelor din și spre exterior în forma cerută de utilizator prin intermediul SGBD extern.
Fig. 2.1. Schema unui SGBD[3]
MODELE DE REPREZENTARE A DATELOR ÎN BAZA DE DATE
Descrierea unui obiect oarecare dintr-o mulțime se poate realiza prin folosirea unor caracteristici sau atribute specifice obiectului respectiv. Caracteristica sau atributul definește un aspect sau o latură a unui obiect din mulțimea respectivă. Cu cât, un obiect este descris cu mai multe caracteristici, cu atât avem o viziune mai largă asupra obiectului respectiv. Nu se recomandă nici folosirea exagerată a caracteristicilor.
De exemplu, dacă considerăm o persoană, putem să îi asociem următoarele caracteristici:
Persoana: {Nume, Prenume, Data nașterii,Sexul, Adresa, Telefon, e-mail}.
Fiecare element dintre acolade reprezintă o caracteristică ce contribuie la descrierea unei „Persoane”. Descrierea completă a unui obiect se face printr-o familie de caracteristici. Dacă caracteristicile grupate într-o anumită familie respectă o anumită proprietate, atunci familia de caracteristici este o colecție de date. La rândul ei o colecție de date se poate subdivide în colecții numite entități. Astfel „persoana” poate fi privită ca entitate, dacă nu se mai subdivide, sau ca o colecție de date, având o singură entitate.
Tipuri de structuri fundamentale în baza de date
Datele dintr-o bază de date pot fi grupate în mai multe tipuri de structuri fundamentale:
Structura liniară este o listă cu elemente nestructurate, fig.3.1. Operațiile care se aplică acestor structuri sunt: consultarea,actualizarea, ștergerea, compunerea sau ventilarea.
Fig. 3.1. Liste liniare [3]
Structura arborescentă se prezintă sub forma unui arbore și se bazează pe coexistența a mai multor colecții de date și a unei mulțimi de relații ierarhice. Colecțiile de date sunt ierarhizate pe nivele în relații de subordonare.
Fig. 3.2. Structura arborescentă [3]
Structura de tip rețea se bazează pe existența unei mulțimi de colecții de date, dar spre deosebire de rețeaua arborescentă în acest caz avem o mulțime de relații, fig. 3.3.
Fig. 3.3. Structura tip rețea [3]
O structură de tip rețea se poate descompune în mai multe structuri arborescente relaționate ierarhic ca in fig. 3.4.
Fig. 3.4. Structuri arborescente derivate din structura de tip rețea [3]
Structura relațională are la bază caracteristicile entităților, a căror realizări formează n legături. Legaturile între entități se stabilesc prin intermediul cheilor primare.
Nivele de reprezentare a datelor în baza de date
În procesul de proiectare a unei baze de date se pargurg câteva nivele corespunzătoare pentru diverse activități distincte:
nivelul extern – corespunzător utilizatorilor care își exprimă cerințele informaționale legate de baza de date;
nivelul conceptual – corespunzător administratorului bazei de date;
nivelul logic – corespunzător stabilirii relațiilor între date în baza de date;
nivelul intern – corespunzător programatorului bazei de date, care realizează reprezentarea datelor pe suportul fizic.
Urmărirea și determinarea structurii unei baze de date se poate face ascendent, plecând de la schema externă, urmată de elaborarea schemei conceptuale sau invers. Trecerea de la schema conceptuală a unei baze de date la schema internă se face prin intermediul limbajelor de descriere a datelor care sunt incluse în SGBD. Un model de date presupune un limbaj de descriere a unei anumite realități, în timp ce o schemă este o descriere a unei realități momentane.
Schema conceptuală a unei baze de date se obține pe baza schemelor externe prin eliminarea redundanțelor.
Nivelul extern de prezentare a datelor
Nivelul extern se referă la modul în care utilizatorii văd baza de date în programul lor de aplicație. La acest nivel se prezintă doar mulțimea datelor care prezintă interes pentru un anumit utilizator sau grup de utilizatori.
Astfel, schema externă de reprezentare a datelor pentru serviciul personal poate fi următoarea:
Angajat
Nr contract
Nume
Prenume
Studii
Funcția ocupată
Salarizare
Scheme externe pot fi multiple, în funcția de aplicația preconizată și de nivelul de accesibilitate a diverșilor utilizatori cu toate că schema internă și cea conceptuală sunt unice. Plecând de la o schemă externă se pot construi diverse scheme externe pentru subgrupuri ale grupului de utilizatori considerați. Fiecare schemă externă trebuie să se regăsească obligatoriu în schema conceptuală a bazei de date.
Nivelul conceptual al unei baze de date
Nivelul conceptual se referă la modul în care datele pot fi structurate astfel încât sa poată fi prelucrate cu ajutorul unui sistem de gestiune a bazelor de date. În proiectarea bazelor de date la nivel conceptual, trebuie respectat modelul E.A.C. “Entitate-Atribut-Corespondență”.
O entitate, este un model de obiect identificat în lumea reală a aplicațiilor cerute de crearea bazei de date. Obiectele sunt definite prin nume și printr-o listă de tribute sau proprietăți.
Atributul reprezintă proprietatea unei entități sau corespondențe caracterizată prin nume și tip. O bază de date bine proiectată presupune individualizarea fiecărei valori a entității cu ajutorul unui atribut sau grup de atribute.
Între două atribute ale aceleiași entități sau între două sau mai multe atribute ale două sau mai multe entități există o dependență funcțională când unui atribut îi corespunde o singură valoare a celuilat atribut. Prin aceasta baza de date devine mai ușor de consultat.
Corespondența sau asocierea reprezintă legătura logică între două sau mai multe realizări sau înregistrări ale entității.
În cadrul realizării nivelului conceptual al unei baze de date trebuie respectate următoarele reguli:
o corespondență nu poate exista decât o singură dată între aceleași entități;
numele entităților, atributelor, corespondențelor trebuie să fie unice în cadrul modelului conceptual și apoi în baza de date.
Pentru a se înțelege mai bine definițiile enunțate anterior se prezintă următorul exemplu. Produsele finite ale unei întreprinderi de automobile sunt livrate unor clienți. Livrarea acestor produse se face pe baza unor facturi care trebuie să conțină seria facturii, data livrării, tipurile de automobile facturate, cantitatea din fiecare, prețul unitar, cota de T.V.A. corespunzătoare produsului respectiv.
Aceste date servesc în final la calcularea valorii totale a facturii. Schematic, situația prezentată se poate face prin schema entitate-corespondență, astfel:
Fig. 3.5.[3]
Plecând de la această reprezentare grafică se pot identifica următoarele:
Entități: (Tip automobil și Factura livrare);
Atribute:
(cod, denumire, model, culoare, dotare) pentru entitatea Tip automobil;
(nr. factură, data facturării, cota TVA) pentru entitatea Factura livrare;
(cantitatea, preț unitar) pentru corespondența Se facturează.
Identificatori: (cod pentru entitatea Tip automobil și nr. factură pentru entitatea Factura livrare).
Corespondență: (Se facturează) care nu are un identificator.
În exemplul de mai sus apare o regulă de gestiune prin corespondența Se facturează. Pe baza regulilor de gestiune se stabilesc restricțiile modelului, ceea ce asigură integritatea, securitatea și coerența datelor. Regulile de gestiune stabilesc cardinalități și conectivități între înregistrările atributelor din entități și cele ale proprietăților de corespondență sau asociere. Cardinalitățile și conectivitățile exprimă modul de participare a valorilor atributelor din entități la fiecare apariție de valori de asociere. Astfel putem avea o conectivitate minimă (0 sau 1) și una maximă (1 sau n).
Plecând de la exemplul anterior, pentru stabilirea corectă a cardinalităților se va ține seama de următoarele reguli:
un tip de automobil, într-un anumit interval de timp, poate fi cuprins între minim sau zero facturi sau se poate factura de mai multe ori, cu alte cuvinte se va regăsi în n facturi;
factura întocmită la o anumită dată poate conține, în cantități și la prețuri diferite, minimum un tip de automobil și maximum n produse.
Cardinalitățile stabilite pentru exemplul prezentat se regăsesc în imaginea următoare:
Fig. 3.6[3]
Între înregistrările aceleași entități pot exista și corespondențe reflexive. Pentru o bază de date cu angajații unei firme, situația unui angajat pe scara ierarhică poate fi ca cea ilustrată în figura 3.7.
Fig.3.7.[3]
Pentru stabilirea cardinalităților s-au respectat următoarele reguli:
un angajat nu poate să aibă în subordine nici un angajat (minimum 0), sau poate conduce mai mulți angajați (maximum n);
totdeauna un angajat poate fi condus de minim zero angajați (cazul directorului firmei) și de maxim un angajat-șef.
Restricții de integrare a datelor
În cadrul realizării modelului conceptual al unei baze de date trebuie respectate anumite reguli. Aceste reguli se numesc restricții de integritate:
eliminarea redudanțelor sau repetărilor și a omonimelor în denumirile entităților, atributelor, corespondențelor;
valorile atributelor cu rol de identificator trebuie să fie unice și nenule;
cardinalitățile minime și maxime se stabilesc pe baza regulilor de desfășurare a activităților;
integritate referențială, adică în cazul asocierilor, orice realizare a acestora impune existența înregistrărilor entităților participante.
Pentru exemplificare se consideră facturarea produselor care se livrează unor client, reprezentată în fig. 3.8.
Fig.3.8.[3]
În cazul acestui exemplu, la facturare, cardinalitatea minimă și maximă este 1, deoarece întocmirea unei facturi trebuie să vizeze un client, iar la livrare acea factură este trimisă numai acelui client pentru care s-a făcut facturarea. În cazul clientului cardinalitatea minimă poate să fie nulă (nu i-a fost emisă nici o factură), iar cardinalitatea maximă ajunge la n (numărul total de facturi primite de la furnizori).
De asemenea la realizarea facturării pot fi incluse și anumite restricții:
data facturării să nu fie anterioară datei curente;
capacitatea cilindrică a autovehiculelor facturate să fie cuprinsă doar în gama celor fabricate (1000, 1300, 1600, 2000 cm³).
Rolurile unei entități
O entitate poate avea mai multe roluri in cadrul unei baze de date:
Incluziunea de roluri care presupune ca un rol al entității într-o asociere impune un alt rol al său într-o altă asociere.De exemplu, pentru entitatea Client se consideră primirea unui document de încadare generat de plata efectuată de un client pentru livrarea la domicilu a unor produse. Livrarea produselor se realizează numai după ce a fost emisă și trimisă o factură, fig. 3.9.
Fig. 3.9. Incluziunea de roluri[3]
Excluziunea de roluri apare atunci când roluri ale aceleași entități se exclud reciproc. Exemplu, o firmă de vânzare și închiriere automobile trebuie să țină seama de faptul că o mașină închiriată nu poate sa fie și vândută în același timp și invers, fig. 3.10.
Fig. 3.10 Excluziunea de roluri[3]
Egalitatea de roluri, fig. 3.11. reprezintă o restricție de incluziune reciprocă între două roluri ale aceleași entități. De exemplu, un angajat care primește sporuri (de muncă grea) și în același timp trebuie să plătescă o sume care constituie rețineri (CAS, ajutor de șomaj,pensie copil,etc.) din salariul lunar. Există egalitate între rolurile pe care entitatea Personal le are în cadrul celor două corespondențe.
Fig. 3.11. Egalitatea de roluri[3]
Nivelul logic al unei baze de date (modelul relațional)
Nivelul logic se bazează pe noțiuni din teoria matematică a mulțimilor. Noțiunea de bază folosită este cea de relație care se definește ca fiind o submulțime a produsului cartezian a mai multor mulțimi. Astfel o relație R poate avea următoarea formă:
R ⊆ M1 x M2 x … x Mn
Relația poate fi definită și cu ajutorul logicii matematice. Astfel, fie m = (m1, m2, …, mn) M1 x M2 x…x Mn și un predicat P(m1 ,m2 ,…, mn), atunci [M1, M2, …, Mn]R={(m1,m2,…, mn)/P(m, m, …, m)=adevărat}. Familia de mulțimi pe care este definită relația se numește domeniu, iar dacă M1=M2=…=Mn, relația este omogenă. Numărul n se numește gradul relației, iar un element al relației t=(m1, m2, …mn) este numit tuplu, iar numărul de tupluri indică cardinalul relației.
Domeniul este o noțiune mai cuprinzătoare decît atributul, deoarece reprezintă mulțimea tuturor valorilor posibile care definesc o anumită proprietate a unui obiect, spre deosebire de atribut care reprezintă mulțimea valorilor existente la un moment dat în coloana pe care o desemnează în cadrul relației. Într-o relație pot exista mai multe atribute care iau valori în aceleași domenii.
Relațiile se prezintă prin intermediul tabelelor, supuse următoarelor restricții:
în fiecare coloană toate valorile sunt de același tip;
fiecare valoare este un număr sau un șir de caractere;
ordinea liniilor din table nu este predefinită și nu sunt admise duplicate;
coloanele sunt identificate prin nume distincte.
Noțiuni de algebră relațională
Operatorii relaționali se pot grupa în:
operatori de bază, care pot genera toată clasa operatorilor relaționali și care la rândul lor se împart în:
operatori de asamblare;
operatori unari.
operatori auxiliari.
Operatorii de asamblare sunt operatori binari, care au două intrări și o singură ieșire. Acești operatori sunt: reuniunea, diferența și produsul cartezian și modul lor de operare este identic cu cel din teoria mulțimilor.
Operatorii unari se aplică asupra unei relații și generează o altă relație. Din această clasă de operatori fac parte proiecția și selecția. Prin intermediul proiecției, dintr-un tabel cu un anumit număr de coloane se obține un tabel cu un număr mai redus de coloane, prin suprimarea dublurilor. Identic, cu ajutorul selecției se obține un tabel cu un numar mai mic de rânduri prin eliminarea înregistrărilor multiple.
Operatorii auxiliari se deduc din operatorii de bază, cei mai importanți fiind compunerea(Join), intersecția, împărțirea sau diviziunea. Acești operatori se folosesc în special la interogarea bazelor de date relaționale. Modelarea numerică a produsului cartezian este foarte dificilă și consumă mult timp de calcul, din care cauză se preferă înlocuirea acestuia prin operații de compunere(Join).
Normalizarea bazei de date
Procesul de normalizare a relațiilor se realizează în mai mulți pași, începând cu forma normală unu, ajungându-se la forma finală cinci. Pentru exemplificare se consideră o bază de date prost concepută, care în forma normală unu nu ne permite operații de actualizare, modificare sau ștergere fără a pierde informații nedorite.
O relație este în forma normală unu, dacă și numai dacă toate atributele ei conțin numai valori atomice (vezi tabelul 3.1.).
Tabelul 3.1. Relația R
În acest tabel este reprezentată o relație R definită pe opt atribute: cod produs (CP), unitatea de măsură (UM), prețul unitar (PU), cantitatea (Q), cod beneficiar (CB), localitatea beneficiarului (LB), codul poștal (ZIP) și prefixul telefonic al localității (TP).
Cheia primară a relației R este compusă din CP și CB, iar atributele UM, PU, LB, ZIP și TP nu sunt complet dependente funcțional de acestea. De asemenea perechile de atribute (LB, ZIP) și (LB, TP) sunt mutual dependente. Această relație R posedă anomalii de actualizare, ca:
nu se poate adăuga un tuplu pentru care nu se cunoaște beneficiarul (CB) și localitatea (LB), deoarece datorită respectării integrității entității, nici o componentă a cheii primare (CP, CB) nu poate fi nulă;
dacă produsul P4 nu se mai fabrică temporar, trebuie șters tuplul P4 (buc 25 10 B2 Arad Arad 300), dar prin această ștergere se pierd și informații referitoare la beneficiarul B2, care mai sunt necesare în continuare;
dacă se modifică prețurile produselor, modificarea acestora se face greu deoarece același preț intervine în mai multe tupluri ceea ce face să avem o redundanță mare a înregistrărilor în baza de date.
Pentru a elimina anomaliile de actualizare, se descompune relația R în mai multe relații R1, R2 și R3 prin folosirea operatorului de proiecție. În felul acesta se obține forma normală doi a relației R din tabelul 3.2.
Tabelul 3.2. Forma normală doi a relației R prin obținerea relațiilor R1, R2 și R3
Diagrama dependenței funcționale este prezentată în imaginea următoare:
Din această diagramă se observă că relației R3 îi sunt asociate dependențele tranzitive CB-LB, LB-ZIP și CB-LB, LB-TP care generează și ele anomalii de actualizare:
dacă se șterge tuplul referitor la beneficiarul B1 se pierd și datele referitoare la localitatea, codul poștal și prefixul telefonic, care mai sunt necesare într-o viitoare etapă;
modificarea codului poștal ZIP se face greu, deoarece aceeași valoare apare în mai multe tupluri rezultând redundanță mare;
nu se poate adăuga o nouă localitate dacă nu există cel puțin un beneficiar din localitatea respectivă, datorită lipsei cheii primare CB.
Pentru a se înlătura anomaliile și din această formă normală, se descompune relația R3 în două relații R31 și R32 care vor alcătui forma normală trei.
În concluzie, pentru a avea o redundanță cât mai mică a bazei de date, forma optimă în acest caz este forma normală trei care cuprinde relațiile sau tabelele R1, R2, R31 și R32. Plecând de la aceste tabele se pot face interogări și prelucrări ale datelor fără a se pierde din conținutul avut inițial sub forma R. Se constată, că în acest fel, numărul datelor vehiculate este mai mic, dar informația obținută cu acestea este identică cu cea care s-ar obține dacă am avea datele în forma R. În plus, în acest caz se pot face adăugări, modificări și ștergeri de date fără a se atenta la integritatea bazei de date.
Nivelul intern (fizic)
Nivelul fizic este cel care corespunde structurii în care sunt stocate datele în interiorul mașinii de calcul. În cadrul acestui model se specifică tabelele sau fișierele care compun baza de date, componentele fiecărui fișier, căile de acces la componentele tabelelor.
La nivelul fizic se vor stabili și cerințele privind protecția datelor, atât din punct de vedere al conținutului câmpurilor din tabele (verificarea și validarea valorilor câmpurilor la introducere, evitarea ștergerilor cu sau fără rea voință a datelor importante prin conceperea unei secvențe de program specializat în acest scop), cât și în ceea ce privește accesul utilizatorilor la baza de date.
PROGRAMAREA BAZELOR DE DATE ÎN ACCESS
Stabilirea nivelului extern al bazei de date
Pentru a se obține o bază de date eficientă și funcțională se recomandă a se da o atenție deosebită următoarelor aspecte:
studierea cu atenție a structurii bazei de date și a intercondiționărilor dintre diferitele entități;
stabilirea exactă a formatului datelor;
tabelele trebuie proiectate cu existența unor câmpuri cheie și trebuie să se stabilească un sistem de relații între aceste chei. Pentru a se urmări pas cu pas funcționarea bazei de date în timpul proiectării acesteia se recomandă efectuarea de interogări, cu date introduse în prealabil pentru testare, pentru a se vedea dacă se pot extrage ușor datele din tabelele proiectate;
schema structurală a bazei de date trebuie să fie cât mai simplă, iar tabelele să fie de dimensiuni mici care să fie în relații între ele. Acest lucru duce la scurtarea timpului de prelucrare a unei cereri asupra bazei de date deoarece nu trebuie să se facă o căutare în toate datele, ci numai în tabelele de dimensiuni mai mici în care se găsesc informațiile necesare ca răspuns la cererea efectuată;
consultarea colegilor, colaboratorilor și a celor care vor utiliza efectiv baza de date creată pentru a prezenta diferite sugestii și necesități ale acestora.
Pentru a se înțelege pașii necesari proiectării unei baze de date se pleacă de la un exemplu concret: O firmă cu un numar mic de angajați din domeniul confecțiilor textile are ca temă de proiectare realizarea unui sistem informatic pentru activitatea de gestionare a resurselor umane.
Structura organizatorică a societății după principiul funcțional este specifică întreprinderilor mici, orientată spre producție.
Modul de descompunere a delegării autorității este dată de organigrama pe structură a unității, prezentată în continuare prin intermediul organigramei din fig. 4.1.
Fig. 4.1. Organigrama organizației
Pentru buna desfășurare a activității societatea propune realizarea unui sistem informatic care să rezolve problemele privind gestionarea resurselor umane. Baza de date se va numi Gestionarea resurselor umane. Pentru fiecare angajat se cunosc: nr. contract, nume, prenume, data nașterii, adresa, nr. telefon, profesia, funcția, studiile și medicul de familie.
Salariații lucrează în compartimentele societății care sunt identificate prin cod și denumire. Conform organigramei în fiecare compartiment există mai multe posturi. Pentru fiecare post se cunosc codul, denumirea.
Pentru proiectarea bazei de date se vor parcurge etapele prezentate în capitolul anterior. Adică întâi se definește modelul conceptual (modelul entitate-atribut-corespondență), după care acesta se transformă în model logic și apoi în modelul fizic corespunzător sistemului de gestiune a bazelor de date conferit de programul Microsoft Access .
Elementele bazei de date
După lansarea în execuție a programului Microsoft Access pentru prima dată, pe ecran apare fereastra de deschidere, care prezintă mai multe opțiuni. Pentru realizarea unei baze de date noi se alege opțiunea (Blank Database), se apasă OK și apare fereastra Database. Plecând de la această fereastră, putem defini baza de date ACCESS ca fiind o colecție de obiecte: tabele (Tables), cereri de interogare sau interogări (Queries), formulare (Form), rapoarte (Report), comenzi macro sau macrocomenzi (Macros) și module (Module).
“Tabelele (Tables) sunt obiecte definite de utilizator în care sunt stocate datele primare ca înregistrări, ce corespund unei linii din table. Fiecare înregistrare sau tuplu este definit prin atribute sau mai simplu prin câmpuri.
Interogările (Querys) sunt obiecte care permit efectuarea anumitor cereri asupra datelor din tabele sau alte interogări în vederea extragerii numai anumitor informații și prezentarea acestora într-un anumit mod de afișare.
Formularele (Forms) oferă o interfață atrăgătoare pentru introducerea datelor sau pentru afișarea acestora. De asemenea cu ajutorul formularelor se poate face și controlul întregii aplicații.
Rapoartele (Reports) permit extragerea de date și formatarea acestora în vederea tipăririi informațiilor obținute.
Macroinstrucțiunile (Macros) conțin colecții de comenzi executate de programul Access pentru a introduce un anumit rezultat (deschiderea unui formular, rularea unei interogări etc).
Modulele (Modules) conțin una sau mai multe subrutine sau funcții scrise în Visual Basic for Applications (VBA), limbajul de programare folosit în toate aplicațiile Microsoft Office.”[3]
Stabilirea nivelului conceptual al bazei de date
Nivelul conceptual al unei baze de date stă la baza dezvoltării modelului conceptual care permite definirea proprietăților elementare ale obiectelor care ne interesează în proiectarea unei BD.
Modelul conceptual cel mai frecvent utilizat este modelul „Entitate-Atribut-Corespondență” prescurtat E.A.C.
Elaborarea modelului conceptual începe cu identificarea entitaților bazei de date.
Entitățile rezultate sunt: Angajați, Contracte, Fișa postului, Studii, Departament și Medic de familie.
Fig. 4.2. Modelul conceptual al bazei de date “Gestionarea Resurselor Umane”
Dacă realizăm un centralizator al datelor necesare, baza de date ar avea următoarea structură:
Plecând de la fig. 4.2. se pot identifica următoarele:
Entități: (Angajați, Contracte, Fișa postului, Studii, Departament și Medic de familie);
Atribute:
Tabela ANGAJAȚI:( Nr angajat, Nume, Prenume, Adresa, Mediu, Sex, Data_nașterii, Vârsta, Studii, Profesia, Telefon, Adresa e_mail, Medic_familie);
Tabela CONTRACTE: (Nr contract,Departament, Funcție/meserie, Tip contract, Data angajării, Data încetării);
Tabela DEPARTAMENT: (Cod_departament, Departament);
Tabela FIȘA POSTULUI: (ID angajat, Denumirea firmei, Denumirea postului, Nivelul postului, Cerințe specifice postului, Atribuții angajat, Sfera relațională);
Tabela STUDII: (ID angajat, Școala, Specializări, Operare PC, Lb străine, Permis auto);
Tabele MEDIC DE FAMILIE: (cod, Nume Prenume, Localitatea, Telefon).
Corespondență: (Lucrează ) care nu are un identificator. Angajații lucrează cu contract, fișa postului, studii într-un departament.
Proiectarea tabelelor bazei de date
Datele într-o bază de date proiectată cu SGBD Microsoft Access 2010 sunt grupate în tabele. Tabelele sunt obiecte ce permit proiectarea bazei de date și introducerea datelor în baza de date.
În fereastra Database se selectează obiectul Tables, apoi se dă clic pe butonul New, se va deschide fereastra New Table, ca in fig. 4.3.
Fig. 4.3.
În fereastră apar cele cinci moduri de a crea un tabel, care sunt:
Modul de afișare foaie de date (Datasheet View), fig. 4.4., este o foaie de calcul albă în care se introduc valorile datelor.
Fig. 4.4.
Modul de afișare pentru proiectare (Design View), fig. 4.5., care este o grilă în care se pot selecta definițiile datelor dintr-o listă. Care este cel mai recomandat mod de a realiza un tabel.
Fig. 4.5.
Programul expert (Table Wizard) se folosește în cazul în care se proiectează o bază de date predefinită prin Database Wizard la deschiderea aplicației Access.
Importare tabel (Import Table) este metoda folosită pentru a importa un tabel de date dintr-un alt fișier creat cu Access sau o altă aplicație de baze de date recunoscută de Access.
Legare tabel (Link Table) folosește datele dint-un tabel sau alt fișier fără a muta fișierul în noua bază de date.
Pentru crearea tabelelor din panoul de comandă am ales Create Tabele Design View.
Fig. 4.6. Selectarea opțiunii de creare a unui nou tabel
Introducerea datelor se face în fereastra Table Tools din fig. 4.7. La Field Name se introduce numele fiecărui câmp al tabelei după care se alege de la Data Type tipul corespunzător (text, memo, numeric, data/timp, sumă de bani, număr automat, da/nu, obiect OLE, hyperlink, vezi tabelul 4.1.) și o descriere a câmpului respectiv Description. În partea de jos a ferestrei de proiectare se introduc proprietățile câmpului prin folosirea celor doua subferestre General și Lookup, fig. 4.8.
Fig. 4.7. Introducerea câmpurilor și selectarea tipului corespunzător
Fig. 4.8. Introducerea proprietăților câmpului
La definirea câmpurilor unui tabel, Microsoft Access, permite folosirea tipurilor de date din tabelul de mai jos:
Tabelul 4.1.
În momentul în care un câmp se dorește a fi setat ca cheie primară, acesta se selectează și se alege din bara de instrumente Table Tools opțiunea Primary Key, ca în fig. 4.9.
Fig. 4.9. Alegerea opțiunii Primary Key
La stabilirea cheii primare fiecare tabel ar trebui să aibă cel puțin un câmp a cărui valoare este unică pentru fiecare înregistrare (câmp cheie principală). Acest număr este util pentru a identifica în mod unic fiecare înregistrare.
În final tabelele bazei de date sunt următoarele:
Fig. 4.10. Tabelele bazei de date
Tabelul ANGAJAȚI permite stocarea datelor despre angajații firmei și are următoarele câmpuri:
Fig. 4.11. Câmpurile tabelului Angajați
Nr. angajat – este numărul contractului individual de muncă, cheie primară a tabelului Angajați.
Tabelul CONTRACTE permite stocarea datelor contractelor individuale de muncă ale angajaților. Tabelul are următoarele câmpuri:
Fig. 4.12. Câmpurile tabelului Contracte
Nr. contract reprezintă numărul contractului individual de muncă și este cheie primară pentru acest tabel, tipul contractului poate fi cu durată nedeterminată, determinată sau probă.
Tabelul DEPARTAMENT permite introducerea datelor departamentelor firmei. Câmpurile acestui tabel sunt următoarele:
Fig. 4.13. Câmpurile tabelului Departament
Tabelul Fișa postului permite introducerea datelor fișei postului angajaților. Tabelul are următoarele câmpuri:
Fig. 4.14. Câmpurile tabelului Fișa postului
Tabelul Studii permite stocarea datelor studiilor angajaților. Câmpurile acestui tabel sunt următoarele:
Fig. 4.15. Câmpurile tabelului Studii
Tabelul Medic de familie permite stocarea datelor medicilor de familie ai angajaților. Tabelul conține următoarele câmpuri:
Fig. 4.16. Câmpurile tabelului Medic de familie
Închiderea configurării tabelei se face apăsând simbolul X din dreapta ferestrei Table, chenarul roșu din fig. 4.17.
Fig. 4.17. Închiderea ferestrei de configurare a tabelei
Salvarea tabelei realizate se face alegând opțiunea Yes.
Fig. 4.18. Salvarea tabelei
Fig. 4.19. Denumirea tabelei realizate
Pentru a introduce sau vizualiza datele dintr-o tabelă se dă dublu clic pe numele ei din panoul de comandă, fig. 4.20.
Fig. 4.20. Selectarea tabelei
Fig. 4.21. Introducerea / Vizualizarea datelor
Relaționarea bazei de date
Între tabelele unei baze de date se stabilesc diferite relații. Aceste relații, în Access, pot fi de două feluri:
Relații permanente care se stabilesc după definirea tabelelor și sunt cerute de modelul relațional, facând parte din structura bazei de date.
Relații temporare ce se stabilesc între tabele cu ocazia definirii unor cereri sau interogări, nefiind înregistrate în structura bazei de date.
O bază de date poate fi compusă din mai multe tabele între care să nu existe nicio relație. Bazele de date cu multe câmpuri se sparg de obicei în tabele cu un număr mai redus de câmpuri, între tabelele respective stabilindu-se diverse relații.
Relațiile permanente care se pot stabili între tabele sunt:
Unu la unu 1-1(one to one) este cea mai simplă relație. În aceasta relație, unei valori a câmpului cheie primară îi corespunde o singură valoare din câmpul folosit drept cheie externă;
Unu la mai mulți 1-n (one to many) constituie tipul cel mai răspîndit de relație. Conform acestei relații unei înregistrări dintr-un tabel îi corespund două sau mai multe înregistrări din alt tabel;
Mai mulți la mai mulți (many to many) nu poate fi exprimată ca o simplă relație. În situațiile în care se găsește o astfel de relație este necesar să exprimăm această relație one to many.
Plecând de la modelul conceptual al bazei de date GESTIONAREA RESURSELOR UMANE, se observă că fiecare angajat lucrează cu contract și fișa postului, într-un departament din cadrul firmei, pe un post și o funcție, are o anumită pregătire și este monitorizat de un anumit medic de familie. Pentru baza de date proiectată relația stabilită este unu la mai mulți (one to many).
Stabilirea relațiilor între tabele se face prin parcurgerea următorilor pași:
Din meniul Tools se selectează obiectul Relationships și apare fereastra din. fig. 4.22.
Fig. 4.22.
Mai simplu, din bara de comenzi se dă clic pe pictograma .
Apare fereastra din fig. 4.23.
Fig. 4.23.
Practic se selectează tabelele și interogările care participă la diverse relații. Selectarea tabelelor se face prin darea unui clik cu mouseul pe denumirea tabelului. Mai multe tabele se pot selecta simultan prin ținerea apăsată a tastei Ctrl și prin darea unui clic asupra numelor tabelelor.
După selectarea tabelelor și interogărilor între care se stabilesc diverse relații se apasă butonul Add. În continuare va apărea o fereastră ca in fig. 4.24, în care sunt afișate toate tabelele care vor participa la stabilirea diverselor legături.
Fig. 4.24.
O relație între două tabele se realizeaă prin operațiunea drug and drop (apucă și trage) de la cheia primară la cheia externă a tabelei secundare, fig. 4.25. În urma acestei operații se deschide fereastra Edit Relationships (Editare de relații).
Fig. 4.25.
Analog, se procedează în continuare, pînă se obține întregul sistem relațional dintre tabele, prezentat in fig. 4.26.
Fig. 4.26. Relațiile dintre tabele
PROIECTAREA INTERFEȚEI GRAFICE DE COMUNICARE A OPERATORULUI ȘI PROGRAMATORULUI CU SISTEMUL DE GESTIUNE AL BAZEI DE DATE
Proiectarea formularelor
Utilizarea foilor de date DataSheets pentru introducerea și vizualizarea datelor este de multe ori greoaie, mai ales pe măsura creșterii bazei de date sau a tabelelor cu foarte multe câmpuri. Pentru a se realiza o interfață utilizator-bază de date cât mai atractivă și intuitivă, Access permite realizarea de formulare (Forms).
Formularele reprezintă obiecte din interiorul unei baze de date care pot îndeplini mai multe funcții, cele mai importante fiind:
Afișarea și editarea tabelelor. Este una din cele mai des utilizate forme de folosire a formularelor, deoarece datele se pot vizualiza și introduce în forma dorită de proiectantul aplicației care tine cont în general de dorința utilizatorului. Datele afișate în cadrul acestor formulare pot fi modificate sau șterse;
Controlul operațiilor realizate de aplicație. Cu ajutorul formularelor care înglobează macrocomenzi și procedure Visual Basic se poate realiza afișarea automată a anumitor date sau executarea unui șir de operații, ceea ce duce la creșterea productivității cu lucrul în cadrul bazei de date;
Introducerea de date. Este scopul principal al folosirii formularelor;
Afișarea mesajelor. Formularele pot furniza informații privind modul în care aplicația poate fi utilizată sau despre operațiile care se execută sau s-ar putea executa;
Tipărirea rezultatelor. În cazul unor informații des utilizate, se poate executa un formular cu ajutorul căruia să se tipărească direct anumite date sau rapoarte.
Crearea formularelor
Un formular este compus din trei părți, fig. 5.1. La proiectarea unui formular se pot folosi toate cele trei părți sau numai unele dintre ele.
Fig. 5.1.
Cele trei părți constitutive ale unui formular sunt:
antetul (Form Header);
zona de detaliu (Detail);
subsolul (Form Footer).
Pentru crearea unui formular din bara cu instrumente Create se apasă cu mouseul pe eticheta Forms Design fig. 5.2.
Fig. 5.2.
Există mai multe posibilități de creare a unui formular:
Design View care permite proiectarea direct sau modificarea unui formular,fig. 5.3.
Fig. 5.3.
Aceasta fereastră permite proiectarea directă a unui formular. Opțiunea se utilizează în general la modificarea formularelor deja create prin alte metode. În cadrul acestei, opțiuni apare și cutia cu instrumente From Design Tools.
Form Wizard este cea mai folosită, deoarece proiectarea formularului se face pas cu pas prin intermediul programului expert Wizard. În fiecare etapă programul expert pune întrebări și oferă posibilități. Prin selectarea anumitor opțiuni se confirmă fiecare proprietate și formă a formularului, fig. 5.4.;
AutoForm Columnar permite crearea automată a unui formular de tip coloană;
AutoForm Tabular, care formatează automat formularul sub formă tabulară.
AutoForm Datasheet, formatează automat formularul sub formă de foaie de date;
Chard Wizard permite vizualizarea datelor cu ajutorul diagramelor;
Pivot Table Wizard este un program expert care permite pivotarea înregistrărilor cu câmpurile datelor în programul Microsoft Excel.
Fig. 5.4.
Pentru lucrarea în discuție s-a folosit un formular principal ANGAJAȚI si două subformulare CONTRACTE și STUDII, ca in fig. 5.5.
Fig. 5.5.
În vederea modificării formularelor, Access permite deschiderea unui formular existent cu opțiunea Design View.
Elementele grafice care se pot adăuga unui formular sunt de forma controalelor care sunt afișate la deschiderea ferestrei de proiectare, fig. 5.6.
Fig. 5.6. Controale
Contoalele realizate în cadrul bazei de date proiectate sunt două liste (Combo Box). Prima listă numită Medici de familie este inclusă în formularul ANGAJAȚI, iar cea de a doua listă Departamente este în subformularul CONTRACTE, (vezi fig. 5.7. chenarele roșii).
Fig. 5.7. Introducere Combo Box
Crearea formularelor de tip panou de comandă folosind Switchboard Manager
Interfața aplicației s-a obținut folosind Switchboard Manager .
Atunci când se folosește Database Wizard pentru a crea o bază de date, Microsoft Access crează automat un panou de comandă care va ajuta să se navigheze prin obiectele bazei de date. Acest panou de comandă are butoane pe care se execută clic pentru a deschide formulare sau rapoarte (sau pentru a deschide alte panouri de comandă ce permit deschiderea unor formulare sau rapoarte suplimentare), pentru a ieși din Microsoft Access sau pentru a personaliza un panou de comandă. Se poate un panou de comandă similar cu cel realizat de Database Wizard folosind Switchboard Manager.
Pentru a crea un panou de comandă folosind Switchboard Manager se execută urmatoarele operații:
1. Se deschide fereastra Database baza de date pentru care se dorește să se creeze panoul de comandă.
2. În meniul Tools, se indică opțiunea Add-Ins și se selectează opțiunea Switchboard Manager (vezi figura 5.8.).
Fig.5.8. Selectarea opțiunii Add-ins
Astfel butonul Switchboard Manager este adăugat în bara cu instrumente, fig. 5.10.
Fig. 5.10.
În caseta de dialog Switchboard Manager care apare pe ecran (vezi figura 5.11.) se execută clic pe butonul Edit.
Fig. 5.11. Caseta de dialog Switchboard Manager
După selectarea butonului apare fereastra Edit Switchboard Page, în caseta de text Switchboard Name se tastează numele pentru panoul de comandă și apoi se execută clic pe butonul New, fig. 5.12.
Fig. 5.12. Caseta de dialog Edit Switchboard Page
Pentru lucrarea de față panoul de comandă principal s-a editat ca în fig. 5.13.
Fig. 5.13.
În caseta de dialog Edit Switchboard Item, care apare pe ecran (vezi figura 5.14.), în caseta Text se tastează textul primului buton al panoului de comandă și apoi din caseta Command se selecteză comanda care se va asocia butonului. Spre exemplu, pentru vizualizare "TABELE” în caseta Text se selectează "Go to Switchboard" din caseta Command.
Fig.5.14.
Interfața s-a obținut prin realizarea unei ferestre principale ce conține legături către un număr de patru subferestre și butonul de ieșire din aplicație, fig. 5.15.
Fig. 5.15. Fereastra principală a aplicației
Subfereastra Vizualizare Tabele conține legături către cele șase tabele prezentate anterior, rolul acesteia fiind acela de a facilita accesul rapid la acestea, ori de câte ori este necesară introducerea de date noi.(Exepmlu: Angajarea unui nou salariat, va necesita alocarea unui nou identificator).Fig. 5.16.
Fig. 5.16. Subfereastra Vizualizare Tabele
Subfereastra Vizualizare Formulare integreză butoanele din fig. 5.17.
Fig.5.17. Subfereastra Vizualizare Formulare
Subfereastra Interogări integrează butoanele din fig. 5.18.
Fig.5.18.
Subfereastra Rapoarte integrează butoanele din fig. 5.19.
Fig.5.19.
Crearea subformularelor
Subformularul este un formular inclus într-un alt formular în scopul afișării datelor din mai multe tabele sau interogări.Între formular și subformular se păstrează sistemul relațional existent între tabele și care poate fi unu la unu sau unu la mai mulți. Într-un formular care conține un subformular se pot face filtrări numai asupra câmpurilor din formularul principal. Din punct de vedere al formei, un subformular poate fi:
Datasheet sau foaie de date. Acest format permite modificări ulterioare privind dimensiunea și ordinea coloanelor;
Form sau formular, permite utilizatorului posibilități multiple de aranjare a datelor, utilizarea culorilor și introducerea de imagini grafice diverse.
Realizarea unui subformular se poate face prin una din următoarele posibilități:
crearea formularului și subformularului concomitent;
crearea subformularului și adăugarea lui la un formular existent;
crearea separată a celor două și combinarea lor.
Cea mai simplă variantă de creare a unui subformular este ultima prezentată, vezi fig. 5.5.
Interogarea bazei de date pentru obținerea de informații
Pentru a proiecta o interogare se selecteză eticheta Queries, din fereastra Database și se dă comanda New. În urma acestei comenzi va apărea o fereastră ca in fig. 5.20.
Fig. 5.20.
Interogările se pot face prin mai multe moduri:
Design View, proiectarea pas cu pas a cererii de interogare prin folosirea ferestrei de proiectare;
Simple Query Wizard, utilizarea programului expert pentru realizarea unei interogări simple care se aplică numai asupra unui tabel;
Crosstab Query Wizard realizează o interogare încrucișată a tabelelor care compun baza de date;
Find Duplicates Query Wizard realizeazăo interogare pentru identificarea înregistrărilor duble dintr-o bază de date;
Find Unmatched Query Wizard este un asistent de programare a interogărilor care gasesc acele înregistrări care nu au dubluri în alte tabele.
În proiectarea bazei de date am realizat interogări folosind Design View. În urma acestei comenzi va apărea fereastra din fig. 5.21. cu prezentarea tuturor tabelelor și interogărilor existente în baza de date.
Fig. 5.21.
Din fereastra Tables sau Queries se selectează tabele sau interogările asupra cărora se va face interogarea proiectată, dând comanda Add, apoi se inchide fereastra Show table cu comanda Close. Se obține fereastra de proiectare din fig. 5.22.
Fig.5.22.
Partea de sus a ferestrei afișează structura tabelelor și a cererilor de interogare selectate și eventualele legături între ele.
Partea de jos ferestrei numită și grilă de proiectare (grilă QBE de la Query By Exemples) permite construirea cererii din punct de vedere functional și structural. Câmpurile de legătură numerice trebuie sa fie de tip Byte, Integer sau Long Integer.
Toate informațiile cuprinse în tabelele bazei de date pot fi supuse unor filtrări sau sortări în funcție de diferite criterii cu ajutorul interogărilor. În cazul aplicației s-au făcut interogări:
pentru selecția angajaților în funcție de nr contract, nume, prenume, departament;
pentru selecția angajaților în funcție de nume, prenume, tip contract;
pentru selecția angajaților în funcție de nume, prenume, studii;
pentru selecția angajaților în funcție de nr. contract, nume, prenume și denumirea postului (vezi fig. 5.23.)
Interogările se pot completa la momentul potrivit de către programator în funcție de cerințele desfășurării gestiunii resurselor umane.
Fig. 5.23.
După realizarea interogării se închide fereastra QBE și se salvează rezultatul fig. 5.24 și fig. 5.25., care este salvat într-un tabel care poate fi vizualizat cu ajutorul comenzii Open.
Fig. 5.24. Fig. 5.25.
Redactarea rapoartelor finale
Esența unei baze de date este furnizarea de informații pe baza prelucrării datelor. Vizualizarea acestor informații se poate face pe ecran sau pe hârtie prin intermediul foilor de date, a formularelor și a rapoartelor sau situațiilor finale. Raportul final este o grupare a datelor într-un anumit format și după o anumită structurare a paginii în funcție de necesitățile utilizatorului. În cadrul rapoartelor se pot include și informații suplimentare privind necesitățile utilizatorului.
Un raport folosește datele din mai multe tabele, dar comanda de redactare a raportului se poate aplica numai asupra unui singur tabel sau interogări. Pentru a se rezolva această situație, se face în prealabil o cerere care va reuni datele din tabele și interogările care ne interesează. Elementele de legătură dintre sursa de date și situațiile finale sunt controalele, zonele de text, cadrele și etichetele.
Pentru realizarea unui raport se activează eticheta Reports și se apasă butonul New. Din punct de vedere al formei rapoartele finale se pot crea în următoarele feluri: Design View, Report Wizard, Autoreport:Columnar (pe o coloană) sau Tabular(tabel), Chart Wizard(sub formă grafică prin folosirea diagramelor), Label Wizard(etichetă poștală). Se selectează Report Wizard și tabelul sau interogarea pentru care vom efectua raportul final, si se apasă butonul OK. Urmează selectarea ordinii în care să se facă sortarea datelor din raport și selectarea opțiunilor de calcul predefinite.
Aplicația a fost proiectată să aibă ca finalitate o serie de rapoarte cum ar fi:
Lista medicilor de familie;
Lista angajaților cu permis de conducere;
Lista angajaților firmei (vezi fig. 5.26.).
Aceste rapoarte pot fi completate în funcție de necesități cu alte rapoarte pe care programatorul le poate realiza la cererea societății comerciale.
Fig. 5.26.
INSTRUCȚIUNI FOLOSITE PENTRU PROGRAMAREA BAZEI DE DATE
Limbajul de interogare SQL
Denumirea de SQL este un acronim de la „Structurated Query Language” (limbaj de interogare structurat). Este unul dintre cele mai puternice limbaje structurate pentru interogarea bazelor de date relaționale și are o răspândire foarte mare devenind chiar un standard pentru mai multe SGBD-uri.
Limbajul SQL permite o comunicare ușoară și rapidă a utilizatorului cu baza de date, precum și operații complexe privind actualizarea și administrarea bazei de date. Acest limbaj nu este un limbaj de programare propriu-zis, ci este un limbaj specializat pentru aplicații în ceea ce privește bazele de date.
Există trei tipuri de utilizare a limbajului SQL:
apelarea directă care constă în introducerea instrucțiunilor SQL direct de la prompter;
modulară prin folosirea anumitor proceduri apelate direct de diferitele module ale aplicației de baze de date;
încapsulat (Embedded SQL) când instrucțiunile SQL sunt introduse (încapsulate) în codul de program al bazei de date.
Instrucțiunile SQL permit definirea, manipularea, selectarea datelor, procesarea tranzacțiilor, controlul cursorului și a accesului la baza de date. În funcție de rolul pe care îl îndeplinesc, instrucțiunile SQL se grupează astfel:
instrucțiuni de definire a tipurilor de date în vederea descrierii structurii bazei de date și a modului în care vor fi acceptate datele în baza de date;
instrucțiuni de manipulare a datelor în vederea adăugării, modificării și ștergerii diferitelor înregistrări sau părți din acestea;
instrucțiuni de selecție a datelor pentru realizarea sortărilor și filtrărilor în vederea consultării bazei de date;
instrucțiuni de procesare a tranzacțiilor care reprezintă operații multiple și complexe de manipulare a datelor;
instrucțiuni de control al cursorului necesar diferitelor aplicații sub formă compilată;
instrucțiuni privind controlul și prioritățile de acces la date.
Limbajul SQL implementat în SGBD Microsoft Access folosește doar primele trei tipuri de instrucțiuni. Pentru a se scrie corect aceste instrucțiuni SQL trebuie respectate strict următoarele reguli:
orice instrucțiune SELECT se termină cu ”;”
în cazul interogărilor din mai multe tabele, pentru a se separa numele tabelului de numele câmpului se va utiliza caracterul ”.”
parantezele drepte încadrează numele de câmpuri doar când acestea conțin caractere neacceptate de SQL
parametrii dintr-o listă se delimitează cu ajutorul caracterului ”,”
valorile de tip șir se încadrează între ghilimele ” ” sau apostrofuri ‘ ‘
inegalitățile se specifică cu simbolurile < >
simbolurile ? și * sunt folosite pentru a desemna unul sau mai multe caractere de înlocuire (wildcard)
evidențierea clară a valorilor de tip Data/Time se folosește simbolul #.
Instrucțiuni SQL pentru definirea datelor
Instrucțiunile de definire a datelor permit crearea de baze de date, tabele, câmpuri și modificări ale acestora. Principalele instrucțiuni de definire a datelor folosite în SQL sunt:
crearea unei baze de date:
CREATE DATABASE nume_bază_de_date
Această instrucțiune se folosește într-o primă etapă la crearea bazei de date. Microsoft nu acceptă această comandă deoarece crearea și definirea bazei de date se face automat la lansarea aplicației.
crearea unui tabel:
CREATE TABLE nume_tabel
Plecând de la structura unei înregistrări și de la tipurile de date asociate câmpurilor utilizatorul poate să creeze un tabel. Numele tabelului trebuie să fie obligatoriu unic în cadrul bazei de date, neputând fi un cuvânt rezervat de instrucțiunile SQL sau VBA sau numele unui alt tabel.
Adăugarea unui câmp în cadrul unui tabel existent:
ALTER TABLE nume_tabel
Ștergerea completă a unui tabel dintr-o bază de date
DROP TABLE nume_tabel.
Instrucțiuni SQL pentru selecția datelor
Prelucrarea datelor dintr-o bază de date se face prin filtrare sau cu ajutorul instrucțiunilor de selecție. Indiferent dacă interogările sunt simple sau complexe, cuvântul cheie care definește această activitate este SELECT.
Cererile de interogare sunt:
simple
complexe:
de asociere de tip JOIN
de combinare de tip UNION
de tip PARAMETERS
Cereri de interogare sau macrocomenzi folosite
Modul în care funcționează interogările (query-urile) ale căror sintaxe sunt prezentate mai jos au fost prezentate în capitolul 5.
Query-ul ANGAJATI-LB STRAINE
SELECT ANGAJATI.Nume, ANGAJATI.Prenume, STUDII.[Lb straine]
FROM ANGAJATI INNER JOIN STUDII ON ANGAJATI.[Nr angajat] = STUDII.[ID angajat]
WHERE (((STUDII.[Lb straine])="ENGLEZA"));
Query-ul ANGAJATI in concediu de odihna
SELECT ANGAJATI.Nume, ANGAJATI.Prenume, CONTRACTE.Stare
FROM ANGAJATI INNER JOIN CONTRACTE ON ANGAJATI.[Nr angajat] = CONTRACTE.[Nr contract]
WHERE (((CONTRACTE.Stare)="conc odihna"));
Query-ul ANGAJATI cu contract determinat
SELECT ANGAJATI.Nume, ANGAJATI.Prenume, CONTRACTE.[Tip contract]
FROM ANGAJATI INNER JOIN CONTRACTE ON ANGAJATI.[Nr angajat] = CONTRACTE.[Nr contract]
WHERE (((CONTRACTE.[Tip contract])="Determinat"));
Query-ul ANGAJATI Departament productie
SELECT ANGAJATI.Nume, ANGAJATI.Prenume, CONTRACTE.Departament
FROM ANGAJATI INNER JOIN CONTRACTE ON ANGAJATI.[Nr angajat] = CONTRACTE.[Nr contract]
WHERE (((CONTRACTE.Departament)="Productie"));
Query-ul ANGAJATI PROBA
SELECT ANGAJATI.Nume, ANGAJATI.Prenume, CONTRACTE.[Tip contract]
FROM ANGAJATI INNER JOIN CONTRACTE ON ANGAJATI.[Nr angajat] = CONTRACTE.[Nr contract]
WHERE (((CONTRACTE.[Tip contract])="Proba"));
CONCLUZII
În urma realizării acestui proiect s-a dorit simplificarea cât mai bună a modului de gestionarea a resurselor umane din cadrul unei unei firme.
Fiecare capitol al lucrării se dorește a fi un ajutor în realizarea, funcționarea și gestionarea unei baze de date.
Aplicația a fost creată cu Microsoft Access și este departe de a fi perfectă. Cu toate acestea, aplicația poate fi îmbunătățită cu procesarea salariilor, generarea documentelor solicitate de autorități, gestiunea fișelor de pontaj, precum și a proceselor de recrutare și evaluare a performanței din cadrul unei organizații.
Contribuția personală la realizarea lucrării constă in conceperea, proiectarea și crearea bazei de date.
Crearea unei astfel de aplicații ar putea fi pentru mine un bun motiv de a începe un studiu aprofundat al sistemelor de gestiune a bazelor de date.
BIBLIOGRAFIE
[1] Bontaș, D., „Managementul general”, Editura Universității„George Bacovia”, Bacău, 2007, p6
[2] Manolescu, A., „Managementul resurselor umane”, Editura Economică, București, 2008, p5
[3] Schnakovszky, C., „Baze de date”, Uz Intern, 2000
[4] http://www.cariereonline.ro/articol/software-pentru-managementul-resurselor-umane
[5] http://www.scribd.com/doc/62762771/Access-Lectia-4-Crearea-formularelor
[6] Berceanu C., „Teoria algoritmilor”, Suport de curs, 2011
[7] Balter A., „Învață singur Microsoft Office Access 2003”, Editura Niculescu, București, 2006
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Gestionarea Resurselor Umane (ID: 115865)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
