Sunteți pe pagina 1din 19

Partea I: Programare:

Caracteristici algoritmilor. Etapele elaborarii algoritmilor. Metode de proiectarea


algoritmilor. Top-down, Bottom Up.

Algoritmul reprezinta o multime ordonata si finita de pasi care prelucreaza un set de date de
intrare in vederea obtinerii unor rezultate cerute.

Caracteristici:

1.Claritatea
Orice algoritm trebuie sa fie clar prelucrat.Toate etapele trebuie sa fie clar transferate.

2.Finitatea
Algoritmul trebuie sa se incheie dupa un numar finit de pasi.

3.Succesiunea pasilor
Pasii care compun algoritmul trebuie sa se succeada unu cu altu intr-o ordine bine stabilita.

4.Universalitatea
Algoritmul trebuie sa rezolve o clasa de probleme de acelasi tip.

5.Realizibilitatea
Algoritmul trebuie sa poata sa fie implementat intr-un limbaj de programare si sa poata fi
rezolvat cu sistemul diponibile ale sistemului de calcul.

6.Eficienta
Algoritmul trebuie sa obtina rezultatul dupa un numar minim de pasi, sa fie eficient din punct
de vedere al memoriei ocupate si al timpului de calcul.

Definiție - O succesiune finită de operaţii cunoscute care se


execută într-o succesiune logică bine stabilită astfel încât plecand de
la un set de date de intrare, să obtinem într-un interval de timp finit
un set de date de ieşire.
Elaborarea algoritmilor
Prin elaborarea (proiectarea) unui algoritm înţelegem întreaga activitate depusă de la
enunţarea problemei până la realizarea algoritmului corespunzător rezolvării acestei
probleme.
În elaborarea unui algoritm deosebim următoarele activităţi importante:

specificarea problemei;

descrierea metodei alese pentru rezolvarea problemei;

proiectarea propriu-zisă. Ea constă în descompunerea problemei în
subprobleme, obţinerea algoritmului principal şi a tuturor SUBPROGRAMilor
apelaţi, conform metodelor prezentate în secţiunile următoare. Ea se termină cu
descrierea algoritmului principal şi a SUBPROGRAMilor menţionaţi, dar şi cu
precizarea denumirilor şi semnificaţiilor variabilelor folosite;
● verificarea algoritmului obţinut.

https://ctptc-airinei.ro/catinfo/4matoffline/Etapele%20rezolvarii%20unei
%20probleme.pdf

Proprietățile algoritmilor: Generalitate, Finitudine, Determinism.


Proiectarea descendentă(top-down) porneşte de la problema de rezolvat.
Primul pas al metodei descompune algoritmul principal în subprobleme.
Pasul doi –pentru fiecare subproblemă în parte elaborăm un subalgoritm de
rezolvare, urmând aceeași metodă. În final se combină soluțiile să formeze
soluția problemei inițiale.
În cazul metodei ascendente(bottom-up) va fi scris mai întâi
subalgoritmul apelat şi apoi cel care apelează. Se ajunge astfel la o mulţime de
subalgoritmi care se apeleaza între ei. Este important să se cunoască care
subalgoritm apelează pe care, lucru redat printr-o structură arborescentă, ca
şi în cazul programarii descendente.
2. Programarea structurata. Principii.
Programarea structurată este o paradigmă a programării informatice
apărută după anul 1970 datorită complicării crescânde a programelor de
calculatoare. A apărut ca un model nou de programare, în scopul de a crea
noi tehnici de programare apte de a produce programe care să fie sigure în
funcționare, pe o durată mai lungă.
Principii
1. Modularizarea
O problemă complexă se descompune în subprobleme până se obțin probleme
foarte simple și relativ independente.
2. Structurarea datelor și a prelucrărilor
O prelucrare poate fi organizată conform a cel puțin trei structuri
fundamentale: structura liniară (secvențială), structura alternativă și structura
repetitivă. În mod practic, la programarea tuturor aplicațiilor se folosesc toate
aceste structuri, combinate între ele.

3. Algoritmi elementari
a. Schimbarea valorilor a doua variabile
Exemplu: Presupunem ca avem 2 pahare: primul pahar (a) contine apa, al
doilea pahar (b) contine lapte. Cum putem interschimba continuturile celor
doua pahare? Raspuns: utilizand un alt pahar (aux).
Varianta cu scaderi si cu binar
Cu aux : aux=a, a=b, b=aux
Cu + si - : a=a+b; b=a-b; a=a-b;
Aia pe biti : a=a^b; b=a^b; a= a^b; ^ sau exclusiv
b. Parcurgerea elementelor unei multimi
Liste, vectori
c. Implementarea cuantificatorilor matematici oricare si exista.
????
4. Metode si tehnici de realizare a algoritmilor
a. Metoda Greedy
În general, metoda Greedy se aplică problemelor de optimizare.
Specificul acestei metode constă în faptul că se construieşte solutia
optimă pas cu pas, la fiecare pas fiind selectat în solutie elementul care
pare „cel mai bun” la momentul respectiv, în speranta că această alegere
locală va conduce la optimul global.
b. Metoda Backtracking
Backtracking este o metodă de parcurgere sistematică a spaţiului
soluţiilor posibile al unei probleme. Este o metodă generală de
programare, şi poate fi adaptata pentru orice problemă pentru care
dorim să obţinem toate soluţiile posibile, sau să selectăm o soluţie
optimă, din mulţimea soluţiilor posibile. Backtracking este însă şi cea
mai costisitoare metodă din punct de vedere al timpului de execuţie.
c. Metoda Divide et Impera
Divide et impera se bazează pe principiul descompunerii problemei
în două sau mai multe subprobleme (mai ușoare), care se rezolvă, iar
soluția pentru problema inițială se obține combinând soluțiile
subproblemelor. De multe ori, subproblemele sunt de același tip și
pentru fiecare din ele se poate aplica aceeași tactică a descompunerii în
(alte) subprobleme, până când (în urma descompunerilor repetate) se
ajunge la probleme care admit rezolvare imediată.
d. Programare dinamica
Este o tehnică de proiectare a algoritmilor pentru rezolvarea
problemelor care pot fi descompuse în subprobleme care se suprapun – poate
fi aplicată problemelor de optimizare care au proprietatea de substructură
optimă. Particularitatea metodei constă în faptul că fiecare suproblemă
este rezolvată o singură dată iar soluția ei este stocată (într-o structură
tabelară) pentru a putea fi ulterior folosită pentru rezolvarea problemei
inițiale.
5. Structuri de date
a. structuri neomogene (articol, fisier)
Articolele sunt structuri de date neomogene si continue. Ele au un
numar fix de elemente numite campuri, iar accesul la acestea se face
direct. Utilitatea articolelor apare in manipularea datelor complexe (care
presupun stocarea unui numar de caracteristici pentru fiecare entitate)
si in crearea structurilor de date evoluate.
Fişierul este un tip interesant. Este prima metodă de a construi un
tip care -- teoretic vorbind -- este infinit! (Toate tipurile de pînă acum
sunt finite pentru că sunt construite prin combinaţii finite ale unor
mulţimi finite). Bine-nţeles că practic şi acest tip este finit, dar cu o
dimensiune maximă neprecizată.
b. tablouri: operatii cu tablouri. Metode de sortare
Acestea sunt variabila numită care conține un set de valori de tipuri
de date similare. Asta înseamnă că, folosind un singur nume de
variabilă putem stoca mai multe valori. Acest lucru este posibil prin
utilizarea indexurilor pe numele variabilei. Aceste variabile pot fi de
orice tip primitiv.

Bubble sort O(N^2) (interschimbare)

Parcurge de la stanga la dreapta si interschimba pana este ordonat

Selection sort O(N^2) (selectie )

Incepe cu elementul i gaseste cel mai mic element in vector si il interschimba cu acel
element si tot asa cu elementul 2

Insert sort O(N^2) inserare


Selecteaza 2 cate 2 elemente si insereaza in fata cel mai mic element
Merge sort (interclasare )  O(N log N)

Utilizaeaza devide et impera adica se imparte in secvente de numere cat mai mici astfel in
cat fiecare secventa sa fie ordonata la un moment dat si interclasata cu o alta

Ouick sort O(N log N) (partitionare)

Se bazeaza pe divide et impera


Se alege un pivot
Se parcurge vectorul din 2 parti spre pivot interschimband elemente
La dreapta pivotului elementele mai mari la stanga pivotului elementele mai mici
Pivotul este elementul din mijloc ca nu exista restrictii

c. liste inlantuite
O listă liniară simplu înlănțuită conține elemente (noduri) a căror valori
constau din două părți: informația utilă și informația de legătură.
Informația utilă reprezintă informația propriu-zisă memorată în
elementul liste (numere, șiruri de caractere, etc.), iar informația de
legătură precizează adresa următorului element al listei. În C/C++
putem folosi următorul tip de date pentru a memora elementele unei liste
liniare simplu înlănțuite alocate dinamic.
d. arbori binari de cautare
Un arbore binar de căutare (BST – Binary Search Tree) este un arbore
binar care are asociată o cheie cu fiecare din nodurile sale interne, cu
proprietatea suplimentară că cheia fiecărui nod este mai mare sau egală
cu cheile din toate nodurile subarborelui său stâng şi mai mică sau egală
cu cheile din toate nodurile subarborelui său drept.
https://www.pbinfo.ro/articole/25704/arbori-binari-de-cautare
e. grafe
Se numește graf neorientat perechea ordonată de mulțimi G=(X,U), unde
X este o mulțime finită și nevidă numită mulțimea nodurilor (vârfurilor),
iar U este o mulțime de perechi neordonate de forma [x,y], cu x,y∈X,
numită mulțimea muchiilor grafului.
Definiție. Se numeşte graf orientat sau digraf o pereche ordonată de
mulțimi notată
G=(V, U), unde: V este o mulțime finită şi nevidă ale cărei elemente se
numesc noduri sau vârfuri;
U este o mulțime de perechi ordonate de elemente distincte din V ale
cărei elemente se numesc arce.
6. Programarea modulara. Definirea si parametrizarea
subalgoritmilor.
Programarea modulară este o paradigmă de programare care are la
bază utilizarea modulelor. În acest stil de programare unitățile de cod ce
oferă funționalitate specifică (proceduri, funcții, metode sau clase) sunt
grupate în module separate deseori numite biblioteci, cataloage sau clase.
Modulele separă interfața de implementare. Interfața unui modul
conține acele elemente pe care modulul le expune și de care are nevoie
utilizatorul(programatorul) modulului pentru a folosi functionalitatile
puse la dispozitie de acesta. Aceste elemente sunt vizibile celorlalte
module. Implementarea modulului conține codul care corespunde
elementelor declarate în interfață cat si altor elemente care nu sunt
vizibile in exterior, folosite ca pasi intermediari in realizarea unei
operatii din interfata. Acest cod sursă nu este vizibil celorlalte module,
ceea ce permite un nivel de abstractizare mai mare, utilizatorul fiind
nevoit sa cunoasca doar interfata pentru a folosi modulul respectiv.

II Programarea orientata obiect:


a. Concepte si principii:
Programarea Orientata pe Obiecte (POO) – este o paradigma de programare care foloseste
concepte abstracte (sub forma de clase si obiecte) pentru a crea modele bazate pe elemente din
lumea reala. Scopul programarii orientate pe obiecte este de a incerca sa creasca flexibilitatea si
mentenabilitatea programelor.

Principiile programării orientate obiect:


1. Clasa
Clasa în programarea orientată pe obiecte conține câmpuri cu descrierea informațiilor și a
funcționalității (metodei). Câmpurile definesc proprietățile obiectelor. Aceste proprietăți se
schimbă în timpul execuției programului, modificându-se astfel și starea internă completă a
obiectului.

2.Abstractizarea
Abstractizarea presupune reducerea la un model simplu a tuturor proprietăţilor şi metodelor
de care dispune un obiect. Astfel realizarea unei clase (şablon) care ne arată ce proprietăţi si
ce metode vor avea obiectele, reprezintă tocmai conceptul de abstractizare.
3, Obiectul
Un obiect reprezintă un exemplu individual al unei clase care are toate proprietățile și
comportamentele pe care acea clasă le definește. Fiecare obiect are propriile sale caracteristici
definite de către clasă. Pe baza datelor definite, este posibil să se creeze un număr infinit de
obiecte.

4. Incapsularea
Incapsularea reprezintă proprietatea claselor de a grupa datele şi metodele într-o singură
structură de date. Incapsularea înseamnă că datele se definesc împreuna cu codul care
acţioneaza asupra lor.
5. Atribute

Atributele sunt membri de date din interiorul unei clase sau al unui obiect care reprezintă
diferitele caracteristici ale clasei. Ele pot fi, de asemenea, denumite caracteristici ale clasei
care pot fi accesate de la alte obiecte sau pot diferenția o clasă de alte clase. De exemplu, un
atribut al unei mașini include: anvelopă, ușă, scaune, plăcuță de înmatriculare, far, roată,
mâner, marca, anul. Esența definirii variabilelor într-o clasă este de a menține codul simplu și
ușor de întreținut.
6. METODE
Metodele sunt funcții care sunt definite în interiorul unei clase care descriu comportamentele
unui obiect. Fiecare metodă conținută în definițiile clasei începe cu o referință la un obiect
instanță. În plus, subrutinele conținute într-un obiect sunt numite metode de instanță.
Programatorii folosesc metode de reutilizare sau de păstrare a funcționalității încapsulate în
interiorul unui obiect odată.

7. Relatiile dintre clase


Tipuri de relaţii:
◼ Asociere (Agregare și Compoziţie)
◼ Dependenţă
◼ Generalizare
◼ Realizare (sau Implementare)
8.Mostenirea
Programarea orientată pe obiecte le permite claselor să moşteneasca stările (atributele) şi
comportamentele(metodele) comune din alte clase, ceea ce înseamnă crearea unei clase
copil pe baza unei clase parinte.
9.Polimorfismul
Conceptul de polimorfism este legat de cel de moştenire, deoarece permite ca aceeaşi
operaţie să se realizeze în mod diferit în clase diferite.

Partea a III-a: Baze de date


3. Maparea pe modelul relaţional
Domeniu = Relatie intre numele de produse, nume de strazi, id-uri. Un fel de produs cartezian
intre datele din domeniile mentionate mai sus.

Atribut

Schema unei relatii = Numele relatiei urmat de lista atributelor sale si (eventual) de domeniul
din care acestea provin.
Cheia unei relații = mulțime minimala de atribute ale căror valori identifica în mod unic un
tuplu al relației respective.

Valori nule = Uneori, unele elemente ale unei relatii (celule ale tabelei) nu au nici o valoare
concreta. Se spune ca in acel loc exista o valoare nula.

Corectitudinea datelor = In cazul sistemelor de gestiune a bazelor de date


existente pe piata, acestea pun la dispozitie mecanisme de verificare numite
constrangeri de integritate. Constrangerile de integritate se definesc
fie la crearea tabelei fie ulterior si sunt de obicei de cinci tipuri, descrise in continuare. SGBD-ul
va rejecta orice operatie care violeaza vreuna dintre constrangerile definite pe tabela respectiva.
 CHEIA PRIMARĂ - cheia primară a tabelului.
 UNIQUE - cheie unică de masă.
 CHEIE EXTERNĂ- cheia externă, oferă o legătură către un alt tabel și
garantează integritatea referențială între părinte și mese pentru copii.

4. Normalizarea;
a. Formele normale FN1, FN2, FN3
Forma normala 1 cere urmatoarele:
● ca fiecare camp intr-o baza de date sa cuprinda numai o valoare atomica
● ca fiecare inregistrare sa fie definita astfel incat sa fie identificata in mod unic prin
intermediul unei chei primare
Forma normala 2 cere urmatoarele:
● A doua forma normala cere ca toate elementele unei tabele sa fie dependente
functional de totalitatea cheii

Forma normala 3 cere urmatoarele:


● Toate atributele non-cheie sunt (trebuie sa fie) mutual independente

b. Scheme relationale

5. Algebra relationala;
a. Chei primare si secundare. Constrângeri de integritate

CHEIA PRINCIPALA- cheia primară, este unul dintre principalele tipuri de constrângeri
din baza de date. Cheia primară are scopul de a identifica în mod unic o înregistrare într-un tabel
și trebuie să fie unică. Cheile primare PRIMARY KEY sunt în tabele care sunt numite părinte
(Parent). Nu confundați cheia primară cu indecșii primari ai bazelor de date locale, cheia primară
nu este un index, ci o constrângere. La crearea unei chei primare InterBase creează automat
pentru el indice unic. Totuși, dacă creăm indice unic, acest lucru nu va crea constrângerile cheii
primare. Un tabel poate avea doar o CHEIE PRIMARĂ

O cheie secundara (alternativa, unica) (secondary, alternate, unique key) este o cheie
candidata care nu a fost desemnata de proiectant ca si cheie primara. Cheile secundare admit
valori NULL pentru unele din atributele lor daca se respecta conditia de unicitate a valorilor.

6. Proiectarea fizică a bazelor de date relaţionale


a. Interogarea bazelor de date (SELECT)
SELECT (selectie) - extrage tupluri ce satisfac o conditie specificata;

b. Tabele virtuale în interogări


Cunoscută sub denumirea de tabel virtual, o vedere constă într-un set de înregistrări care
este returnat în cazul în care o anumită interogare este executată. Datele corspunzătoare
unei vederi nu sunt memorate într-un obiect al bazei de date, iar ceea ce se memorează
este o frază SELECT care regăsește în mod dinamic datele, atunci când este utilizată.
c. Rutine stocate în SGBD

Proceduri stocate

Procedurile stocate suportă execuția comenzilor SQL: SELECT, INSERT, UPDATE, și


DELETE. Se utilizează, în general, când se lucrează cu datele din baza de date, de
exemplu când se dorește extragerea de înregistrări sau inserarea, modificarea sau
ștergerea unor valori ale câmpurilor înregistrărilor.

Declanșatoare
Declanșatoarele (trigger-ele) sunt o clasă specială de proceduri stocate, asociate unei
tabele, definite pentru a fi lansate în execuţie automat la iniţierea unei operaţii de tip
UPDATE, INSERT sau DELETE asupra tabelei în cauză [5]. Spre deosebire de
procedurile stocate, declanșatoarele sunt asociate unor tabele individuale.

Funcții stocate
Funcțiile stocate suportă doar execuția comenzii SELECT, acceptă doar parametri de
intrare și trebuie să returneze o singură valoare. Se utilizează, în general, când se
dorește manipularea datelor sau efectuarea de calcule speciale.

d. Drepturi și utilizatori într-un SGBD

Drepturi de sistem- Drepturi de sistem – permit utilizatorilor să execute o gamă


largă de instrucțiuni SQL, ce pot modifica datele sau structura bazei de date
(de exemplu: CREATE SESSION, CREATE TABLE, DROP TABLE, CREATE
PROCEDURE, EXECUTE PROCEDURE, CREATE VIEW, CREATE USER, DROP
USER, etc.).

Drepturi la nivel de obiect – permit utilizatorilor să execute anumite instrucțiuni SQL


numai în cazul schemei sale, și nu asupra întregii baze de date (de exemplu: SELECT,
INSERT, UPDATE, DELETE, EXECUTE).

Utilizatori : pot sa fie mai multi utilizatori cu diferite drepturi doar de executare vederi
doar de scriere select doar de vizualizare a tabelelor etccc

e. Gestiunea tranzacțiilor

În general, o tranzacție constă dintr-o secvență de operații de citire și scriere a bazei de


date, la care se adaugă o serie de operații de calcul. Baza de date poate fi într-o stare
temporar inconsistent în timpul executării tranzacției, dar trebuie să fie în stări
consistente atât înainte, cât și după execuția tranzacției. [2]
Este redată, mai jos, sintaxa unei tranzacții
MySQL: START TRANSACTION WITH CONSISTENT
SNAPSHOT 53 | READ WRITE | READ ONLY
BEGIN [WORK]
COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
ROLLBACK [WORK]
[AND [NO]
CHAIN] [[NO] RELEASE]

Partea a IV-a: Tehnologii WEB


1. Concepte esențiale: clienți, servere și comunicare
1.1. Interacţiunea client – server (concepte: client, server, URL, URI)
Un client web este o aplicație web sau un browser web care comunică prin
protocolul HTTP pentru a transmite și formata date pe pagina web.
Un server web se referă la partea hardware și software folosită pentru a stoca,
procesa și a furniza pagini web.
Relația client-server constă în faptul că, clientul cere date serverului (HTTP
request), iar serverul furnizează date clientului (HTTP response).
URL (Uniform Resource Locator) se referă la adresa unei resurse web.
URI (Uniform Resource Identifier) se referă la o înșiruire de caractere care
identifică unic un nume sau o resursă pe internet. Folosind un protocol, împreună
cu un URI, putem accesa resurse web.

1.2. Protocolul HTTP


1.2.1. Definiție și funcționare generală
HTTP este un protocol pentru folosit pentru accesarea resurselor de tipul
documentelor HTML. Fundația acestui protocol este interacțiunea client-
server. (vezi mai sus relația client-server)
1.2.2. Cererea HTTP (structură generală, versiune http, request-Uri, metode de
request,mime types)

Prima parte conține metoda HTTP, împreună cu versiunea HTML.


A doua parte conține headere HTTP care sunt împărțite în:
-headere de request
-headere generare
-headere de reprezentare

1.2.3. Răspuns HTTP (mesaj HTTP, status răspuns, antetul de răspuns)


2. Elemente de design și interfață web:
2.1. Elemente privind limbajul HTML5 (doctype, elemente html, structura unui
element, atribute, reguli de scriere)
P, h1 h2, strong, img, ul(lidts neordonata), ol(lidts ordonata), li(elem lista), a, link,
form, imput, table,tr,td,th
Section
Article
Aside
Header
Footer
Nav
div
atribute
nume= “valoare ” orice element poate avea atribut
Limbajul CSS – tipuri de selectori, precedența selectorilor CSS
Tipuri de selectori în ordine crescătoare a precedentei:
- universal: selectează toate elementele HTML
- de element: selectează elementele HTML cu același nume
- de clasa: selectează elementele HTML cu clasa corespunzătoare
- de id: selectează elementele HTML cu id-ul corespunzător
Exista și selectori compuși, care sunt formați prin alaturarea selectorilor de
element, clasa si id. Aceștia au precedenta calculată în funcție de nivelul de
specificitate a selectorilor continuti.
Embedded CSS prin atributul style are nivelul maxim de specificitate.

2.2. Modelul “cutie” (the box model)

Content - conținutul "cutiei", unde se poate regasi textul sau imaginea.


Padding - o arie transparenta care apare în jurul content-ului.
Border - un chenar care apare in afara padding-ului.
Margin - o arie transparenta care apare în afara border-ului.

2.3. Proiectarea interfețelor web: responsive design


Faci un mokap mai intai si faci mobile first

3. Programare la nivel client


3.1. Elemente Javascript: particularități, tipuri de date
Permite parcurgerea si manipularea obiectelor dom

Particularitati: limbaj interpretat


Case sensitive
Variabilele isi pot schimba tipul pe parcursul functiei

Tipuri de date: number string boolean object null undefined


3.2. Manipularea DOM (document object manager)
O structura de date care modeleaza elementele html
Ierhaic-arborescent

4. Programare la nivel server


4.1. Server web (Apache) – descriere, configurare (virtual host)

4.2. Transmiterea parametrilor (GET vs. POST)


GET este folosit pentru a solicita date de la o resursă specifică
Șirul de interogare (perechi nume/valoare) este trimis în adresa URL a unei cereri
GET:
/test/test.php?name1=value1&name2=value2

POST este folosit pentru a trimite date către un server pentru a crea/actualiza o
resursa:
POST /test/test.php HTTP/1.1
name1=value1&name2=value2

4.3. Utilizarea “cookies” și sesiunilor

Cookie:

Un cookie este o pereche atribut-valoare trimisă de un server


browserului web și apoi trimisă înapoi (nemodificată) de către
navigator, de fiecare dată când accesează acel server
Trimiterea (setarea) unui cookie se face prin intermediul
header-ului Set-Cookie: al unui răspuns HTTP trimis de către
server urmare a unei cererei
Un server poate trimite(seta) mai multe cookie-uri prin
trimiterea de headere Set-Cookie: multiple.
Trimiterea inapoi a unui cookie se realizează prin intermediul
headerului HTTP.

Sesiune:

Protocolul HTTP este un protocol state-less. Fiecare


cerere/răspuns sunt individuale și nu depind de celelalte.
Un server web nu poate determina dacă o cerere este legată
de una anterioara, de la același client.
Implementarea unui mecanism prin care putem identifica ca o
cerere face parte dintr-o succesiune de cereri de la același
client este esențială în dezvoltarea aplicațiilor web
¨ Exemplu: realizarea unor pagini ce necesita autentificare
Sesiunea este un de mecanism ce permite reținerea
informațiilor despre starea clientului.”
Implementarea sesiunilor se realizeaza cel mai adesea prin intermediul
cookie-urilor
4.4. Accesul la baze de date

Sripturile PHP pot conține și cereri SQL, care vor fi adresate serverului de
baze de date (mySQL).

Pentru a avea acces la o baza de date de pe un server de baze de date,


primul lucru care trebuie facut este conectarea la baza de date MySQL. Daca nu
suntem conectati, comenzile catre baza de date vor esua.

Pentru a folosi o baza de date trebuie sa precizam numele de utilizator


(username), parola (password), numele bazei de date si un hostname.

Printr-o comanda care va contine aceste date, vom transmite serverului de


baze de date ca ne dorim sa deschidem o conexiune cu baza de date specificata,
primind astfel acces si putand efectua apoi interogari SQL pe acea baza de date.

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