Sunteți pe pagina 1din 24

LICEUL TEORETIC “IULIA ZAMFIRESCU” MIOVENI

Lucrare pentru atestarea competențelor


profesionale a absolvenților claselor de
matematică – informatică

Profesor îndrumător: Autor:


Hăbuc Ștefăniță Nae Adrian Gabriel

- 2023 –
LICEUL TEORETIC “IULIA ZAMFIRESCU” MIOVENI

Aplicație Web

Profesor îndrumător: Autor:


Hăbuc Ștefăniță Nae Adrian Gabriel

- 2023 -
Cuprins

Motivația alegerii lucrării ............................................................. 4

1. Limbajul SQL ............................................................. 6


2. Apex ........................................................... 10
3. Mega – Shop
3.1. Realizarea aplicației ........................................................... 14
3.2. Prezentarea aplicației ........................................................... 18

Bibliografie ........................................................... 24

3
Motivația alegerii lucrării

Prelucrarea datelor în vederea obținerii informațiilor este o paradigmă care a apărut cu mult
înainte de inventarea calculatorului electronic. Evoluția spectaculoasă a științei și tehnicii a condus la o
restructurare a economiei mondiale și a produs modificări profunde la nivelul societății umane.
Societatea în care trăim se bazează mai mult ca niciodată pe informație. Posibilitatea de a
colecta, prelucra și regăsi datele poate constitui un atu pentru orice entitate care are în vederea să se
dezvolte într-un medii concurențial. Pentru a putea dezvolta această abilitate trebuie respectate
principiile generale privind proiectarea unui model eficient de gestiune a datelor precum și utilizarea
unui mod de lucru riguros prin înțelegerea principiilor care stau la baza sistemelor informatice. Prin
urmare colectarea și prelucrarea datelor trebuie să fie însoțită și de suportul tehnic informatic, pentru
a putea exploata aplicațiile software de gestiune a bazelor de date, specifice oricărui domeniu de
activitate.
Pentru întocmirea proiectului de atestare a competențelor profesionale a absolvenților claselor
de matematică – informatică, am ales realizarea unei aplicații care să exemplifice modalitatea de
colectare și de prelucrare a datelor, și de asemenea pentru a pune în valoare cunoștințele și
competențele dobândite în cei patru ani de liceu, în care am studiat materia ”Informatică”. Fără îndoială,
comerțul electronic este în plină expansiune atât în sectorul business-to-consumer (B2C), cât și în
sectorul business-to-business (B2B). Comerțul electronic este activitatea de cumpărare și vânzare de
bunuri și servicii pe internet. Clienții de comerț electronic pot face achiziții de pe computerele lor,
precum și din alte puncte de contact, inclusiv de pe dispozitive smartphone, ceasuri inteligente și
asistenți digitali. Creșterea explozivă a comerțului electronic îl face un instrument din ce în ce mai
valoros, și chiar esențial, care permite companiilor să se diferențieze de concurență și să ajungă la clienți
din mai multe regiuni ale lumii. Pentru a ține pasul cu cererea crescândă a clienților pentru mai multe
opțiuni, acces mai ușor și livrare mai rapidă, companiile își integrează ofertele de comerț electronic și
din magazine pentru a crea experiențe de cumpărare multicanal fără probleme, în care clienții pot să
cerceteze și să exploreze produsele și serviciile online înainte de a face o achiziție.
Titlul produsului software pe cale l-am ales se numește Mega Shop și reprezintă o aplicație web
care simulează un magazin virtual de produse de îmbrăcăminte, care permite clienților răsfoirea
produselor oferite spre vânzare precum și colectarea lor într-un coș de cumpărături în vederea lansării

4
unei comenzi. Aplicația pune la dispoziție instrumente de administrare cum ar fi: gestiunea produselor,
analiza comenzilor prin diverse rapoarte statistice și gestionarea utilizatorilor.
Pentru realizarea aplicației Mega – Shop am ales platforma Oracle Aplication Express, platformă
care este utilizată pentru a dezvolta și implementa aplicații web pe baze de date. Oracle. APEX oferă un
mediu de dezvoltare integrat (IDE) bazat pe web, care utilizează experți de creare și editori de proprietăți
pentru a construi aplicații și pagini. Una dintre principalele funcționalități ale APEX este simplificarea
procesul de creare a aplicațiilor web care servesc ca interfață pentru un server de baze de date. Folosind
doar un web browser și putina programare, se pot dezvolta aplicații profesionale rapide și securizate.

5
1. Limbajul SQL

Limbajul SQL (Structured Query Language) este unul dintre limbajele relaționale de cereri care
formează nucleul multor sisteme de gestiune a bazelor de date. El a fost dezvoltat pentru sistemul de
gestiune al bazelor de date System R de cercetători din cadrul IBM Research Laboratory, San Jose-
California la sfârșitul anilor ’70. SQL a fost standardizat și a devenit limbajul de referință pentru bazele
de date relaționale. SQL este limbajul standard utilizat pentru accesarea bazelor de date relaționale.
Limbajul SQL este un limbaj declarativ, neprocedural, prin intermediul căruia utilizatorii descriu
structurile și manipulează datele. Prin intermediul limbajelor declarative utilizatorii stabilesc ce date
doresc sa obțină, fără a specifica modalitățile de obținere a acestor date

SQL este un limbaj de comenzi pentru comunicarea cu serverul Oracle din orice aplicație. Când
se introduce o instrucțiune SQL, aceasta este stocată într-o zonă de memorie numită buffer-ul SQL și
ea va rămâne în buffer până în momentul introducerii unei noi instrucțiuni.

Având in vedere faptul ca exista o standardizare a acestui limbaj, majoritatea sistemelor de


gestiune a bazelor de date relaționale utilizează instrucțiuni ale limbajului SQL (implementează
standardul SQL): Oracle, Microsoft SQL Server, MySQL, PostgreSQL, SQLite, Sybase, Ingres.
Limbajul SQl conține aproximativ 40 de instrucțiuni. Fiecare instrucțiune presupune o acțiune
specifica asupra bazei de date, cum ar fi crearea unei noi tabele, obținerea informațiilor sau inserarea
de noi date in baza de date.
Instrucțiunile SQL pot fi grupate în:
• instrucțiuni de definire a datelor, care permit descrierea structurii BD
• instrucțiuni de manipulate a datelor: adaugă, șterge, modifică înregistrări
• instrucțiuni de selecție a datelor, care permit consultarea BD
• instrucțiuni de procesare a tranzacțiilor
• instrucțiuni de control al cursorului
• instrucțiuni privind controlul accesului la date
O instrucțiuni SQL este formată din cuvinte rezervate și cuvinte definite de utilizator. Cuvintele
rezervate constituie partea fixă și se scriu exact cum este necesar. Cuvintele definite de utilizator
reprezintă denumirile diverselor obiecte din BD.
Deși standardul nu o cere, majoritatea dialectelor cer terminator de instrucțiune („;”).
Majoritatea componentelor nu sunt sensibile la tipul de litere (excepție importantă: când datele au

6
caracter literal, de ex, dacă se stochează numele „POPA” și căutăm „Popa”, nu vom găsi înregistrarea
respectivă).
Deși SQL este un limbaj cu format liber, o instrucțiune este mai lizibilă dacă se utilizează
inventarea și alinierea. De exemplu pot fi respectate următoarele reguli:
• fiecare clauză dintr-o instrucțiune trebuie să înceapă pe o linie nouă
• începutul fiecărei clauze să fie aliniat cu începutul celorlalte
• dacă o clauză are mai multe pârți, fiecare parte trebuie să apară pe câte o linie separată și
trebuie indentația fată de începutul clauzei
Convenții de notare folosite în definirea instrucțiunilor:
• majuscule pentru cuvintele rezervate
• litere mici pentru cuvinte definite de utilizator
• bara verticală | indică posibilitatea alegerii dintre mai multe variante
• acoladele { } indică un element necesar
• parantezele drepte [ ] indică un element opțional
punctele de suspensie ... indică o repetare opțională a unui articol, de 0 sau mai multe ori
Identificatorii SQL sunt utilizați pentru a numi obiecte din BD. Pentru caracterele utilizate,
standardul ISO permite A...Z, a...z, 0...9, _. Restricții impuse identificatorilor:
• nu poate fi mai lung de 128 caractere (majoritatea dialectelor au o limită mult mai joasă)
• trebuie să înceapă cu o literă
• nu poate conține spatii libere
DDL (Data Definition Language): instrucțiuni de definire a datelor

• CREATE permite crearea tabelelor


• ALTER permite modificarea tabelelor
• TRUNCATE permite ștergerea conținutului unui tabel
• DROP permite ștergerea tabelelor
• RENAME permite modificarea denumirii unui tabel

DML (Data Manipulation Language): instrucțiuni de manipulare a datelor

• INSERT permite adăugarea de noi înregistrări într-un tabel


• UPDATE permite actualizarea valorilor pentru înregistrările dintr-un tabel
• DELETE permite ștergerea înregistrărilor dintr-un tabel

DQL (Data Query Language): instrucțiuni de interogare a datelor.

• SELECT permite regăsirea liniilor memorate in tabele

7
TCL (Transaction Control Language): instrucțiuni de procesare a tranzacțiilor.

• SAVEPOINT permite definirea unui punct de salvare, la care se poate reveni pentru
a renunța la modificările făcute după acest punct asupra bazei de date
• COMMIT permite ca modificările făcute asupra bazei de date sa devina
permanente
• ROLLBACK permite renunțarea la anumite modificări făcute asupra bazei de date

DCL (Data Control Language): instrucțiuni pentru controlul datelor (permit definirea, modificarea și
retragerea privilegiilor).

• GRANT permite acordarea de privilegii


• REVOKE permite retragerea privilegiilor

O instrucțiune SQL poate include următoarele componente:

• identificatori: specifica nume de obiecte SQL (baze de date, tabele, indecși, vizualizări,
proceduri stocate);
• cuvinte rezervate: termeni predefiniți care asigura o anumita funcționalitate;
• variabile: locații de memorie desemnate printr-un nume;
• constante: numerice (întregi 3251, reale 32.15); alfanumerice/sir de caractere (‘sir caractere’,
“sir caractere”); NULL (constanta speciala cu semnificația nici o valoare);
• operatori: simboluri utilizate in implementarea anumitor operații;
• expresii: formate din variabile, constante, operatori și apeluri de funcții.

SQL*Plus este un instrument Oracle care recunoaște și trimite instrucțiuni SQL la server pentru
execuție și conține propriul limbaj de comenzi.

Caracteristicile limbajului SQL:


• poate fi folosit de o gamă largă de utilizatori, inclusiv de cei ce nu sunt programatori;
• este un limbaj neprocedural;
• reduce timpul necesar pentru crearea și întreținerea sistemelor.

Caracteristicile limbajului SQL*Plus:

• acceptă fișiere de instrucțiuni SQL;

• furnizează un editor în mod linie pentru modificarea instrucțiunilor SQL;


• controlează setările de mediu;
• formulează rezultatele interogărilor sub formă de rapoarte;

8
• accesează baze de date locale și la distanta.

Următorul tabel cuprinde câteva elemente de comparație între SQL și SQL*Plus.

SQL SQL*Plus
Este un limbaj pentru comunicarea cu serverul Recunoaște instrucțiuni SQL și le trimite la server
Oracle pentru accesarea datelor
Este bazat pe standardul ANSI SQL Este o interfață proprietate Oracle pentru executarea
instrucțiunilor SQL
Manipulează date și definiții de tabele în baze Nu permite manipularea valorilor în baze de date
de date
O instrucțiune se stochează in bufferul SQL Este permisă o comandă pe linie și nu este
pe una sau mai multe linii memorată în bufferul SQL
Nu are caracter de continuare Folosește caracterul (-) pentru continuarea unei
comenzi dacă aceasta nu încape pe o linie
Folosește un caracter de terminare pentru Nu are nevoie de caractere de terminare. Se execută
executarea imediată a comenzii imediat
Nu pot fi abreviate Pot fi abreviate
Folosește funcții pentru anumite formatări Folosește comenzi pentru formatări
Mediul SQL*Plus oferă numeroase facilități, permițând:
• executarea instrucțiunilor SQL pentru extragerea, modificarea, adăugarea și ștergerea datelor
din baza de date;
• formatarea, efectuarea de calcule, stocarea și listarea rezultatele interogărilor sub formă de
rapoarte;
• crearea de fișiere de script pentru stocarea instrucțiunilor SQL.

Mediul SQL*Plus oferă numeroase facilități, permițând:

• executarea instrucțiunilor SQL pentru extragerea, modificarea, adăugarea și ștergerea


datelor din baza de date;
• formatarea, efectuarea de calcule, stocarea și listarea rezultatele interogărilor sub
formă de rapoarte;
• crearea de fișiere de script pentru stocarea instrucțiunilor SQL.

Comenzile SQL*Plus se împart în următoarele mari categorii:


Categorie Scop
Mediu Afectează comportamentul general al instrucțiunilor SQL pentru sesiunea
Formatare respectivă
Formatează rezultatele interogării
Manipulări de Salvează, încarcă și rulează fișiere de script
fișiere
Execuție Trimite instrucțiuni SQL din bufferul SQL la serverul Oracle
Editare Modifică instrucțiunea SQL aflată în buffer
Interacțiune Permite crearea și pasarea variabilelor către instrucțiuni SQL, afișarea
variabilelor și listarea
Diverse Diferite comenzi pentru conectarea la baza de date, manipularea mediului
mesajelorșipeafișarea
SQL*Plus ecran

coloanelor

9
2. Oracle Application Express

Oracle este singura companie din lume care oferă clienților pe lângă pachetul integrat de
aplicații și infrastructura tehnologică necesară pentru rularea optimă a acestora. Astfel, produsele
familiei Oracle 11g: baza de date, serverul de aplicații și un set complet de instrumente de dezvoltare,
integrează procese analitice online (OLAP), data mining, data ETL (extraction, translation and loading),
Oracle Portal, asigurând cele mai ridicate performanțe la procesarea datelor, precum și cele mai
avansate standarde de fiabilitate, disponibilitate și securitate. Important în ceea ce privește standardele
ridicate ale Oracle este faptul că cea mai mare parte din aplicațiile SAP, PeopleSoft (de curând
achiziționat de Oracle) și Baan din întreaga lume rulează tot pe baze de date Oracle.
Oracle APEX (cunoscut și ca APEX sau Oracle Application Express ) este o platformă de
dezvoltare low-code pentru întreprinderi de la Oracle Corporation, care este utilizată pentru a dezvolta
și implementa aplicații web pe baze de date Oracle. APEX oferă un mediu de dezvoltare integrat (IDE)
bazat pe web, care utilizează experți de creare și editori de proprietăți pentru a construi aplicații și
pagini. Una dintre principalele funcționalități ale APEX este simplificarea procesul de creare a aplicațiilor
web care servesc ca interfață pentru un server de baze de date. Folosind doar un web browser și putina
programare, se pot dezvolta aplicații profesionale rapide și securizate. Datorita trăsăturile incluse
precum teme pentru interfața cu utilizatorul, controale navigabile, handlere pentru formulare și
rapoarte flexibile, Oracle Application Express accelerează procesul dezvoltării aplicațiilor. Din punctul
de vedere al utilizatorului final, aplicațiile încărcate au nevoie doar de un browser și de acces la o baza
de date Oracle cu Application Express. APEX se instalează împreuna cu baza de date Oracle și este
compus din date in tabele și cod PL/SQL. Indiferent daca rulați mediul de dezvoltare al Oracle Application
Express sau o aplicație creata cu Oracle Application Express, procesul este același. Browserul trimite o
cerere URL care este tradusa într-un apel PL/SQL corespunzător. După ce baza de date procesează apelul
PL/SQL, rezultatele sunt afișate înapoi in browser sub format HTML. Acest ciclu se petrece de fiecare
data când se cere sau se trimite o pagina. Statutul sesiunii aplicației este gestionat in cadrul tabelelor
bazei de date din cadrul Oracle Application Express. Nu este folosita o conexiune dedicata cu baza de
date. In schimb, fiecare cerere este realizata printr-o noua sesiune a bazei de date, consumând resurse
minime ale procesorului.
APEX este o caracteristică complet acceptată și fără costuri a bazei de date Oracle și poate fi
instalată oriunde rulează alte baze de date Oracle. APEX este, de asemenea, oferit pe Oracle's Cloud
prin diverse servicii, inclusiv Autonomous Database Cloud Services și serviciul autonom APEX Application
Development.

10
Oracle APEX a trecut prin multe schimbări de nume de la începuturile sale în 2000. Numele includ:
• Flows
• Oracle Platform
• Project Marvel
• HTML DB
• Application Express (APEX) sau Oracle APEX
APEX a fost creat de Mike Hichwa, un dezvoltator la Oracle, după ce dezvoltarea proiectului său
anterior, Web DB , a început să se îndepărteze de viziunea sa inițială. Deși APEX împărtășește anumite
funcționalități cu Web DB, a fost dezvoltat de la zero și nu există o cale de actualizare de la Web DB la
APEX. Când a fost însărcinat cu construirea unui calendar web intern, Hichwa a cerut ajutorul lui Joel
Kallman și a început dezvoltarea unui proiect numit Flows. Hichwa și Kallman au dezvoltat împreună
Web Calendar și Flows, adăugând caracteristici la Flows, deoarece aveau nevoie de ele pentru a dezvolta
calendarul. Primele versiuni ale Flow nu aveau front-end, așa că toate modificările unei aplicații trebuiau
făcute în SQL*Plus prin inserări, actualizări și ștergeri.
APEX este utilizat pe scară largă intern de Oracle pentru a-și dezvolta site-urile de asistență. Baza de
cunoștințe AskTom, magazinul online, Dev Gym și livesql rulează pe APEX.
Utilizarea APEX pentru crearea de aplicații WEB oferă foarte multe avantaje, cum ar fi:
• Programatorii familiarizați cu PL/SQL își pot folosi setul de abilități pentru a dezvolta aplicații web
• Posibilitatea de a crea machete folosind teme pre-construite
• Ușor de implementat (utilizatorul final deschide o adresă URL pentru a accesa o aplicație APEX)
• Găzduire gratuită a aplicațiilor demo oferite de Oracle
• Aplicațiile APEX pot rula pe baza de date gratuită Oracle Express Edition (XE).
• Componentele individuale ale unei aplicații pot fi preluate sau identificate folosind SQL, facilitând
rapoarte personalizate
• Se integrează cu ușurință cu diferite surse de date, cum ar fi baza de date locală, baza de date
Oracle la distanță sau orice serviciu web
• Utilizatorii finali semi-tehnici își pot construi propriile pagini web și rapoarte
Ca dezavantaje se poate menționa că aplicațiile APEX sunt create folosind propriile instrumente Oracle
și pot fi găzduite doar într-o bază de date Oracle, făcând un implementator susceptibil de blocarea
furnizorului , foarte puține webhost-uri oferă APEX (Oracle Database) pe pachetul lor de servicii de
găzduire (majoritatea dintre ele oferă PHP + MySQL sau ASP + Microsoft SQL Server ). Ca rezultat,
aplicațiile APEX sunt limitate în alegerea lor de gazdă web. Cu toate acestea, deoarece APEX poate rula
pe ediția gratuită Express a bazei de date Oracle (Oracle XE), este posibil să instalați stiva necesară (bază
de date, framework APEX și gateway web) pe orice gazdă standard de sistem de operare (Linux sau

11
Windows), proiectele care necesită mai mulți dezvoltatori să atingă aceeași pagină web vor trebui să își
comunice intențiile între ei. Nu există un control al versiunilor integrat și toate componentele trebuie
editate prin interfața web. Nu există suport pentru îmbinarea a două versiuni. Blocarea paginii poate
ajuta la protejarea împotriva conflictelor.
Arhitectura Oracle Application Express este alcătuita din următoarele componente:
• browser de Web
• server HTTP (Apache) cu mod_plsql
• baza de date Oracle ce conține APEX.
Principalele componente ale Oracle Application Express sunt:
• Application Builder: folosit pentru crearea de aplicații noi sau a unor pagini HTML pentru
aplicațiile existente;
• SQL Workshop: folosit pentru a crea, a vedea și a putea modifica obiectele din baza de date,
folosind o interfață Web.
• Data Workshop: folosit pentru a importa sau exporta date în sau din baza de date
• Motorul Application Express transpune și procesează pagini.
De asemenea, realizează următoarele task-uri:
• Managementul stării sesiunii
• Serviciile de autentificare
• Serviciile de autorizare
• Controlul fluxului de pagini
• Procesarea validărilor
Oracle Application Express permite unei singure baze de date Oracle sa devina un grup de lucru
împărțit de mai mulți useri. Utilizatorii pot accesa APEX folosind un browser Web fără a instala software
adițional. Zona unde se dezvolta aplicații se numește zona de lucru sau workspace. Un workspace
este o baza de date virtuala ce permite multiplilor useri sa lucreze in cadrul aceluiași APEX instalat,
in timp ce își pot păstra obiectele, datele și aplicațiile private. Se pot crea diferite zone de lucru
dedicate anumitor dezvoltatori sau proiecte.
Imaginea data ilustrează relația dintre useri și dezvoltatori, zone de lucru și schemele bazei de
date. Când se creează un workspace, acesta este asociat cu o schemă nouă sau deja existentă
in baza de date. O singura schema poate fi asociata uneia sau mai multor zone de lucru.
Utilizatorii uneltei APEX pot deține diferite roluri și privilegii, printre care:
Administratori de zone de lucru sunt userii care realizează task-uri specifice de administrare
pe un workspace, cum ar fi gestionarea conturilor utilizatorilor, monitorizarea activității zonei de lucru
și verificarea anumitor fișiere.

12
• Dezvoltatorii sunt useri care creează și editează aplicații.
• Utilizatorii finali nu au drepturi de dezvoltare. e pot defini astfel încât ei sa acceseze aplicații
care nu folosesc o schema de autentificare externa.
• Administratorii Oracle Application Express sunt super - utilizatori care gestionează o întreaga
instanța folosind aplicați Application Express Administration Services.
Imaginea alăturată ilustrează diferiți utilizatori cu diverse roluri ce accesează mediul de dezvoltare
al APEX, serviciile de administrare ale APEX și

Figura 1 Relatia dintre programatori, zonele de lucru și baza


de date

aplicațiile publicate.
Figura 2 Rolurile utilizatorilor APEX

13
3. Mega – Shop

Aplicația Mega – shop este realizată în totalitate cu


ajutorul platformei Oracle Application Express și nu necesită o
altă instalare. Singurele resurse necesare fiind un cont pentru
a putea accesa aplicația și un browser care suportă Java – script
cum ar fi Google Chrome, Microsoft Edge, Moziila sau Safaris,
de asemenea resursele hardware sunt minimale. Accesare
aplicației se poate face prin accesarea următorului link:

https://apex.oracle.com/pls/apex/r/megashop/megashop/home

3.1. Realizarea aplicației

Pentru realizarea aplicației am utilizat la bază, un set de date demonstrativ ce poate fi importat
fără costuri în contul Application Oracle Express denumit Customers Orders.

Etapa 1. Pregătirea tabelelor bazei de date

Setul de date folosit conține următoarele tabele CUSTOMERS, STORES, PRODUCTS, ORDERS,
ORDERS_ITEM. Modelul conceptual este prezentat în diagrama de mai jos.

ORDER PRODUCT
CUSTOMER
ITEM

ORDER STORE

Tabelul PRODUCTS include coloane cum ar fi imagine preț și detalii dar nu conține coloane
separate pentru culoare, raion sau tipul de îmbrăcăminte, coloane pe care le-am creat separat și populat

14
ulterior cu date conform datelor inițiale din tabela PRODUCTS. Crearea noilor coloane am realizat-o prin
folosirea instrumentelor din OBJECT BROWSER, dar acest lucru putea fi făcut și din secțiune de rulare a
comenzilor SQL, prin folosirea comenzii ALTER TABLE.

Pentru popularea automată a noilor coloane COLOR, CLOTHING și DEPARMENT am folosit


următorul script pentru a popula în mod automat cu valori noile coloane pe baza valorilor existente pe
coloana product_name prin prelucrarea cu ajutorul funcțiilor pentru prelucrarea șirurilor de caractere.
UPDATE
(
SELECT p.product_id,
p.product_name,
p.clothing,
p.color,
p.department,
p.product_details
FROM products p ) p
SET p.clothing = Substr(product_name, Instr(product_name, ' ',1,1)+1,
Instr(product_name, ' ',1, 2)+1 - Instr(product_name, ' ',1,1)- 2),
p.color =
(
SELECT c.color
FROM json_table (p.product_details, '$' COLUMNS ( color
VARCHAR2(4000) path '$.colour') ) c),
p.department =
(
SELECT g.department
FROM json_table (p.product_details, '$' COLUMNS (
department VARCHAR2(4000) path '$.gender') ) g)

Tot în această etapă pentru a evita repetarea datelor și a realiza updatările mai ușor, deoarece
mai multe produse pot avea aceleași valori în coloanele COLOR, DEPARTMENT și CLOTHING am creat
câte un tabel LOOKUP pentru fiecare coloană pentru a reține o singură dată valorile unice pentru acele
coloane. Pentru realizarea noilor tabele am folosit instrumentul CREATE LOOKUP TABLE din secțiunea
OBJECT BROWSER.

Etapa 2. Crearea pachetului de obiecte al bazei de date


Pentru a putea utiliza funcții și proceduri pentru a putea adăuga produse în coș, elimina
produse, crea o comandă, goli coșul și altele am creat un o bibliotecă necesară aplicației din secțiunea
OBJECT BROWSER, Create PACKAGE cu următoarele specificații:

CREATE OR replace PACKAGE manage_orders


AS
--------------------------------------------------------------
-- create procedure for add a product temporarily
PROCEDURE add_product (
p_product IN NUMBER,
p_quantity IN NUMBER);
--------------------------------------------------------------
-- create procedure for remove a product temporarily

15
PROCEDURE remove_product (
p_product IN NUMBER);
--------------------------------------------------------------
-- create function to get the number of items in the shopping cart
FUNCTION Get_quantity
RETURN NUMBER;
--------------------------------------------------------------
-- create procedure for validate if a product exists in the shopping
cart
FUNCTION Product_exists(
p_product IN NUMBER)
RETURN NUMBER;
--------------------------------------------------------------
-- create procedure for clear the cart
PROCEDURE clear_cart;
--------------------------------------------------------------
-- create function to validate a customer
FUNCTION Customer_exists(
p_customer_email IN VARCHAR2)
RETURN NUMBER;
--------------------------------------------------------------
-- create procedure to insert orders
PROCEDURE create_order (
p_customer IN VARCHAR2 DEFAULT NULL,
p_customer_email IN VARCHAR2,
p_store IN NUMBER,
p_order_id OUT orders.order_id%TYPE,
p_customer_id OUT NUMBER );
END manage_orders;

Etapa 3. Crearea aplicației


Pentru crearea aplicației web propriu zise am folosit expertul de creare de aplicații APP BUIDER
personalizând paginile și funcțiile care vor fi vizibile în aplicație atât în modul USER cât și în modul
ADMINISTRATOR. Operațiile pentru crearea, personalizarea aplicației și crearea noilor pagini necesare
vizualizării coșului de cumpărături au fost următoarele:
• Crearea și denumirea aplicației cu ajutorul APP BUILDER
• Adăugarea unei pagini cu diagrame folosită pentru a afișa informații importante despre:
o Top 10 produse
o Top cinci magazine
o Status comenzi
o Recenzii produse
• Crearea paginii pentru vizualizarea produselor
• Crearea unei pagini vizibilă doar în modul administrator pentru gestionarea produselor
• Crearea de pagini pentru tabelele LOOK – UP
• Crearea unei pagini pentru recenzii produse
• Crearea de pagini pentru gestionare clienți și magazine

16
• Crearea și personalizarea paginii de gestionare a unei comenzi, și asocierea interogărilor
SQL necesare
• Crearea paginii coșului de cumpărături care permite cumpărătorilor să folosească
următoarele operații:
o Recenzarea obiectelor din coș
o Editarea cantității produselor
o Eliminarea unui produs
o Golirea completă a coșului
o Lansarea comenzii
• Crearea paginii care permite plasarea unui singur produs în coș, ce permite
cumpărătorului următoarele:
o Vizualizarea detaliilor produsului
o Adăugarea în coș
o Vizualizarea recenziilor

17
3.2. Prezentarea aplicației
3.2.1. Modul Administrator
(https://apex.oracle.com/pls/apex/r/megashop/megashop/home prin accesarea
casetei de autentificare cu un cont de administrator)

3
9
5
10
4

1. Diagrame statistice

18
2. Pagina tabel Clothing Lookup

3. Pagina tabel Color Lookup

4. Pagina tabel Department Lookup

19
5. Pagina tabel clienți

6. Pagina recenzie produse

7. Pagina tabel gestionare magazine

20
8. Pagina tabel Gestionare Produse

9. Pagina tabel Users (gestionarea utilizatorilor)

10. Pagina Access Control

21
3.2.2 Pagina principala

1. Pagina vizualizare produs

2. Pagina vizualizare coș

22
3. Pagina efectuare comandă

23
Bibliografie

1. Alin Burța, Manual pentru clasa a 12 – a, INFORMATICĂ, Editura ALL

2. Codrut Matei, Marian Balta, Victor Felea, Interogarea bazelor de date. Aplicații in Oracle și SQL

Server, Editura MATRIX ROM

3. https://www.w3schools.com/

4. https://docs.oracle.com/en/database/oracle/apex/index.html

5. https://en.wikipedia.org/

24

S-ar putea să vă placă și