INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.



Documenti analoghi
Lezione V. Aula Multimediale - sabato 29/03/2008

DBMS (Data Base Management System)

Organizzazione degli archivi

Dispensa di database Access

Data Base. Master "Bio Info" Reti e Basi di Dati Lezione 6

Il linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.

Capitolo 13. Interrogare una base di dati

TEORIA sulle BASI DI DATI

ITI M. FARADAY Programmazione modulare a.s

Sistemi Informativi e Basi di Dati

Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:

Archivi e Basi di Dati

Progettazione di Basi di Dati

DATABASE RELAZIONALI

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Operazioni sui database

Utilizzando Microsoft Access. Si crea la tabella Anagrafica degli alunni,le Materie e i voti si mettono alcuni campi

Le Basi di Dati. Le Basi di Dati

1. BASI DI DATI: GENERALITÀ

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

I database relazionali (Access)

DATABASE. A cura di Massimiliano Buschi

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

ESEMPI DI QUERY SQL. Esempi di Query SQL Michele Batocchi AS 2012/2013 Pagina 1 di 7

Al giorno d oggi, i sistemi per la gestione di database

I Sistemi Informativi

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

DATABASE.

OSSIF WEB. Manuale query builder

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

Basi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL

Introduzione al data base

Introduzione ai database relazionali

Access. P a r t e p r i m a

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

Data Base. Prof. Filippo TROTTA

19. LA PROGRAMMAZIONE LATO SERVER

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Raggruppamenti Conti Movimenti

Informatica per le discipline umanistiche 2 lezione 10

Introduzione. Elenco telefonico Conti correnti Catalogo libri di una biblioteca Orario dei treni aerei

ANNO SCOLASTICO: DISCIPLINA: INFORMATICA CLASSE: 5 SI INDIRIZZO: SISTEMI INFORMATIVI DOCENTI: TISO EMANUELE BARBARA SECCHI

Sistemi per la gestione di database: MySQL ( )

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Volumi di riferimento

PIANO DI LAVORO. a.s / 2015

DBMS. Esempi di database. DataBase. Alcuni esempi di DBMS DBMS. (DataBase Management System)

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Il database management system Access

Esercizio data base "Biblioteca"

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

PROGRAMMA DI CLASSE 5AI

Esercizio sui data base "Gestione conti correnti"

Corso di Access. Prerequisiti. Modulo L2A (Access) 1.1 Concetti di base. Utilizzo elementare del computer Concetti fondamentali di basi di dati

BASI DI DATI - : I modelli di database

Corso di Laboratorio di Basi di Dati

Facoltà di Farmacia - Corso di Informatica

Ministero della Pubblica Istruzione Ufficio Scolastico Regionale per la Sicilia Direzione Generale

Il seguente esempio ha lo scopo di illustrare i 3 tipi di relazione 1:1,1:N,N:N. Tabella Conto: Tabella Conto:

Database e reti. Piero Gallo Pasquale Sirsi

Progettazione di una base di dati Ufficio della Motorizzazione

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

Organizzazione delle informazioni: Database

Database. Si ringrazia Marco Bertini per le slides

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione

Tesi Di Laurea. Anno Accademico 2010/2011. relatore Ch.mo prof. Cinque Marcello. correlatore Ch.mo Ing. Catello Cacace

Corso di Informatica (Basi di Dati)

UN PROGRAMMA APPLICATIVO: ACCESS Access è un programma del pacchetto Office che permette di realizzare database

Corso di Sistemi di Elaborazione delle informazioni

Corso Sistemi Informativi Avanzati. Programma 30 set Installazione Macchina Virtuale. Introduzione alla BI nelle Aziende.

A.S. 2014/2015- Programma svolto di INFORMATICA ITCG E. Fermi Tivoli classe V C SIA. Programma svolto di. Informatica. classe VC S.I.A a.s.

Introduzione alla teoria dei database relazionali. Come progettare un database

Progettazione Web Applicazioni client-server

ECDL - Database. European Computer Driving Licence - Modulo 5 - Database LEZIONE 2

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

database: modello entityrelationship

Sistema G.U.S. Capitolato di Gara ALLEGATO A

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

corso di Access MICROSOFT ACCESS Docente: Andrea Mereu Università degli studi di Cagliari 16 aprile 9 maggio 2012

Appunti sulle basi di dati. Cos è una base base di dati? Introduzione. D. Gubiani. 19 Luglio 2005

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

Lezione 8. La macchina universale

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Base Dati Introduzione

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Lezione 8. Motori di Ricerca

MODULO 5 Appunti ACCESS - Basi di dati

IL SISTEMA INFORMATIVO

Basi di Dati e Microsoft Access

Progettazione di un Database

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Istruzioni DML di SQL

Progettazione di Database. Un Esempio

Transcript:

INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed utilizzata dalle applicazioni web a tre livelli, che impiega protocolli standard di comunicazione fra le varie componenti client e server. La rete Internet, basata sui protocolli TCP/IP, mette in comunicazione il computer client degli utenti mediante un browser, per accedere alle applicazioni web (realizzate con il linguaggio lato server PHP e memorizzate su un server web Apache). Le applicazioni scritte in PHP possiedono le funzioni necessarie per interrogare in SQL il DBMS MySQL, che può essere installato su di un server specifico o sullo stesso server su cui è in esecuzione il Web server. Durante l anno scolastico abbiamo dedicato particolare attenzione all approfondimento del livello di memorizzazione, gestione e manipolazione dati: i DATABASE.

I DATABASE In ogni applicazione informatica, dalla più complessa alla più semplice, vengono trattate informazioni ed è necessario che queste informazioni vengano memorizzate in archivi per essere in seguito disponibili per successive elaborazioni. Attraverso i database è possibile memorizzare e gestire in modo flessibile ed efficiente le informazioni che sono il vero patrimonio di ogni organizzazione. Una base di dati o database può essere considerata come una raccolta di dati progettati in modo tale da poter essere utilizzati in maniera ottimizzata da differenti applicazioni e da utenti diversi. Le informazioni necessarie a un organizzazione sono gestite da un sistema informativo. Un sistema informativo è un insieme organizzato di strumenti automatici, procedure manuali, risorse umane e materiali, norme organizzative, orientato alla gestione delle informazioni rilevanti per un organizzazione. Un sistema informatico è dunque un sottoinsieme del sistema informativo che si dedica alla gestione automatica delle informazioni, rappresentate mediante dati digitali. In prima analisi il sistema informatico (SI) è costituito dagli archivi elettronici in cui sono memorizzati tutti i dati relativi all azienda: dai supporti fisici per la memorizzazione dei dati, alle procedure di interrogazione per la ricerca delle informazioni (applicazioni), agli strumenti di comunicazione tra i terminali degli operatori. Nei database la definizione di dei dati e i dati stessi sono salvati all interno dello stesso database. DBMS Si definisce DBMS (Database Management System) il sistema di gestione del database visto il suo complesso. Il DBMS si preoccupa di gestire interamente i dati, compresa la loro definizione e il modo in cui vengono fisicamente archiviati. Esempi famosi di DBMS sono MySql e Access.

MODELLAZIONE DEI DATI Un modello di dati consiste in una rappresentazione astratta delle strutture dei dati di un database. L atto di creazione di un modello prende il nome di modellazione dei dati. Le strutture dei dati sono tutti gli oggetti del database e le regole che regolano le operazioni tra i dati. Esistono sostanzialmente due modi per modellare i dati: Modello Entità-Relazione; Modello a Oggetti. IL MODELLO ENTITÀ-RELAZIONI La stragrande maggioranza delle applicazioni esistenti fa uso di un approccio Entità-Relazione (E- R). Lo scopo del modello Entità-Relazione, consiste nel rendere in modo grafico tutti gli oggetti che fanno parte di un database in modo che il flusso delle informazioni possa essere seguito e verificato prima di sviluppare l applicazione, rappresentando così situazioni del mondo reale, utilizzando le Entità e le Relazioni. Un modello E-R è descritto dunque da entità, relazioni, attributi, e attributi cosiddetti CHIAVE.

ENTITÀ Le entità sono gli oggetti su cui vengono raccolte le informazioni. Un'entità del modello E-R rappresenta graficamente un concetto del mondo reale, come una persona o una macchina. Si dice istanza di un'entità un singolo oggetto descritto da quell'entità. RELAZIONI Una relazione rappresenta un'associazione tra una o più entità. Per esempio un'associazione può trovarsi tra Docente e Materia: un docente insegna una materia. Il Grado di una relazione rappresenta il numero di colonne prodotte, mentre la Cardinalità rappresenta il numero di righe. ATTRIBUTI Gli attributi descrivono le entità, per esempio il colore di un'auto o il nome di una persona. Un'istanza di un attributo è detto valore. Il dominio di un attributo è l'insieme di tutti i possibili valori che l'attributo può assumere. CHIAVE PRIMARIA Una chiave primaria è utilizzata per identificare univocamente un'istanza di un'entità (record). La chiave primaria può anche essere una chiave artificiale, ovvero un attributo che non descrive nulla della realtà, ma serve solo ad identificare il record. Una chiave composta è una chiave primaria formata da più di un attributo. CHIAVE ESTERNA Una chiave esterna è utilizzata per mettere in relazione due entità. La chiave esterna viene collegata alla chiave primaria dell entità associata, creando così la relazione. IL PROGETTO DI UN DATABASE Il progetto di un database interessa dunque la stesura di un modello E-R, a cui segue quella di uno schema logico di descrizione delle entità, in particolare indicando nome, tipo, obbligatorietà e se l attributo risulta essere o meno una chiave. Successivamente servendosi del linguaggio SQL si passa alla definizione delle relazioni della base di dati.

REGOLE DI INTEGRITÀ INTEGRITÀ REFERENZIALE Per avere l'integrità referenziale, ogni collegamento tra tabelle deve avere senso ed essere coerente. Inoltre per ogni valore di chiave esterna deve esistere un valore di chiave primaria nella tabella associata. INTEGRITÀ DELL'ENTITÀ Per ogni istanza di entità, la chiave primaria deve esistere (quindi non deve essere null) e deve essere unica. Per evitare chiavi ripetute si può pensare di utilizzare un attributo che si incrementa automaticamente. OPERAZIONI RELAZIONALI PROIEZIONE L operatore di proiezione recupera un sottoinsieme di colonne da una tabella. SELEZIONE L operatore di selezione, a volte chiamato selezione ristretta per evitare la confusione con il comando SQL SELECT, recupera un sottoinsieme di righe da una tabella basandosi su una condizione imposta ai valori contenuti in una o più colonne. CONGIUNZIONE (JOIN) L operazione di JOIN combina le operazioni di proiezione e di selezione. L operatore JOIN esegue inizialmente una proiezione tra due tabelle, successivamente seleziona dalla tabella risultante le righe che soddisfano una determinata condizione tra le colonne della prima e della seconda tabella.

IL LINGUAGGIO SQL I DBMS relazionali si servono del linguaggio SQL per effettuare tutte le operazioni precedentemente descritte su una base di dati. Si tratta di un linguaggio dichiarativo (non procedurale), ovvero non specifica la sequenza di operazioni da compiere per ottenere il risultato. Il linguaggio SQL, a sua volta, riunisce in sé funzionalità di DDL, DML, QL. DDL (Data Definition Language) è l insieme di comandi dedicati alla definizione di dati e tabelle. Permette di definire schemi di relazioni (o tabelle), modificarli ed eliminarli. Permette, inoltre, di specificare vincoli, sia a livello di riga che a livello di tabella. DML (Data Manipulation Language) è l insieme di comandi dedicati alla manipolazione di dati, include istruzioni per l inserimento, la cancellazione e la modifica dei dati: INSERT che inserisce nuovi record; DELETE che cancella i record; UPDATE che modifica i campi appartenenti al record. QL (Query Language) permette le interrogazioni, o query, che sono la funzionalità principale di SQL. I dati estratti tramite le query possono essere: Valori singoli; Elenchi; Tabelle temporanee.

LE CONGIUNZIONI JOIN Si definisce congiunzione o JOIN l associazione tra un campo in una tabella o query e un campo dello stesso tipo di dati in un altra tabella o query. Tipologie di JOIN: Inner join; Left join; Right join; Outer join; Full outer join.

GLI OPERATORI AGGREGATI Nell operazione di SELECT ci è permesso di aggregare particolari campi per ottenerne uno nuovo, attraverso gli operatori di raggruppamento o aggregati. AVG Esegue la media aritmetica del campo specificato. Sintassi: select avg(campo) COUNT Conta la righe del campo specificato. Sintassi: select count(campo) MAX Visualizza il valore massimo del campo specificato tra tutti i record. Sintassi: select max(campo) MIN Visualizza il valore minimo del campo specificato tra tutti i record. Sintassi: select min(campo) SUM Calcola la somma totale dei valori del campo specificato. Sintassi: select sum(campo) GROUP BY La clausola group by è necessaria per tutte le volte che si usano gli operatori aggregati. Serve per raggruppare e elaborare i dati su un attributo. HAVING Va incluso dopo group by, serve ad applicare un filtro sugli operatori aggregati. Sintassi completa: select avg(campo1) media from tabella 1 group by campo2 having media > 2

LA NORMALIZZAZIONE La normalizzazione è un processo che tende a eliminare la ridondanza dei dati e a migliorarne la loro consistenza e coerenza. Lo scopo della normalizzazione è di creare un insieme di tabelle che non contengano dati ridondanti e che possono essere modificati senza il rischio di perdere la coerenza dei dati contenuti. PRIMA FORMA NORMALE Una relazione di si dice in prima forma normale (1FN), se e solo se tutti i suoi attributi sono valori atomici. SECONDA FORMA NORMALE Una tabella in seconda forma normale è una tabella in 1FN in cui tutte le colonne non chiave sono dipendenti dall intera chiave primaria. TERZA FORMA NORMALE Una tabella in terza forma normale richiede che la tabella sia già in 2FN e che tutte le colonne in una tabella relazionale siano dipendenti solo dalla chiave primaria. IL PHP E LA CONNESSIONE AL MYSQL Il PHP è un linguaggio di scripting lato server, appartiene alla categoria di linguaggi Open Source, la cui sintassi deriva direttamente dal linguaggio C. Il codice PHP può essere scritto in una pagina che contiene anche codice HTML. L interprete PHP traduce il codice PHP in html, offrendo la possibilità ai programmatori di creare pagine web dinamiche. La funzione che consente di connettere uno script a un database MySQL è mysql_connect() che restituisce una variabile che rappresenta la connessione attiva. Al termine dello script bisogna lasciare la risorsa, per evitare problemi di sovraccarico al web server e la funzione preposta allo scopo è mysql_close(). Con la funzione mysql_select_db(), che restituisce true in caso di successo e false in caso di errore, viene selezionato il database per le operazioni successive. Si utilizzano le funzioni mysql_fetch_array() per ottenere il risultato della query eseguita con il comando mysql_query().