Realizarea Aplicatiei cu Baze de Date

CAPITOLUL 3.

REALIZAREA APLICAȚIEI CU BAZE DE DATE

3.1. Analiza sistemului

Biblioteca comunei Galicea a fost înfințată pentru tineri școlari dar și pentru persoanele care iubesc lectura.

Biblioteca are mai multe secțiuni, iar fiecare secțiune conține mai multe cărți. Tot aici se ține și o evidență a cititorilor care vin și împrumută diferite cărți.

3.2. Identificarea cerințelor aplicației

Pentru o mai bună gestionare a informațiilor specifice activității unei biblioteci, se dorește realizarea unui sistem informatic care să asigure consistența și securitatea datelor, o interfață prietenoasă, accesibilă atât utilizatorilor experimentați, cât și celor începători.

Aplicația va trebui să permită introducerea și actualizarea datelor privind:

Numarul secțiunilor existente în bibliotecă

Denumirea secțiunilor

Cititori care împrumută o carte

Se vor genera rapoarte precum:

raport ce conține numarul secțiunilor

raport cu toți angajații care lucrează în biblioteca respectivă

raport cu cititorii care au împrumutat cărți

raport cu fișele de împrumut întocmite

3.2. Sursele de date folosite

Sursele de date folosite pentru preluarea informațiilor sunt: fișele de împrumut eliberate cititorilor, informații despre bibliotecari angajații, răspunzând de organizarea și buna păstrare a acestora.

Prelucrările asupra datelor pot fi primare, cum ar fi determinarea turelor bibliotecarilor, dar și prelucrări complexe, ce țin de crearea și analizarea situațiilor statistice ale biblioteci.

3.3. Proiectarea structurii bazei de date. Diagrama ERD.

Diagrama ERD inițială realizată în urma analizării informațiilor și a relațiilor dintre acestea este prezentată în figura de mai jos.

Se observă existența unor relații între entități de tipul one – to many și many – to – many și one to one.

RELAȚIONAREA ENTITĂȚILOR

Pentru diagrama ERD finală va fii inclus un singur tabel (Funcții).

Diagramele urmăresc îndeplinirea principiului normalizării bazelor de date, respectându-se formele normale consacrate în literatura de specialitate.

DIAGRAMA ERD INIȚIALĂ

DIAGRAMA ERD FINALĂ

3.4. Proiectarea schemei externe

Aplicația este proiectată spre a fi exploatată de personalul calificat al bibliotecii.. Facilitățile aplicației sunt disponibile integral acestor utilizatori, pe baza accesului securizat prin parolă. Practic există un singur cont de utilizator ce permite conectarea la aplicație și realizarea prelucrărilor. Există o singură vedere a bazei de date.

O etapă ulterioară va include dezvoltarea aplicației prin crearea mai multor tipuri de utilizatori, cu drepturi de acces distincte.

3.5. Proiectarea schemei interne

Procesul de mapare

Transformarea modelului conceptual, a ERD-ului, în modelul fizic, adică în baza de date propriu zisă, se numește mapare. Acest proces implică transformarea fiecărui element al ERD-ului.

Entitati tabele; atribute câmpuri, coloane; UID (identificator unic) cheie primară (Pk – Primary Key), relațiecheie străină (Fk – Foreign Key); regulile afacerii constrângeri.

Pentru implementarea bazei de date s-a folosit sistemul de gestiune a bazelor de date Oracle.

Observații:

Pentru o mai bună compatibilizare cu Oracle Application Express – APEX, în ceea ce privește generarea formularelor, s-au folosit chei primare artificiale, ce vor fi generate folosind secvențe (Sequence), asigurându-se automat integritatea entităților.

În definirea structurii tabelelor s-au respectat restricțiile structurale: restricția de unicitate a cheii – Primary Key, restricția entității – coloana ce este cheie primară nu poate lua valori Null, restricțiile referențiale ), valorile cheii străine trebuie să figureze printre valorile cheii primare sau să ia valoarea null (neprecizat).

Au fost precizate regulile de ștergere a înregistrărilor dintr-o tabelă părinte ce sunt referite de înregistrările din tabela copil.

Exemple:

la ștergerea unei clase ce are asociați elevi, elevii asociați nu vor fi șterși din tabelă, ci cheia străină corespunzătoare lor va fi setată la Null – regula SET NULL

ștergerea unui profesor duce automat la ștergerea înregistrărilor ce memorează încadrarea lui la clase – regula CASCADE DELETE

Ordinea creării tabelelor este impusă de restricția referențială.

Aplicația va conține următoarele module funcționale:

modulul de acces securizat în aplicație

modulele de încărcare și manipulare a datelor

interfețele specializate în extragerea și afișarea informațiilor relevante pentru utilizator

module de prelucrare a datelor

3.6. Realizarea componentelor logice

Aplicația a fost dezvoltată cu Oracle Application Express (APEX), o interfață web oferită de Oracle Corporation prin intermediul cărei m-am conectat la serverul Oracle și am realizat aplicația cu baze de date.

Motivele alegerii APEX sunt:

posibilitatea utilizării gratuite a acestei soluții

numeroasele funcții de administrare a informațiilor incluse în tehnologia de baze de date Oracle

securitatea informațiilor, prin aplicarea regulilor și tehnicilor de criptare

disponibilitatea: aplicațiile și datele sunt stocate într-o bază de date centrală Oracle, care asigură integritatea și disponibilitatea datelor

scalabilitate: Oracle Database și Application Express evoluează în ritmul companiei

productivitate: permite crearea de aplicații Oracle atât în mod comandă cât și în mod vizual; crearea interfeței cu utilizatorul este intuitivă, legătura cu baza de date se poate face atât prin proceduri automate, gestionate de APEX, cât și tradițional, prin comenzi Oracle SQL, ce permit un control mai fin asupra operațiilor realizate.

Odată creată structura bazei de date, s-au realizat, folosind APEX, paginile aplicației, disponibile atât din meniul aplicației, cât și prin linkuri interne.

Paginile aplicației conțin:

formularul de acces în aplicație;

formulare de introducere, validare, procesare și salvare a datelor în tabelele bazei de date;

rapoarte interactive ce permit afișarea selectivă a datelor din tabele. Pentru includerea în rapoarte a datelor din mai multe tabele relaționate, s-au folosit ca sursă de date rezultatele interogărilor de tip Join: Equijoin, NonEquijoin, OuterJoin (Left Outer Join și Right Outer Join).

Paginile aplicației

Pagina 101- Login – pagina de login a aplicației, este lansată la prima lansare în execuție a aplicației sau în cazul deconectării din aplicație.

Pagina 1- este pagina de start a aplicației.

Pagina 2 – afișează raportul cu informații detaliate privind biblioteca. Ca sursă de date a raportului s-a utilizat o interogare SELECT ce folosește join-ul dintre tabelele relaționate.

CREATE TABLE "BIBLIOTECI"

( "id_biblioteca" NUMBER NOT NULL ENABLE,

"nume" VARCHAR2(150),

"adresa" VARCHAR2(150),

"telefon" NUMBER,

CONSTRAINT "BIBLIOTECI_PK" PRIMARY KEY ("id_biblioteca")

USING INDEX ENABLE

)

/

Pagina 4 – afișează raportul cu informații detaliate privind functia pe care o ocupa un angajat. Ca sursă de date a raportului s-a utilizat o interogare SELECT ce folosește join-ul dintre tabelele relaționate.

CREATE TABLE "FUNCTII"

( "id_functie" NUMBER NOT NULL ENABLE,

"denumire_functie" VARCHAR2(50),

"salariu" VARCHAR2(30),

CONSTRAINT "FUNCTII_PK" PRIMARY KEY ("id_functie")

USING INDEX ENABLE

)

/

Pagina 6 – afișează raportul cu informații detaliate privind angajați. Ca sursă de date a raportului s-a utilizat o interogare SELECT ce folosește join-ul dintre tabelele relaționate.

CREATE TABLE "ANGAJATI"

( "id_angajat" NUMBER NOT NULL ENABLE,

"nume_angajat" VARCHAR2(150),

"adresa" VARCHAR2(150),

"telefon" NUMBER,

"id_functie" NUMBER,

"id_biblioteca" NUMBER,

CONSTRAINT "ANGAJATI_PK" PRIMARY KEY ("id_angajat")

USING INDEX ENABLE

)

/

ALTER TABLE "ANGAJATI" ADD CONSTRAINT "ANGAJATI_FK" FOREIGN KEY ("id_functie")

REFERENCES "FUNCTII" ("id_functie") ON DELETE CASCADE ENABLE

/

ALTER TABLE "ANGAJATI" ADD CONSTRAINT "ANGAJATI_FK1" FOREIGN KEY ("id_biblioteca")

REFERENCES "BIBLIOTECI" ("id_biblioteca") ON DELETE CASCADE ENABLE

Pagina 8 – afișează raportul cu informații detaliate privind secțiunile. Ca sursă de date a raportului s-a utilizat o interogare SELECT ce folosește join-ul dintre tabelele relaționate.

CREATE TABLE "SECTIUNI"

( "id_sectiune" NUMBER NOT NULL ENABLE,

"denumire" VARCHAR2(50),

CONSTRAINT "SECTIUNI_PK" PRIMARY KEY ("id_sectiune")

USING INDEX ENABLE

)

/

Pagina 10 – afișează raportul cu informații detaliate privind cărțile. Ca sursă de date a raportului s-a utilizat o interogare SELECT ce folosește join-ul dintre tabelele relaționate.

CREATE TABLE "CARTI"

( "id_carte" NUMBER NOT NULL ENABLE,

"denumire_carte" VARCHAR2(150),

"editura" VARCHAR2(150),

"data" DATE,

"valoare" VARCHAR2(150),

"id_sectiune" NUMBER,

CONSTRAINT "CARTI_PK" PRIMARY KEY ("id_carte")

USING INDEX ENABLE

)

/

ALTER TABLE "CARTI" ADD CONSTRAINT "CARTI_FK" FOREIGN KEY ("id_sectiune")

REFERENCES "SECTIUNI" ("id_sectiune") ON DELETE CASCADE ENABLE

/

Pagina 14 – afișează raportul cu informații detaliate privind împrumuturile. Ca sursă de date a raportului s-a utilizat o interogare SELECT ce folosește join-ul dintre tabelele relaționate.

CREATE TABLE "IMPRUMUTURI"

( "id_imprumut" NUMBER NOT NULL ENABLE,

"id_cititor" NUMBER,

"id_carte" NUMBER,

"id_angajat" NUMBER,

"stare" VARCHAR2(10),

"data_primire" DATE,

"data_returnare" DATE,

CONSTRAINT "IMPRUMUTURI_PK" PRIMARY KEY ("id_imprumut")

USING INDEX ENABLE

)

/

ALTER TABLE "IMPRUMUTURI" ADD CONSTRAINT "IMPRUMUTURI_FK" FOREIGN KEY ("id_cititor")

REFERENCES "CITITORI" ("id_cititor") ON DELETE CASCADE ENABLE

/

ALTER TABLE "IMPRUMUTURI" ADD CONSTRAINT "IMPRUMUTURI_FK1" FOREIGN KEY ("id_carte")

REFERENCES "CARTI" ("id_carte") ON DELETE CASCADE ENABLE

/

ALTER TABLE "IMPRUMUTURI" ADD CONSTRAINT "IMPRUMUTURI_FK2" FOREIGN KEY ("id_angajat")

REFERENCES "ANGAJATI" ("id_angajat") ON DELETE CASCADE ENABLE

/

Meniul aplicației

Meniul aplicației este format dintr-un tab set ce conține 8 opțiuni principale: Home, Biblioteci, Functii, Angajati, Sectiuni, Carti, Cititori, Imprumuturi. Setul de opțiuni de meniu este asociat tuturor paginilor aplicației.

Tab set-ul aplicației

Pe parcursul construirii aplicației s-au folosit pentru verificarea funcționalității componentelor date de test. S-a trecut apoi la introducerea datelor reale. S-au testat componentele aplicației în vederea eliminării erorilor de sintaxă și a celor de programare.

Aplicația este calabilă, în sensul că permite adăugarea facilă a unor noi funcționalități, cerute de beneficiar ca urmare a schimbării metodologiilor.

Similar Posts