Sommario APPUNTI WEB SERVER E PHP

Похожие документы
Javascript e CSS nelle pagine WEB

3.3.6 Gli operatori Le funzioni di accesso al tipo Le strutture di controllo Le funzioni

XAMPP - Cos'è e installazione in locale

PROGRAMMAZIONE DISCIPLINARE DIPARTIMENTALEDI INFORMATICA

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE TRIENNIO: TERZA DISCIPLINA: INFORMATICA

Corso di Web Programming

Prof. Pagani Corrado HTML

venerdì 31 gennaio 2014 Programmazione Web

Manuale Utente Impostazione router Tele-assistenza

CURRICOLO DIPARTIMENTO INFORMATICA PRIMO BIENNIO

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 8 novembre Corso di laurea in Economia

Linee di programmazione

D B M G Il linguaggio HTML

DOMINI E HOSTING Concetti generali

XAMPP Installazione e configurazione

Modulo o Form in Html

Tecnologia dell Informazione

APPENDICE 4 AL CAPITOLATO TECNICO

Siti web centrati sui dati (Data-centric web applications)

Applicazioni web centrati sui dati (Data-centric web applications)

IL SITO WEB. Concetti generali

Parte II.4 World Wide Web

Tratte da (18. TECNICHE DI ACCESSO AI DATABASE IN AMBIENTE INTERNET)

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

V. Moriggia Modelli di Base Dati. Modelli di Base Dati. a.a. 2001/

Corso Creare Siti WEB

DBMS. Alice Pavarani

SISTEMI OPERATIVI, RETI, INTERNET

a creare una pagina per consentire la gestione di un carrello della spesa online Pacchetti con Web server, motore php e dbms server

SETA Selection Tool del Sistema ARTIST

Internet come funziona?

Sessione ordinaria 2003 Seconda prova scritta ESAME DI STATO DI ISTITUTO TECNICO INDUSTRIALE Indirizzo: INFORMATICA CORSO SPERIMENTALE Progetto ABACUS

Siti interattivi e dinamici. in poche pagine

Symantec IT Management Suite 8.0 powered by Altiris technology

Esercitazione 8. Basi di dati e web

MICROSOFT ACCESS IL MODELLO E/R

SISTEMI INFORMATIVI E DATABASE

L XML è un linguaggio di markup aperto e basato su testo che fornisce informazioni di tipo strutturale e semantico relative ai dati veri e propri.

INFORMATICA. Prof. MARCO CASTIGLIONE. Istituto Tecnico Statale Tito Acerbo - PESCARA

Corso di Informatica Modulo T3 B1 Programmazione web

Ripasso Concetti Pratica in Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 3

Microsoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati

Introduzione Concetti Generali Pratica su Access Link utili. ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 1

Foglio elettronico e Banche dati e per la Pubblica Amministrazione

Corso di PHP. Prerequisiti. 1 - Introduzione

10 Creare. collegamenti ipertestuali

I-XIII_romane_sawyer :50 Pagina V. Indice. Prefazione

Raccolta e memorizzazione dei dati immessi nei moduli dai visitatori

Architetture di rete. 4. Le applicazioni di rete

Corso di Web programming Modulo T3 A2 - Web server

MICROSOFT OFFICE POWERPOINT Come creare presentazioni interattive di documenti.

Sistema Operativo (Software di base)

Linguaggi di Programmazione

Elena Baralis 2007 Politecnico di Torino 1

Oxatis DataPlug. Per Windows XP, Windows Vista, Windows 7, Windows 8 e Windows 10. Manuale d uso della console Danea/EasyFatt

Informatica WINDOWS. Francesco Tura F. Tura

Comunicazione Digitale

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Seminari Eucip, Esercizio e Supporto di Sistemi Informativi

Corso basi di dati Introduzione alle ASP

Strumenti per l automazione del testing di applicazioni web Javascript-based

Programmare server. Programmazione Web 1

Definizione di file. Directory e file File binari e file di testo

Corso di PHP. Prerequisiti. 1 - Introduzione

Programmazione web lato client con JavaScript. Marco Camurri 1

Server web e protocollo HTTP

Транскрипт:

Sommario Database...2 Normalizzazione...2 1 Forma normale...3 2 Forma normale...3 3 Forma normale...3 E/R (Entity/Relationship)...3 Modello concettuale...3 Modello logico...3 Modello fisico...3 DBMS (Database Management System)...3 Database relazionali e RDBMS...4 Web Server...4 Html e pagine web statiche...4 Pagine web dinamiche...5 Protocollo HTTP...5 Impiego web server...5 Piattaforme software...6 Davide Monnati 1

Database Normalizzazione APPUNTI WEB SERVER E PHP La normalizzazione di un database serve ad eliminare la ridondanza delle informazioni che ci potrebbero essere al proprio interno. É molto importante eliminare la ridondanza, non solo per l inutile spreco di spazio in più che essa potrebbe comportare, ma anche per le possibili anomalie che si potrebbero comportare durante le varie operazioni che vengono effettuate all interno del database. Data la seguente tabella non normalizzata, dove vengono rappresentati i vari prodotti presenti in una catena di supermercati distribuita in tutta Italia, possiamo notare che le varie anomalie: - Anomalia di aggiornamento: Se il magazzino VE1, dovesse cambiare indirizzo, sarebbe necessario modificare tutti i valori di IndirizzoMagazzino che coincide con il magazzino VE1. - Anomalia di cancellazione: Se un magazzino si dovesse svuotare, verrebbero elimitate tutte le informazioni che appartengono a quel magazzino. - Anomalia di inserimento: Se si dovesse aprire un nuovo magazzino, mancherebbero alcuni dati, tra qui l indirizzo. Davide Monnati 2

1 Forma normale Una tabella si dice in prima forma normale, quando: - Tutte le sue righe hanno lo stesso numero di attributi - Una colonna contiene tutti i valori dello stesso tipo - Non esistono due righe uguali - L ordine di inserimento non conta - Non esistono attributi ripetuti o composti 2 Forma normale Una tabella si dice in seconda forma normale, quando: - Rispetta già la prima forma normale - Tutti gli attributi che non appartengono alla chiave, dipendono dall intera chiave 3 Forma normale Una tabella si dice in terza forma normale, quando: - Rispetta già le prime due forme normali - Tutti gli attributi non appartenenti alla chiave dipendono solo dalla chiave E/R (Entity/Relationship) Il modello E/R (Entità Relazioni) è il modello che adottiamo per la progettazione concettuale. Nella costruzione del modello E/R si individuano gli oggetti, detti entità e gli attributi, che rappresentano le caratteristiche delle entità individuate, e infine le associazioni che individuano le correlazioni logiche tra entità. Modello concettuale Modello logico Modello fisico DBMS (Database Management System) Il DBMS (detto anche Database Management System) è un software realizzato per la manipolazione e la gestione di uno o più database contemporaneamente. Questa tipologia di software, nella maggior parte dei casi funge anche da server. Il DBMS si occupa inoltre delle politiche di accesso, gestione utenti e dei vari permessi. Davide Monnati 3

Database relazionali e RDBMS I DBMS non sono tutti della stessa tipologia, in quanto esistono alcuni DBMS basati sul modello relazionale, questi sono chiamati con l acronimo RDBMS (Relational Database Management System), sviluppati dall informatico Britannico Edgar F.Codd nel 1970, che dopo 40 anni dallo sviluppo, si dimostrano tutt ora attuali. Un database relazionale è formato da tabelle, ognuna delle quali composta da righe identificate da una chiave o codice univoco. Nell immagine qui sotto possiamo vedere un esempio di tabella avente sette campi, tra cui il primo, denominato id_post, contenente la chiave primaria e gli ultimi tre che contengono una chiave secondaria, che verrà utilizzata per creare un legame con le altre tre chiavi primarie delle altre tre tabelle. Questo legame viene chiamato relazione. Web Server Html e pagine web statiche L HTML è lo standard utilizzato per la diffusione delle pagine web. Il linguaggio HTML permette di definire la visualizzazione del documento, integrando link ipertestuali tramite dei tag d impaginazione verso altri documenti che si possono reperire in rete. Il DHTML non è un vero linguaggio, ma un insieme di linguaggi che permettono di creare pagine web più dinamiche, Questi linguaggi sono: - Il linguaggio HTML 4.0 o superiori - Il javascript - Il DOM (Document Object Model) - I fogli di stile CSS, che raggruppano in un solo file tutte le definizioni degli stili che definiscono l impaginazione della pagina web. Un sito web composto da pagine statiche viene qualificato (come sito web statico), sufficiente solamente nel caso in cui deve contenere poche pagine web. Davide Monnati 4

Un sito web statico è molto limitato per i seguenti motivi: - Manutenzione difficile in quanto dovrà essere effettuata modificando manualmente una pagina alla volta - Impossibilità di inviare pagine personalizzate secondo il visitatore - Impossibilità di creare pagine inserendo i valori contenuti all interno di un database. Pagine web dinamiche Al contrario delle pagine web statiche, quelle dinamiche permettono implementare quelle caratteristiche in più utilizzando i vari linguaggi di scripting, fra cui abbiamo: - CGI (Common Gateway Interface), è stato il primo e consisteva nel utilizzare un programma scritto in perl o in linguaggio C che inviava un contenuto compatibile con il protocollo HTTP - Linguaggio ASP di Microsoft, con il quale si possono scrivere script che manipolano vari oggetti in VBScript - Linguaggio PHP (Hypertext preprocessor), linguaggio simile al C++ e Perl, che permette di avere numerose funzionalità. Una differenza importante di una pagina web statica e dinamica è che, nel primo caso, la pagina scritta nel linguaggio HTML, viene interpretata direttamente dal browser web prensente all interno del nostro pc, nel secondo caso invece, la pagina web contiene degli script (PHP o ASP), che viene eseguito a lato server. Protocollo HTTP La trasmissione delle pagine web attraverso la rete internet, avviene utilizzando il protocollo HTTP (Hyper Text Transfer Protocol). Il funzionamento di questo protocollo è molto semplice: l utente richiede una pagina inserendo un indirizzo URL (o IP, nelle reti di piccole dimensioni sprovviste di server DNS interno) nel proprio browser (client) o cliccando in un link e avrà come output la pagina web ospitata nel server remoto, con il relativo testo, immagini e video (se presenti). Un server non è altro che un computer connesso alla rete internet che si occupa di ricevere richieste e di fornire il file richiesto dal client. Con il termine web server indicheremo un computer che fornisce pagine web a client remoti, utilizzando il protocollo HTTP. Impiego web server I server web sono oramai adatti ad ospitare siti web o altri progetti che richiedono particolari esigienze. Ad esempio: - Progetti web che contengono grandi volumi si disco di materiale multimediale (foto, video, audio ecc ); - Progetti che devono gestire una grande quantità di utenza giornaliera; - Progetti che richiedono un elevato grado di protezione dati, utilizzando il protocollo sicuro HTTPS. I server web possono essere creati utilizzando due ambienti diversi: L ambiente UNIX lixe (comprende sistemi come FreeBDS e GNU/Linux) o ambiente Windows. Davide Monnati 5

Scegliere un ambiente non significa scegliere solamente il linguaggio di programmazione, ma anche l insieme si software e framework. Su ambiente UNIX Like, avremmo a che fare con tutto il pacchetto Apache, MySQL o MariaDB. Su ambiente windows, avremmo a che fare sia con il pacchetto IIS con tutte le estensioni ISAPI (sviluppati di fatto da Microsoft), oppure con il pacchetto apache e MySQL. La maggior parte dei server che ci sono online (circa l 80%), sono basati su sistemi UNIX Like (BSD e GNU/Linux) in quanto, rispetto all ambiente Windows ha una sicurezza e stabilità maggiori. Piattaforme software Le piattaforme software che ci sono a disposizione per creare un server web sono: L.A.M.P LAMP è acronimo di Linux (Sitema Operativo) Apache (Server Web), MySQL o MariaDB (Database managment system) e Perl, PHP e/o Python (Linguaggio di scripting). Questa piattaforma software prende il nome dai software che la compone e gira su ambiente GNU/Linux. WAMP WAMP è acronimo di Windows (sistema operativo) Apache (Server Web), MySQL o MariaDB (Database managment system) e Perl, PHP e/o Python (Linguaggio di scripting). XAMPP XAMPP è una piattaforma per la creazione di web server che comprende i pacchetti Apache, MariaDB e tutti gli strumenti per l utilizzo dei linguaggi di scripting PHP e Perl. XAMPP è acronimo di: X sta per cross-platform, A sta per Apache, M sta per MariaDB, P sta per PHP e l ultima P sta per Perl. CGI L acronimo CGI sta per Common Gateway Interface, non è altro che una tecnologia che permette ai server web di interfacciarsi con delle applicazioni esterne che generano contenuti dinamici. CGI è stata la prima piattaforma che ha permesso l elaborazione di pagine web direttamente al lato server: quando ad un web server arriva la richiesta di un documento CGI (che solitamente ha estensione.exe,.cgi o.pl), il server esegue il programma inviando l output al client. Attualmente CGI è utilizzato solamente con il protocollo HTTP, in futuro potrebbe essere esteso ad altri protocolli. Nei server web basati sulla piattaforma IIS, la cartella di esecuzione dei software CGI è /cgi-bin/, anche se in qualche occasione è consigliabile modificarla in quanto potrebbe essere soggetta ad attacchi bot. I linguaggi di programmazione utilizzati da questa tecnologia, sono generalmente C/C++ e Perl. Alcuni applicativi utilizzano la tecnologia FastCGI per introdurre nuovi linguaggi di scripting, interpretati e non compilati, come ad esempio il PHP. Davide Monnati 6