Utilizare Internet

Documente similare
Utilizare Internet

Utilizare Internet

Utilizare Internet

Utilizare Internet

Utilizare Internet

Utilizare Internet

Utilizare Internet

PHP (II)

tehnologii web

Microsoft Word - Curs 11 - PHP.doc

Inserarea culorilor in tabele

Microsoft Word - Curs_10.doc

Elemente de Web design

proiectarea bazelor de date

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

Diapositive 1

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

Addendum Syllabus 6 Microsoft Access 2016 REF Syllabus 6.0 Cunoașterea domeniilor în care se utilizează bazele de date Datorită potenţialului ma

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

Baze de date Anul 2 Teorie Examen 1. Diagrama entitate/relatie si diagrama conceptuala (curs 2-5) 2. Arbore algebric si expresie algebrica (curs 6-10)

PowerPoint Presentation

PowerPoint Presentation

Testare manuala: situatia in care o persoana initiaza fiecare test, interactioneaza cu el si interpreteaza, analizeaza si raporteaza rezultatele. Test

Procesarea Imaginilor - Laborator 1: Introducere în utilizarea bibliotecii OpenCV 1 1. Introducere în utilizarea bibliotecii OpenCV 1.1. Introducere S

Concepte de bază ale Tehnologiei Informației

OPERATII DE PRELUCRAREA IMAGINILOR 1

Microsoft Word - Curs_07.doc

Lucrarea 10

E_d_Informatica_sp_SN_2014_bar_10_LRO

Microsoft PowerPoint - Curs_SDA_9_RO_2019_v2.pptx

EXCEL FĂRĂ SECRETE Grafice şi diagrame

Microsoft Word - Catalin Vrabie_Elemente de IT paginat VOL. II.doc

Fâciu N. Maria-Ema CASA CORPULUI DIDACTIC BRĂILA PROGRAM DE FORMARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: Fâciu N. M

Microsoft Word - Laboratorul 3.doc

ALGORITMICĂ. Seminar 3: Analiza eficienţei algoritmilor - estimarea timpului de execuţie şi notaţii asimptotice. Problema 1 (L) Să se determine număru

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

Microsoft Word - Curs_08.doc

E_d_Informatica_sp_MI_2015_bar_02_LRO

Spatii vectoriale

Cuantizare Vectoriala.doc

Funcţii singulare

GHERCĂ MAGDA CASA CORPULUI DIDACTIC BRĂILA PORTOFOLIU EVALUARE INFORMATICĂ ȘI TIC PENTRU GIMNAZIU CLASA A V-A Neamț SERIA 1 GRUPA 1 CURSANT: GHERCĂ G

Admitere

PowerPoint Presentation

Aggregating Data

manual_ARACIS_evaluare_experti_v5

Raportarea serviciilor de dializă la nivel CNAS

Slide 1

SIVECO standard template for large documents

carteInvataturaEd_2.0_lectia5.pdf

Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

Utilizare Internet

Transmisia datelor multimedia in retele de calculatoare <Titlu Lucrare>

PowerPoint Presentation

Laborator 3

Recrutarea: Un ghid digital 1

Baze de date

ADRIAN TRIF BAZE DE DATE APLICAŢII ACCESS UTPRESS Cluj-Napoca, 2019 ISBN

Ruby on Rails Pop Alexandru Pavel Razvan Calculatoare 4

PPSD

PROIECT DE PROCEDURA privind activitatea de supraveghere audio-video a proceselor de evaluare desfășurate de către centrele de evaluare și certificare

PROIECT DIDACTIC Clasa a VII-a Informatică și TIC

manual_ARACIS_evaluare_experti_v4

CASA CORPULUI DIDACTIC BRAILA PROGRAM DE FORMARE INFORMATICA SI TIC PENTRU GIMNAZIU CLASA A V-A SERIA 1 GRUPA 2 CURSANT: TIMOFTI V. AFRODITA COLEGIUL

Microsoft Word - Excel_3.DOC

PowerPoint Presentation

Procesarea documentelor XML in Linux

HONEYWELL AWARD

Laborator02

UNIVERSITATEA DIN BUCUREŞTI Forma de finanțare: buget/ taxă Facultatea de Teologie Romano-Catolică Forma de învățământ: IF / IFR Domeniul: Teologie Pr

Gestionarea I/E

Platforma 5. 1 Introducere in MSSQL Introducere Pe parcursul ultimilor ani, se poate observa o cuplare a limbajelor de programare majore cu tipuri de

Prezentarea calculatorului

Kein Folientitel

Microsoft Word - planInvLicenta-ET doc.doc

Paradigme de Programare

Avocatoo KIT GDPR

Prezentarea calculatorului

Informație și comunicare

Limbaje de Programare Curs 6 – Functii de intrare-iesire

BDV-EF1100

pliant_Haenel.cdr

PowerPoint Presentation

Matematici aplicate științelor biologie Lab05 MV

Logo UEA Segíthetek

Microsoft Word - Fisa disciplinei BD_I_IE doc

Microsoft Word - Politică de cookie-uri OK_v1.docx

Volumele Conferintei vor aparea cu ISBN si ISSN, in conformitate cu uzantele internationale, ceea va facilita includerea lor in cea mai favorabila cat

Atestat 2007

PowerPoint-Präsentation

PROIECT DIDACTIC DATE DE IDENTIFICARE Data: Școala : Școala Gimnazială Grigore Moisil Ploiești Clasa: a VI-a Profesor: Ilie Oana Magdalena Disciplina:

Introducere în limbajul JavaScript

Logică și structuri discrete Logică propozițională Marius Minea marius/curs/lsd/ 3 noiembrie 2014

Capitole Speciale de Informatică Curs 1: Extragerea informaţiilor. Modelul boolean şi modelul boolean extins 27 septembrie 2018 Extragerea informaţiil

CABINET MINISTRU

Microsoft PowerPoint - Curs_SDA_10_RO_2019_v1.pptx

Lucrarea 7 Filtrarea imaginilor BREVIAR TEORETIC Filtrarea imaginilor se înscrie în clasa operaţiilor de îmbunătăţire, principalul scop al acesteia fi

Utilizarea Internetului in Afaceri FSEGA, UBB Lect.univ.dr. Daniel Mican LABORATOR 4. Dezvoltarea site-urilor si blog-uri

Transcriere:

Curs 7 2012/2013 1

1. I Laborator asincron! recomandat 4 = Optim L3 L4 L5 L6 2. P 3. R L3 L4 L5 L6 L3 L4 L5 L6 4. O L3 L4 L5 L6 L3 L4 L5 L6 5. T 2

3

in lista_categ.php <a href="lista_prod.php?categ=<?php echo $cat;?>"> <?php echo $cat;?> </a> are efect in lista_prod.php $_GET['categ']="valoarea $cat corespunzatoare" $cat lista_categ.php CATEGORII PRODUSE formular.php PRODUSE, PRET, COMANDA rezultat.php PRELUCRARE COMANDA 4

5

Sa se continue magazinul virtual cu: produsele sunt grupate pe categorii de produse sa prezinte utilizatorului o lista de grupe de produse pentru a alege sa prezinte utilizatorului o lista de produse si preturi in grupa aleasa lista de produse si preturi se citeste dintr-un fisier se preia comanda si se calculeaza suma totala Optional se creaza o pagina prin care vanzatorul poate modifica preturile si produsele 6

exemplu de grupare papetarie carti caiete hartie de scris creioane produse instrumente stilouri marker CD audio video DVD Blue Ray 7

8

9

<element1 atribut1 = "valoare"... > <element2 atribut2 = "valoare"> <element3>...</element3>... </element2>... </element1>... <element1> </element1> 10

Biblioteci PHP de acces la XML DOM XML XML Parser (Reader, Writer) Simple XML 11

structura tip arbore 1 2 papetarie carti 3 caiete etc. hartie de scris creioane x y produse instrumente stilouri z marker CD audio video DVD Blue Ray 12

structura tip arbore 1 element1 2 element2 element2 element3 3 element3 etc. element3 x element3 y element3 z element3 element3 element2 element3 element3 13

<?xml version="1.0" encoding="utf-8"?> <gallery titlu="photomagic" thumbdir="./fotografii/thumbnails/" imagedir="./fotografii/ > <category nume="viata"> <image> <desc>curiozitate</desc> <img>foto33.jpg</img> <thumb>foto33th.jpg</thumb> </image> </category> <category nume="nunta"> <image> <desc>asteptare</desc> <img>foto132.jpg</img> <thumb>foto132th.jpg</thumb> </image> </category> </gallery> 14

15

Citirea si scrierea unui fisier XML Curs 6 fiecare produs e caracterizat de: nume, pret, (eventual) descriere, cantitate comandata matricea asociata: $produse[ produs ] = [ caracteristici ] Gruparea elementelor pe categorii $produse[ produs ] = [ caracteristici ] $produse[ categorie ][ produs ] = [ caracteristici ] 16

Codul aplicatiei ramane in mare parte acelasi Se modifica doar citirea valorilor pentru popularea matricii $produse ( antet.php ) <?xml version="1.0" encoding="utf-8"?> <produse user="magazin" password="parola"> <categorie nume="papetarie"> <produs> <desc>mai multe pagini scrise legate</desc> <nume>carte</nume> <pret>100</pret> <cant>0</cant> </produs> </categorie> <categorie nume="instrumente"> <produs> <desc>loc de depozitat instrumente de scris</desc> <nume>penar</nume> <pret>150</pret> <cant>0</cant> </produs> </categorie> 17

$matr=file("produse.txt"); foreach ($matr as $linie) { $valori=explode("\t",$linie,5); $produse[$valori[0]] [$valori[1]]=array ("descr" => $valori[2], "pret" => $valori[3], "cant" => $valori[4]); } $xml = simplexml_load_file("lista.xml"); if ($xml) { foreach ($xml->categorie as $categorie) { $produse[(string)$categorie["nume"]]=array(); foreach ($categorie->produs as $prod_cur) { $produse[(string)$categorie["nume"]][(string)$prod_cur->nume]=array ("descr" => (string)$prod_cur->desc, "pret" => (string)$prod_cur->pret, "cant" => (string)$prod_cur->cant); } } } 18

Sa se continue magazinul virtual cu: produsele sunt grupate pe categorii de produse sa prezinte utilizatorului o lista de grupe de produse pentru a alege sa prezinte utilizatorului o lista de produse si preturi in grupa aleasa lista de produse si preturi se citeste dintr-un fisier XML se preia comanda si se calculeaza suma totala se creaza o pagina prin care vanzatorul poate modifica preturile si produsele 19

sectiunile repetabile pot fi mutate intr-un fisier separat si introduse cu require() se identifica zonele comune <html> <head> <title>magazin online Firma X SRL</title> </head> <body bgcolor="#ccffff"> <table width="600" border="0" align="center"> <tr><td><img src="images/antet.gif" width="600" height="100" /></td></tr> <tr><td height="600" valign="top" bgcolor="#ffffcc"> Continut </td></tr> </table> </body> </html> 20

antet.php <html> <head> <title>magazin online Firma X SRL</title> </head> <body bgcolor="#ccffff"><?php define('pret_carte',100); </td></tr> </table> </body> </html> subsol.php //orice cod comun PHP?><table width="600" border="0" align="center"> <tr><td><img src="images/antet.gif" width="600" height="100" /></td></tr> <tr><td height="600" valign="top" bgcolor="#ffffcc"> <h1>magazin online Firma X SRL</h1> <?php require('antet.php');?> <h2>lista Produse</h2> <table border="1"> </table> <?php require('subsol.php');?> 21

antet.php orice cod de structura (HTML) comun orice cod de aplicatie comun (PHP) aproape toate paginile dintr-o aplicatie au nevoie de: acces la date verificare drepturi de acces definitii constante definire/incarcare date din sesiunea de lucru ($_SESSION) subsol.php orice cod de structura (HTML) comun orice cod de aplicatie comun (PHP) de obicei mai redus: salvare date in sesiunea de lucru ($_SESSION) 22

Pe masura ce aplicatia paraseste un fir liniar de executie este necesara introducerea unui plan (graf) al aplicatiei Cumparator citirea fisierului XML se realizeaza in antet.php, comun pentru toate fisierele lista_categ.php CATEGORII PRODUSE formular.php PRODUSE, PRET, COMANDA rezultat.php PRELUCRARE COMANDA 23

Aparitia aplicatiei pentru vanzator introduce un fir paralel de executie cu necesitatea alegerii initiale: cumparator/vanzator aduce posibilitatea scrierii fisierului XML diverse operatii de scriere introducere categorie de produse introducere produs nou intr-o categorie existenta modificare produs existent modificarea fisierului implica 2 actiuni: colectare date prelucrare 24

De multe ori se prefera aceasta varianta Permite pastrarea unitara a tuturor operatiilor pentru indeplinirea unei actiuni acces mai simplu usurinta la programare evitarea erorilor: File does not exist: D:/Server/ Acelasi fisier e folosit initial pentru a colecta date si apoi, daca se detecteaza prezenta acestora, pentru prelucrarea lor 25

Fisierul de receptie pentru <form> va fi fisierul curent se recomanda utilizarea variabilei globale $_SERVER['PHP_SELF'] flexibilitate la redenumirea fisierelor Sectiunea de colectare date se afiseaza numai in absenta datelor <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> <p><input name= date_ok" type="submit" value="trimite" /></p> </form> 26

Detectia existentei datelor se face prin verificarea existentei ( isset($variabila) ) valorilor introduse eventual pentru un plus de protectie se poate verifica si continutul lor if (isset($_post[" date_ok "])) { //date trimise if ($_POST[" date_ok "]=="Trimite" ) { //date trimise de fisierul curent //prelucrare } } else { //colectare date <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> <p><input name= date_ok" type="submit" value="trimite" /></p></form> } 27

lista_categ.php formular.php rezultat.php index.php Selectie C/V C V Alegere categorie admin_categ.php Alegere / introducere categorie Introducere date admin_lista.php Alegere produs Prelucrare comanda admin_formular.php Modificare / Introducere produs post get subsol.php antet.php lista.xml 28

29

post get 30

Sa se continue magazinul virtual cu: produsele sunt grupate pe categorii de produse sa prezinte utilizatorului o lista de grupe de produse pentru a alege sa prezinte utilizatorului o lista de produse si preturi in grupa aleasa lista de produse si preturi se citeste dintr-un fisier XML se preia comanda si se calculeaza suma totala se creaza paginile prin care vanzatorul poate modifica preturile, produsele, categoriile 31

MySql 32

XML - extensible Markup Language XML isi atinge limitarile atunci cand: cantitatea de date este mare prelucrarile datelor sunt complexe In general XML citeste in intregime fisierul care contine datele memoria necesara script-urilor PHP poate creste pana in punctul atingerii ineficientei Prelucrarile trebuie facute in PHP PHP este limbaj interpretat deci ineficient pentru prelucrari masive de date 33

Baza de date instrument pentru stocarea si manipularea informatiei eficient si efectiv datele sunt protejate de corupere sau pierderi accidentale nu se utilizeaza mai multe resurse decat minimul necesar datele pot fi accesate cu performanta acceptabila Baze de date relationale model relational (matematic eficient) Codd ~1970 34

DBMS database management system aplicatii incluse in baza de date pentru accesul la informatii RDBMS Relational DBMS. Majoritatea sistemelor de baze de date tind la aceasta titulatura ~300 de reguli trebuie respectate nici un sistem actual nu implementeaza total aceste reguli 35

Toate sistemele de baze de date sunt caracterizate de: toate informatiile sunt reprezentate intr-o aranjare ordonata bidimensionala numita relatie toate valorile (atribute) stocate sunt scalare (in orice celula din tabel se stocheaza o singura valoare) toate operatiile se aplica asupra unei intregi relatii si rezulta o intreaga relatie Terminologii (MySql) tabel table / recordset / result set linie record / row coloana field / column 36

toate informatiile sunt reprezentate intr-o aranjare bidimensionala numita relatie aranjarile bidimensionale nu sunt ordonate implicit datele trebuie stocate pentru a implementa o relatie in asa fel incat fiecare linie sa fie unica cheie candidata exista cel putin o combinatie de atribute (coloane) care pot identifica in mod unic o linie aceste combinatii de atribute se numesc chei candidate 37

Din toate combinatiile de coloane care pot fi utilizate pentru identificarea unica a unei linii se alege macar una utilizata intern de RDBMS pentru ordonarea datelor cheie primara Celelelte chei candidate devin chei alternative si pot fi folosite pentru eficientizarea prelucrarilor (crearea de index dupa aceste chei) In cazul in care nu exista o combinatie de coloane utilizabila ca si cheie cu utilitate practica se introduce artificial o cheie, cu numere intregi incrementate automat de DBMS (autoincrement) de multe ori este recomandata o astfel de actiune, numerele intregi fiind mult mai usor de controlat, ordonat, cautat decat alte tipuri de date cheile de tip autoincrement nu e nevoie sa contina informatie 38

Normalizarea asigura: stocarea eficienta a datelor prelucrarea eficienta a datelor integritatea datelor Trei nivele de normalizare Eliminarea datelor redundante 39

40

41

toate valorile sunt scalare nu toate rezolvarile sunt eficiente 42

O relatie este in a doua forma normala cand este in prima forma normala si suplimentar atributele (valorile de pe coloana) depind de intreaga cheie candidata aleasa 43

44

O relatie este in a treia forma normala cand este in a doua forma normala si suplimentar atributele (valorile de pe coloana) care nu fac parte din cheie sunt mutual independente 45

46

Se tine cont si de eliminarea datelor redundante. Anumite redundante pot fi eliminate prin introducerea de relatii suplimentare Forma normala Boyce/Codd cere sa nu existe dependenta functionala intre cheile candidate 47

48

MySql Recapitulare rapida 49

Respectarea formelor normale ale bazelor de date aduce nenumarate avantaje Efectul secundar este dat de necesitatea separarii datelor intre mai multe tabele In exemplul utilizat avem doua concepte diferite din punct de vedere logic produs categorie de produs 50

Normalizarea bazei de date impune crearea a cel putin doua tabele produse categorii Cele doua tabele nu sunt independente Intre ele exista o legatura data de functionalitatea dorita pentru aplicatie: un produs va apartine unei anumite categorii de produse 51

Legaturile intre tabele pot fi One to One One to Many Many to Many Unare (auto referinta) 52

Fiecare tabel poate avea corespondenta o singura linie (row) sau nici una de cealalta parte a relatiei echivalent cu o relatie bijectiva analogie cu casatorie: o persoana poate fi casatorita sau nu daca este casatorita va fi casatorita cu o singura persoana din tabelul cu persoane de sex opus persoana respectiva va fi caracterizata de aceeasi relatie one to one primeste simultan un singur corespondent in tabelul initial 53

de multe ori legaturile one to one se bazeaza pe reguli externe de obicei se poate realiza usor si eficient gruparea ambelor tabele in unul singur 54

O linie dintr-un tabel (row), identificata prin cheia primara, poate avea: nici una, una sau mai multe linii corespondente in celalalt tabel. In acesta o linie poate fi legata cu o singura linie din tabelul primar. Analogie cu relatii parinte/copil: fiecare om are o singura mama fiecare femeie poate avea nici unul, unul sau mai multi copii 55

de obicei aceste legaturi se implementeaza prin introducerea cheii primare din tabelul One in calitate de coloana in tabelul Many (cheie externa foreign key) 56

Fiecare linie (row) din ambele tabele implicate in legatura poate fi legat cu oricate (niciuna, una sau mai multe) linii din tabelul corespondent. Analogie cu relatii de rudenie (veri de exemplu), tabel 1 barbati, tabel 2 femei : fiecare barbat poate fi ruda cu una sau mai multe femei la randul ei fiecare femeie poate fi ruda cu unul sau mai multi barbati 57

de obicei aceste legaturi se implementeaza prin introducerea unui tabel suplimentar (numit tabel asociat sau de legatura) care sa memoreze legaturile 58

Un caz particular de legatura one to many in care legatura e in interiorul aceluiasi tabel rezolvarea este similara, introducerea unei coloane suplimentara, cu referinta la cheia primara din tabel analogie cu relatii parinte copil cand ambele persoane se regasesc in acelasi tabel 59

Laboratorul de microunde si optoelectronica http://rf-opto.etti.tuiasi.ro rdamian@etti.tuiasi.ro 60