Database nel Web Modulo Didattico: Francesca Platania

Slides:



Advertisements
Presentazioni simili
Corso di Fondamenti di Informatica
Advertisements

Accesso ai dati su Relational Database Management Systems LSA - Laboratorio di Sistemi Informativi Economico-Aziendali Salvatore Ruggieri Dipartimento.
DBMS (DataBase Management System)
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità C1 Il linguaggio SQL.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
PHP.
Utilizzare PHP 5 Corso Interazione Uomo – Macchina AA 2005/2006.
INTERNET : ARPA sviluppa ARPANET (rete di computer per scopi militari)
Java DataBase Connectivity (JDBC)
Connessione con MySQL.
Java2 Esercitazioni del corso di Sistemi Informativi Marina Mongiello
Fondamenti di Informatica Prof. Cantone
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER LINSEGNAMENTO SECONDARIO Classe di Concorso: 42A Massimo Mancino MODULO DIDATTICO - Ambienti.
SQL Structured Query Language
OO.1 Marco Ronchetti - Java Sql package.
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Basi di dati Università Degli Studi Parthenope di Napoli
SQL Per la modifica di basi di dati
Modello Relazionale Definisce tipi attraverso il costruttore relazione, che organizza i dati secondo record a struttura fissa, rappresentabili attraverso.
Vincoli di integrità generici Con i costrutti visti sinora, non è sempre possibile definire tutti i possibili vincoli di integrità. Per questo esiste listruzione.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Daniel Stoilov Tesi di Laurea
JDBC(TM) Database Access
DBMS ( Database Management System)
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
INFORMATICA Corso Base Modulo G: I DataBase  Access.
Analisi (Analista) Progettazione (Progettista) Sviluppo o Traduzione (Sviluppatore) Documentazione.
Cosa è una applicazione distribuita?
ACCESS Introduzione Una delle necessità più importanti in informatica è la gestione di grandi quantità di dati. I dati possono essere memorizzati.
Sistemi Informativi sul Web
Basi di Dati e Sistemi Informativi SQL per Applicazioni Home page del corso:
BIOINFO3 - Lezione 111 CGI-BIN CGI-BIN sono chiamati i programmi la cui esecuzione può essere richiesta attraverso il WEB. Il server web (httpd) della.
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
OBIETTIVI: Introduzione ai driver ODBC Creazione di alcune tabelle del database Creazione query Creazione report Lezione del 13/11/2009 Bray Francesco.
1 Applet ed HTML Fondamenti di Informatica Corso D.
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
Federico Vigna - 22/09/04 Framework didattico per lo sviluppo di applicazioni per basi di dati Università degli studi “Roma Tre” Dipartimento di informatica.
ASP – Active Server Pages - 1 -Giuseppe De Pietro Introduzione ASP, acronimo di Active Server Pages, sta ad indicare una tecnologia per lo sviluppo di.
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
IV D Mercurio DB Lezione 1
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Accesso a basi di dati con ASP.
I DATABASE.
Pagine ASP parte 3 I data base Stefano Schacherl.
Microsoft Access Maschere (II).
Eprogram informatica V anno. ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia.NET, permette di: -scrivere.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Esercizio ODBC. Configurare il driver ODBC Start  Control Panel  Administrative Tools Aprire: Data Source(ODBC) User DSN  Add…. Selezionare il driver.
MySQL Database Management System
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Protocolli e architetture per WIS. Cronologia di Internet ricerche sulla commutazione di pacchetto (Leonard Kleinrock) 1967 Nasce il progetto.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
PLSQL 1.1 LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture.
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Corso integrato di Matematica, Informatica e Statistica Informatica di base Linea 1 Daniela Besozzi Dipartimento di Informatica e Comunicazione Università.
Eprogram informatica V anno.
Le basi di dati.
Gaetano Anastasi Beatrice Miotti Lorenzo Guerriero Monica Pellegrinelli Massimiliano Sartor Giorgio Macauda SQLite Esempi di utilizzo della libreria in.
SCUOLA INTERUNIVERSITARIA SICILIANA DI SPECIALIZZAZIONE PER L’INSEGNAMENTO SECONDARIO Classe di Concorso: 42A Alessandro Guzzetta MODULO DIDATTICO - Access.
Eprogram informatica V anno. Programmare in rete.
Modulo 5 – Database ACCESS LICEO SCIENTIFICO “ B. RESCIGNO COMPUTER SCUOLA PIANO INTEGRATO 2008/09 ESPERTO prof.ssa Rita Montella.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
SQLite. Introduzione a SQLite Oltre alla possibilità di memorizzare informazioni persistenti attraverso Preferences e files, Android mette a disposizione.
ASP – Active Server Pages - 1 -Giuseppe Tandoi ASP – Active Server Pages Tecnologia per lo sviluppo di pagine dinamiche.
Transcript della presentazione:

Database nel Web Modulo Didattico: Francesca Platania Scuola Interuniversitaria Siciliana di Specializzazione per l’Insegnamento Secondario Classe di Concorso 42/A Francesca Platania Modulo Didattico: Database nel Web Docente Prof. D. Cantone

Database nel Web Il modulo, pensato per una quinta classe Indirizzo Informatico, ha lo scopo di presentare gli strumenti per la connessione e l’utilizzo dei database relazionali mediante java server page (JSP).

Composizione del modulo Unità didattica 1 Le Applet Unità didattica 2 La connessione ai Database Unità didattica 3 Le Servlet

La connessione ai Database Unità didattica 2 La connessione ai Database

Prerequisiti Gli studenti dovranno dimostrare di avere: Conoscenze sicure del linguaggio Java Conoscenze teoriche di base sui database relazionali Uso operativo del linguaggio SQL

Obiettivi Al termine di questa UD la classe sarà in grado di: Costruire applicazioni Java per la connessione e l’accesso ad un database. Costruire applet per le interrogazioni ad un database.

Contenuti Richiami sui database e sul linguaggio SQL Concetto di driver per la connessione e l’accesso ai database Caratteristiche di JDBC Applicazioni Java per operazioni di manipolazione Esecuzione di interrogazioni in SQL con e senza parametri Accedere al database tramite le applet

Metodologie LEZIONE FRONTALE LEZIONE DIALOGATA ESERCITAZIONI in LABORATORIO su alcuni Progetti

Spazi AULA LABORATORIO AZIENDA

Strumenti LIBRO DI TESTO ED APPUNTI COMPUTER LAVAGNA LUMINOSA

Verifiche Le verifiche sono periodiche e costanti, tese alla valutazione del grado di apprendimento della classe. E verranno effettuate a fine argomento a titolo riepilogativo. Esse verranno effettuate con: Colloqui individuali Interventi di vario genere Questionari e Test Prove di laboratorio

Valutazione La valutazione sarà: Sia di tipo formativo e quindi in relazione all’applicazione, all’impegno, all’attenzione e al metodo di lavoro che ogni studente avrà mostrato durante l’attività didattica Sia di tipo sommativo, ricavata dalla misurazione delle varie prove in cui gli studenti dovranno dimostrare di: avere acquisito conoscenze e informazioni circa i contenuti avere maturato abilità e competenze specifiche alla disciplina

Ore di Recupero e/o Potenziamento Tempi Unità Didattica Ore di Lezione Ore di Laboratorio Ore di Verifica Ore di Recupero e/o Potenziamento U.D. 2 6 4 2 + (Stage)

Richiami sui database e sul linguaggio SQL Il database é un insieme di archivi integrati che possono costituire una base di lavoro comune per utenti diversi con applicazioni diverse. I database costruiti secondo il modello relazionale (DataBase Relazionali) organizzano i dati in Tabelle (Relazioni). Il software di gestione di un database si chiama DBMS (Data Base Management System), come ad esempio Oracle, Access, Sybase, ecc.

Operazioni sul Database Sul database si possono eseguire le operazioni di manipolazione per inserire nuovi dati, per modificare quelli già esistenti o per cancellare i dati che non servono più. Si possono fare anche delle interrogazioni (query) per ritrovare i dati che servono. Il linguaggio standard utilizzato per codificare le operazioni svolte su un database è il linguaggio SQL (Struttured Query Language). I valori degli attributi nelle righe della tabella possono essere inseriti, aggiornati o cancellati mediate i seguenti comandi: Inserimento Aggiornamento Cancellazione

Inserimento INSERT INTO nome_tabella (campo1, campo2, …, campon) VALUES (valore1, valore2, …, valoren); Aggiornamento UPDATE nome_tabella SET nome_campo = valore WHERE condizione; Cancellazione DELETE FROM nome_tabella WHERE condizione; N.B. La clausola WHERE consente di operare su gruppi di record.

I Driver per la connessione al database Il termine driver indica un programma che consente ad una periferica hardware di comunicare con l’unità centrale del computer: il programma driver ritrova i dati richiesti e li trasferisce al programma richiedente. Il driver per database è un programma standard che consente di trasferire i dati presenti in un database: quando un programma vuole accedere al database creato con un altro applicativo, deve utilizzare il driver per quel database.

ODBC (Open DataBase Connectivity) é l’interfaccia software standard in ambiente Windows che consente ai programmatori di scrivere in modo semplice le applicazioni per connettersi ai database e ritrovare i dati in essi contenuti. JDBC (Java DataBase Connectivity) mette a disposizione una libreria di classi Java per interfacciare l’accesso ai database che usano lo standard SQL, con l’obiettivo di fornire un’uniformità di accesso per un vasto insieme di prodotti DBMS relazionali.

Cos’è JDBC Java offre un'interfaccia standard per l'accesso ai database chiamata JDBC. Secondo la terminologia di Java il software JDBC è classificato come una API (Application Programming Interface), perché fornisce i driver ai database per la connessione, l’esecuzione dei comandi SQL e le transazioni verso gli altri database. JDBC comprende anche il JDCB-ODBC Bridge, un ponte verso i driver standard ODBC, che rende possibile la connessione ad altri database creati con i prodotti DBMS noti, come ad es. Microsoft Access. Le operazioni di manipolazione e di interrogazione possono essere eseguite su un database locale usando applicazioni Java oppure sul database di un server in rete, usando le applet e le tecnologie del Web.

Come funziona JDBC I programmi che usano JDBC devono specificare l’uso del package java.sql del linguaggio Java. import java.sql.* ; La classe DriverManager tiene traccia dei driver disponibili e li gestisce stabilendo la connessione tra un driver e un particolare database. Il programmatore carica il driver con il comando: Class.forName(“nome del driver”) Ad es. Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

Gestione delle Eccezioni È buona norma inserire la gestione delle eccezioni nella fase di caricamento del driver utilizzando la seguente struttura: try { Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); } catch (ClassNotFoundException e) System.err.print(“ClassNotFoundException : ”); System.err.println(e.getMessage()); Il metodo forName consente di ottenere un oggetto della classe Class che descrive una classe il cui nome è fornito come stringa. Questo driver si occupa di tradurre le richieste JDBC ad un driver ODBC.

La Classe DriverManager Il programma deve richiedere alla classe DriverManager di creare una connessione ad un particolare database specificando il nome di tale database ed eventualmente il nome dell’utente e la password per l’autorizzazione d’accesso. Il nome del database è specificato all’interno di una stringa che contiene tre informazioni: Protocollo Sottoprotocollo Nome del database secondo il formato previsto dal driver   Ad es. String url = “jdbc:odbc:databaseX”;

La Classe DriverManager Il DriverManager controlla se ci sia un driver disponibile in grado di gestire la richiesta di connessione, quando lo trova può effettuare la Connessione, in questo modo: Connection con = DriverManager.getConnection (url, “username”, “password”); La stringa viene in genere chiamata url di JDBC perché richiama il concetto di indirizzo internet, infatti identifica il protocollo jdbc così come un browser distingue un sito Internet tramite il protocollo http o ftp. Se non sono stati fissati username e password la connessione si ottiene in questo modo: Connection con = DriverManager.getConnection (url, “”, “”); La Connessione rappresenta una sessione di lavoro con uno specifico database.

Esempi di manipolazione dei dati Dopo aver stabilito una connessione si possono inviare al database i comandi SQL. Predisponiamo l’istruzione in una stringa: String query = “Select * from Utenti”; Successivamente usiamo il commando JDBC (Statement) con il metodo createStatement che crea un’istanza della classe Statement.  Statement stmt = con.createStatement();

I commandi SQL sono attivati con i due metodi principali applicati allo statement:   Metodo executeUpdate per i comandi SQL di inserimento, aggiornamento e cancellazione; si usa anche per i comandi SQL relativi alla creazione (Create Table), cancellazione (Drop Table) e modifica della struttura (Alter Table) delle tabelle del DB;       Metodo executeQuery per le interrogazioni Il primo metodo restituisce il numero di righe che sono state sottoposte all’operazione di manipolazione della tabella, il secondo restituisce un insieme di risultati (ResultSet) contenente le righe della tabella che soddisfano la condizione specificata nell’interrogazione.

Esempi di interrogazione Le interrogazioni al database vengono eseguite tramite il metodo executeQuery. Ex. String mySQL = “SELECT a, b, c from Tabella”; … ResultSet rs = stmt.executeQuery(mySQL); Il valore di ritorno del metodo executeQuery è un singolo ResultSet, cioè un insieme di risultati. I risultato di una select è una tabella formata dalle righe selezionate e dalle colonne scelte. Per scorrere questa tabella si fa riferimento a un cursore che indica la riga della tabella, ci si muove tra le righe con il metodo next() mentre la visualizzazione dei risultati contenuti nel ResultSet si ottiene facendo uso dei metodi getXXX dove XXX va sostituito con uno dei tipi di dato di Java.

Statement e Prepared Statement Il metodo createStatement serve per attivare semplici comandi SQL che non contengono alcun parametro. JDBC mette a disposizione il metodo prepareStatement, il quale crea un’istanza della classe PreparedStatement, che è una sottoclasse di Statement, e quindi ne eredita tutte le funzionalità. Il metodo preparedStatement risulta particolarmente utile quando si devono eseguire istruzioni SQL con uno o più parametri. I parametri sono indicati nel comando SQL con un ?, in questo modo: PreparedStatement stmt = con.prepareStatement (“UPDATE Utenti SET Telefono = ? WHERE Id = ?”);

Esempio 1 import java.sql.* ; public class Selezione { public static void main (String args[]) String url = “jdbc:odbc:db1”; Connection con; String query = “Select Id, Cognome, Nome, CodFiscale ” + “FROM Utenti where Provincia = ‘CT’ ”; Statement stmt; try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); } catch{} … } // Close main } // Close Classe Selezione

try { con = DriverManager.getConnection(url, “”, “”); stmt = con.createStatement(); ResultSet rs = stmt.executeQuery(query); while (rs.next()) int cod = rs.getInt(1); …. String cf = rs.getString(4); } stmt.close(); con.close(); catch (SQLException ex) { }

Esempio 2 import java.sql.* ; public class SelezioneParametri { public static void main (String args[]) String prov; /* Impostazione dello standard input */ InputStreamReader in = new InputStreamR…(System.in); BufferReader tastiera = new Buff…(input); String url = “jdbc:odbc:db1”; Connection con; try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); } catch{} … } // Close main } // Close Classe SelezioneParametri

try { con = DriverManager.getConnection(url, “”, “”); PreparedStatement stmt = con.prepareStatement( “SELECT * FROM Utenti where Provincia = ?”); { //inserimento da tastiera System.out.println(“Provincia richiesta ”); prov = tastiera.readLine(); } catch (Exception e) { } Stmt.setString(1, prov); ResultSet rs = stmt.executeQuery(); while (rs.next()) … } catch (SQLException ex) { }

Schema Riassuntivo executeQuery() createStatement() ResultSet Connection getXXX sottoclasse prepareStatement() executeQuery() getConnection Tipo di Dato PreparedStatement DriverManager

Applet per la Connessione al Database Quando si vuole gestire la connessione e l’accesso al db eseguendo le interrogazioni tramite pagine Web e browser occorrerà utilizzare un Applet Java. Per gestire ciò servono due file, uno contenente l’applet e l’altro contenente il codice HTML che richiama l’attivazione dell’applet su richiesta dell’utente. Il codice dell’applet contiene le medesime istruzioni JDBC utilizzate nelle applicazioni. Sulla possibilità di accedere ai db in rete occorre delle osservazioni: è possibile aprire una connessione con una base dati remota solo se questa si trova sul server dal quale l’applet è stato scaricato; non possibile utilizzare in alcun modo informazioni presenti sul client.

Conclusioni Quindi le applet protette si possono utilizzare solo in una Intranet aziendale, purché il driver ODBC, il bridge e JDBC siano stati caricati su tutte le macchine client. Le classi dei package java che è necessario importare per creare un applet sono: java.applet; java.awt; java.sql; java.util;