Viste in MySQL e accesso a DB da Java
|
|
- Lelia Ceccarelli
- 6 anni fa
- Visualizzazioni
Transcript
1 Viste in MySQL e accesso a DB da Java LABORATORIO DI BASI DI DATI A.A. 2015/2016 Dott. Claudio Venturini Contenuti parzialmente riadattati e integrati a partire da slide gentilmente concesse dal Dott. Paolo Napoletano
2 Viste in MySQL Sono "tabelle virtuali" Definite con lo statement CREATE VIEW, tramite un'interrogazione SELECT il cui risultato è utilizzabile come se fosse una tabella Consentono di definire diverse "prospettive" di rappresentazione dei dati memorizzati nel database, senza replicarli Disponibili a partire da MySQL 5.x Algoritmo di processing (opzionale) > CREATE Nome della vista [ALGORITHM = {UNDEFINED MERGE TEMPTABLE] VIEW view_name AS SELECT FROM ; La SELECT definisce il contenuto della vista L'algoritmo utilizzato definisce la modalità di processing delle query sulla vista Normalmente le viste sono utilizzabili solo in lettura, cioè non sono aggiornabili Non supportano INSERT, UPDATE e DELETE Per approfondire: LABORATORIO DI BASI DI DATI 2
3 Viste in MySQL Esempio: Definiamo una vista che rappresenti la media dei voti degli studenti > CREATE VIEW media_voti AS SELECT s.matricola, s.cognome, s.nome, AVG(e.voto) AS media SELECT che FROM studente AS s definisce il contenuto INNER JOIN esame AS e ON s.matricola = e.studente GROUP BY s.matricola, s.cognome, s.nome; La vista media_voti è interrogabile come qualsiasi tabella Esempio: Selezionare gli studenti che hanno una media dei voti maggiore di 25 > SELECT * FROM media_voti WHERE media > 25; LABORATORIO DI BASI DI DATI 3
4 Viste in MySQL Algoritmi di processing Gli algoritmi di processing definiscono la modalità di processing delle query effettuate sulla vista MERGE La query viene riscritta effettuando il merge tra essa e la SELECT che definisce la vista TEMPTABLE Il DBMS esegue prima l'interrogazione che definisce la vista e inserisce il risultato in una tabella temporanea La query viene poi eseguita sulla tabella temporanea, che viene poi eliminata MERGE è più efficiente ma utilizzabile solo se la vista non è definita con: Operatori di aggregazione: COUNT(), MIN(), MAX(), AVG(), Raggruppamenti: GROUP BY Operatori insiemistici: UNION, UNION ALL Clausole DISTINCT, HAVING e LIMIT Se l'algoritmo è UNDEFINED, MySQL utilizza, se possibile, MERGE LABORATORIO DI BASI DI DATI 4
5 Viste in MySQL Viste aggiornabili Una vista è aggiornabile se c'è un mapping 1 a 1 tra le sue tuple e quelle di una tabella fisica In pratica, in MySQL una vista è aggiornabile solo se usa l'algoritmo di processing MERGE e se la definizione non contiene: Operatori di aggregazione: COUNT(), MIN(), MAX(), AVG(), Raggruppamenti: GROUP BY Operatori insiemistici: UNION, UNION ALL Clausole DISTINCT e HAVING Subquery nella clausola SELECT, o anche nella clausola WHERE se si tratta di subquery correlate Riferimenti ad altre viste non aggiornabili nella clausola FROM Outer join: LEFT JOIN, RIGHT JOIN Inoltre, la INSERT è supportata solo se la vista seleziona tutte le colonne delle tabelle coinvolte che non hanno un valore di default, e se le colonne selezionate non sono espressioni definite sulle colonne delle tabelle referenziate. Solo una delle tabelle coinvolte nella vista può essere aggiornata: Nel caso di UPDATE, la clausola SET può fare riferimento solamente a colonne di un'unica delle tabella LABORATORIO DI BASI DI DATI 5
6 Viste in MySQL Modifica/eliminazione Per modificare una vista si usa lo statement ALTER VIEW La sintassi è identica a quella dello statement CREATE VEW Poiché le viste sono "virtuali", e quindi non contengono dati, è anche possibile semplicemente eliminare la vista e ricrearla > ALTER [ALGORITHM = {UNDEFINED MERGE TEMPTABLE] VIEW view_name AS SELECT FROM ; Per eliminare una vista si usa lo statement DROP VIEW Specificando la clausola IF EXISTS la vista viene eliminata solo se esiste > DROP VIEW [IF EXISTS] media_voti; LABORATORIO DI BASI DI DATI 6
7 Accesso a DB da applicazioni LABORATORIO DI BASI DI DATI 7
8 Accesso a DB da applicazioni Applicazione 1 (Java) SQL Applicazione 2 (C++) Applicazione 3 (C#) Applicazione 3 (PHP) Applicazione N rete Risultati DBMS Database LABORATORIO DI BASI DI DATI 8
9 Accesso a DB da applicazioni: problemi Impedance Mismatch È il termine utilizzato per indicare l'insieme di difficoltà tecniche nell'accesso e nell'uso del database da parte delle applicazioni Diverse modalità di accesso: l'sql è un linguaggio set-oriented (opera su insiemi di tuple), mentre le applicazioni operano su una singola tupla per volta Diversi tipi di dati: ogni linguaggio di programmazione definisce i propri tipi di dati, che possono differire da quelli dell'sql (e del DBMS) Es: Java definisce un solo tipo per rappresentare le stringhe (java.lang.string), SQL ne definisce diversi: CHAR, VARCHAR, TEXT, LONGTEXT, LABORATORIO DI BASI DI DATI 9
10 Accesso a DB da applicazioni Nel caso in cui si cerchi di mappare i concetti del DB con un modello ad oggetti (in linguaggi object-oriented) vi sono anche altre difficoltà: Object-Relational Impedance Mismatch Incapsulamento: il mapping tra oggetti e tabelle espone necessariamente tutti i dati di un oggetto, violando l'incapsulamento Accesso: al contrario dei linguaggi OO, i DB non distinguono tra dati intrinsecamente pubblici o privati Ereditarietà e Polimorfismo: il modello relazionale non prevede ereditarietà, che viene implementata tramite associazioni Differenze strutturali I linguaggi OO consentono di rappresentare la composizione di oggetti (tramite liste, collezioni, ) Nel modello relazionale è necessario rappresentare relazioni M-N con tabelle aggiuntive LABORATORIO DI BASI DI DATI 10
11 Connettori ODBC e JDBC I DBMS forniscono connettori (driver) specifici per alcuni linguaggi di programmazione Bassa portabilità: ogni DBMS ha una propria API, quindi l'applicazione diventa dipendente dallo specifico DBMS Nel 1992 Microsoft introduce ODBC (Open DataBase Connectivity) Definisce un API unificata di accesso ai database in C Ogni DBMS fornisce un proprio driver specifico che implementa l'api ODBC Unifica i tipi di dati Utilizzabile da qualsiasi linguaggio in grado di utilizzare librerie C (anche Java con JNI) Java introduce JDBC (Java DataBase Connectivity) Equivalente a ODBC, ma fornisce un API specifica per Java (java.sql.*) Non richiede di interfacciarsi con librerie non interpretabili dalla JVM Ogni DBMS deve implementare il proprio driver JDBC LABORATORIO DI BASI DI DATI 11
12 Driver JDBC Rimosso da Java 8! Type 1 (JDBC-ODBC bridge) Type 2 (Native-API driver) Type 3 (Middleware server) Type 4 (Pure Java driver) JVM JVM JVM JVM Applicazione Applicazione Applicazione Applicazione JDBC Driver Manager JDBC Driver Manager JDBC Driver Manager JDBC Driver Manager JDBC-ODBC bridge JDBC-Native API driver JDBC Middleware JDBC Driver ODBC driver Native driver DBMS DBMS DBMS DBMS LABORATORIO DI BASI DI DATI 12
13 Connettori per MySQL MySQL fornisce diversi connettori Connector/NET: driver ADO.NET per framework Microsoft.NET Connector/ODBC: driver ODBC Connector/J: driver JDBC type 4 (pure Java) Connector/Python: driver nativo per Python Connector/C++: driver nativo per C++ Connector/C: driver nativo per C Molti altri driver vengono sviluppati dalla community Elenco completo: LABORATORIO DI BASI DI DATI 13
14 JDBC Driver Manager Il DriverManager (java.sql.drivermanager) gestisce i driver JDBC disponibili e crea le connessioni ai DBMS Per ottenere una connessione è necessaria una stringa di connessione, in forma di URN (Uniform Resource Name) e specifica per DBMS, che indica: Il tipo di driver Il tipo di DBMS L'host del server DBMS Le credenziali di accesso Il database a cui connettersi Per MySQL Host e porta del DBMS Nome del DB Credenziali jdbc:mysql://localhost:3306/test?user=root&password=root LABORATORIO DI BASI DI DATI 14
15 Accesso a MySQL tramite JDBC import java.sql.connection; import java.sql.drivermanager; import java.sql.sqlexception; public class Connect { public static void main(string[] args) { String connstr = "jdbc:mysql://localhost:3306/test?user=root&password=root"; Connection conn = null; try { conn = DriverManager.getConnection(connStr); Ottiene dal DriverManager una connessione al DB specificato dalla stringa di connessione } } // Do something... conn.close(); } catch (SQLException ex) { } Al termine di tutte le operazioni bisogna chiudere la connessione System.out.println("SQLException: " + ex.getmessage()); System.out.println("SQLState: " + ex.getsqlstate()); System.out.println("VendorError: " + ex.geterrorcode()); LABORATORIO DI BASI DI DATI 15
16 JDBC Select // Create a SQL statement Statement stmt = conn.createstatement(); stmt.execute("select * FROM user"); La classe java.sql.statement consente di eseguire statement SQL // Fetch results ResultSet rs = stmt.getresultset(); while (rs.next()){ System.out.print(rs.getInt("id")); System.out.print(" "); System.out.print(rs.getString("first_name")); System.out.print(" "); System.out.println(rs.getString("last_name")); } rs.close(); // Close the statement and the connection stmt.close(); conn.close(); La classe java.sql.resultset consente di iterare su ogni tupla del risultato Per ottenere i valori delle singole colonne si utilizzano metodi specifici per tipo di dato È importante chiudere il ResultSet e lo Statement LABORATORIO DI BASI DI DATI 16
17 JDBC Statement preparati Utilizzando la classe java.sql.statement lo statement SQL viene compilato al momento dell'esecuzione La classe java.sql.preparedstatement consente di precompilare uno statement Migliora le performance quando la stessa query viene eseguita più volte, anche con parametri diversi I parametri sono indicati da punti interrogativi, e impostati con appositi setter String sql = "SELECT * FROM user WHERE username =?"; Placeholder per i parametri PreparedStatement pstmt = conn.preparestatement(sql); pstmt.setstring(1, "mario.rossi"); pstmt.execute(); Impostazione dei parametri (gli indici iniziano da 1) LABORATORIO DI BASI DI DATI 17
18 JDBC Insert, update e delete Gli statement INSERT, UPDATE e DELETE non producono un ResultSet Il metodo executeupdate() esegue lo statement e fornisce il numero di righe effettivamente inserite/modificate/eliminate Utilizzabile solo per statement DDL e DML che non ritornano risultati String sql = "INSERT INTO user SET username =?, first_name =?, last_name =?, " + " =?, password = SHA1(?)"; PreparedStatement pstmt = conn.preparestatement(sql); pstmt.setstring(1, "alice.ferrari"); pstmt.setstring(2, "Alice"); pstmt.setstring(3, "Ferrari"); pstmt.setstring(4, "alice.ferrari@example.com"); pstmt.setstring(5, "1234"); int insertedrows = pstmt.executeupdate(); System.out.println("Rows inserted: " + insertedrows); Esegue lo statement e ritorna il numero di righe inserite LABORATORIO DI BASI DI DATI 18
19 Esercizi LABORATORIO DI BASI DI DATI 19
20 Esercizio 12 Utilizzare il database progettato nell'esercizio 7 e popolato nell'esercizio 11: Scuola Secondaria Creazione di viste 1. Costruire una vista che selezioni la valutazione media degli studenti di ogni classe (ad es. 2 B 6.8, 3 A 7.1) 2. Costruire una vista che selezioni gli studenti (con nome, cognome, codice fiscale e comune di residenza) che non hanno ottenuto valutazioni insufficienti Interrogazione sulle viste 1. Selezionare il numero di studenti che non hanno ottenuto insufficienze divisi per comune di residenza 2. Selezionare gli insegnanti che insegnano in classi con valutazioni medie minori di 7.0 LABORATORIO DI BASI DI DATI 20
21 Esercizio 12 Modello ER Nazione 1,N 1,1 risiede Studente straniero Studente Codice fiscale Nome 0,N parentela 1,N 1,N 1,1 risiede Comune nasce 1,1 Insegnante Anno Sezione Nome Cognome 1,N Classe 1,N insegna N. ore 1,N 1,1 frequenta Cognome Voto valutazione 0,N 0,N 0,N Grado 1,N Codice Nome Regione Insegnante altre scuole Codice fiscale Materia Codice Nome Nome N. ore 1,N 1,N Codice risiede insegna 1,N appartiene 1,1 Argomento 1,1 1,N dopo 0,N prima Scuola Codice Nome propedeutico a 0,N LABORATORIO DI BASI DI DATI 21
22 Esercizio 12 Modello relazionale LABORATORIO DI BASI DI DATI 22
23 Esercizio 13 Utilizzare il database progettato nell'esercizio 7 e popolato nell'esercizio 11: Scuola Secondaria Interrogazione tramite JDBC 1. Scrivere un programma Java che mostri a video tutti gli studenti con nome, cognome, codice fiscale, comune e regione di residenza. 2. Scrivere un programma Java che prenda in input un valore intero V e mostri a video tutti gli studenti che hanno conseguito valutazioni minori di V. 3. Scrivere un programma Java che consenta di cambiare la sezione di appartenenza di uno studente. Il programma deve prendere in input il codice fiscale dello studente e la sezione in cui esso deve essere spostato. Se la sezione data in input non esiste oppure coincide con quella attuale deve essere visualizzato un errore. 4. Scrivere un programma Java che prenda in input il codice di una materia (visualizzando un errore se la materia specificata non esiste), e mostri a video la valutazione media degli studenti in tale materia. LABORATORIO DI BASI DI DATI 23
JDBC versione base. Le classi/interfacce principali di JDBC
JDBC versione base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte uno dei pregi è la completa indipendenza del codice
DettagliJDBC. Marco Tessarotto Programmazione dei Web Server Anno Accademico
JDBC Marco Tessarotto Programmazione dei Web Server Anno Accademico 2004-2005 JDBC JDBC (Java Database Connectivity) è una API Java per accedere ed elaborare dati in una sorgente dati (di solito un db
DettagliCORSO DI ALGORITMI E PROGRAMMAZIONE. JDBC Java DataBase Connectivity
CORSO DI ALGORITMI E PROGRAMMAZIONE JDBC Java DataBase Connectivity Anno Accademico 2002-2003 Accesso remoto al DB Istruzioni SQL Rete DataBase Utente Host client Server di DataBase Host server Accesso
DettagliEsercitazione su JDBC
Esercitazione su JDBC Basi di Dati L Ingegneria dei Processi Gestionali (Ilaria Bartolini - Roberto Cabras) come usare SQL (1) Le istruzioni SQL possono essere eseguite interattivamente Ese JDBC 2 come
DettagliJDBC di base. Le classi/interfacce principali di JDBC
JDBC di base Java Database Connectivity è il package Java per l accesso a database relazionali il package contiene interfacce e classi astratte completa indipendenza del codice dal tipo di database o di
DettagliDomande utili alla preparazione dell orale di Informatica all Esame di Stato
Domande utili alla preparazione dell orale di Informatica all Esame di Stato 1.Al livello fisico un database si appoggia ai files per contenere i suoi dati? 2.Esistono altri modelli di organizzazione oltre
DettagliJDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC
JDBC: Introduzione Java Database Connectivity (JDBC): parte 1 Gianluca Moro DEIS - Università di Bologna gmoro@deis.unibo.it Java Database Connectivity è il package Java per l accesso a database relazionali
DettagliCapitolo 5. Soluzione: Soluzione in C:
Capitolo 5 Esercizio 5.1 Realizzare una procedura in un linguaggio di programmazione di alto livello che tramite SQL Embedded elimina dalla tabella DIPARTIMENTO l'elemento che ha il nome che viene fornito
DettagliManuale SQL. Manuale SQL - 1 -
Manuale SQL - 1 - Istruzioni DDL Creazione di una tabella : CREATE TABLE Il comando CREATE TABLE consente di definire una tabella del database specificandone le colonne, con il tipo di dati ad esse associate,
DettagliMODULO 2. Query normali e parametriche Query di:
MODULO 2 TITOLO DBMS e SQL In questo Modulo si affronta lo studio dei DBMS Access e MySQL. In particolare per Access, si descrive come progettare, impostare e modificare gli strumenti di lavoro (tabelle,
DettagliJDBC. A. Bechini 2004. Accesso a DataD con Java
JDBC Accesso a DataD atabase ase con Java Utilizzo di DB da applicazioni esterne Un DB contiene e gestisce dati, importanti per varie operazioni supportate da applicazioni software Come può un applicazione
DettagliIntroduzione. 8- Programmazione di una base di dati attraverso JDBC ESEMPIO
8- Programmazione di una base di dati attraverso JDBC Introduzione ai differenti approcci - JDBC: Architettura e Programmazione Introduzione Nella pratica gli utenti finali accedono al contenuto di una
DettagliIntroduzione JDBC interfaccia java.sql driver caricare i driver
J D B C DISPENSE Introduzione JDBC (Java Database Connectivity) è un interfaccia completamente Java utilizzata per eseguire istruzioni SQL sui database. L'API JDBC si trova nel pacchetto java.sql; contiene
DettagliNon si deve fare ALCUN riferimento alla parte specifica di JDBC.
Un applicazione per la quale sia fondamentale l indipendenza dal Database può essere scritta in Java usando le specifiche. (Package java.sql) Non devono essere usate chiamate specifiche del database: Si
DettagliJDBC: SQL nei linguaggi di programmazione
JDBC: SQL nei linguaggi di programmazione Matteo Cannaviccio mcannaviccio@gmail.com Basi di Dati I 2016/17 Panoramica 1. Dialogare con un DBMS Applicazioni software DBMS 2. Introduzione a JDBC Scopo
DettagliDATABASE PER IL WEB. Programmazione Web 1
DATABASE PER IL WEB Programmazione Web 1 Archite3ura web con database Client Tier Web/App Tier DB Tier Client Web / App Server Database Il server web comunica con un altro server che con8ene il la banca
DettagliJDBC Driver Manager. JDBC Architettura generale. JDBC - Tipi di dato. JDBC - Flusso applicativo. JDBC - Tipi di dato. ODBC Driver. Livello di gestione
Interfacce DBMS in breve Corso di BD1 Ripasso comandi applicazione JDBC Manipolazione estensioni OR in JDBC Interfacce per DBMS Problema: Far accedere un applicazione ad una base di dati Soluzione: Librerie
DettagliSQL quick reference. piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013)
SQL quick reference piccolo manuale di riferimento dei principali comandi SQL (prof. Claudio Maccherani, Perugia, 2013) I tipi dei dati di SQL sono: delimitatori delle costanti: TEXT(n) stringa di caratteri
DettagliEsempio di architettura software
Esempio di architettura software Corso di Principi di Progettazione del Software, a.a. 2012/13 29 novembre 2016 Ing. Roberto Vergallo 1 Esempio di architettura software View (GUI) Action Listener Business
DettagliEsercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R:
Esercitazione query in SQL L esercitazione viene effettuata sul database viaggi e vacanze che prevede il seguente modello E/R: Si consiglia di creare il data base, inserire i dati nelle tabelle, provare
DettagliCreazione di database in MySQL
Creazione di database in MySQL LABORATORIO DI BASI DI DATI A.A. 2016/2017 Dott. Claudio Venturini Contenuti riadattati a partire da slide gentilmente concesse dal Dott. Paolo Napoletano Riepilogo: SQL
DettagliServlet & JDBC ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010. Servlet: interazione con un DBMS. In Java è possibile interagire con un DBMS attraverso
Servlet & JDBC 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Servlet: interazione con un DBMS In Java è possibile interagire con un DBMS attraverso l uso della libreria JDBC (Java Database Connectivity).
DettagliCaratteristiche dei linguaggi per Database
IL LINGUAGGIO Caratteristiche dei linguaggi per Database I linguaggi per basi di dati relazionali possiedono i comandi per: definizione del data base; manipolazione dei dati; associazione tra tabelle diverse;
DettagliLaboratorio di reti II: Gestione di database lato server
Laboratorio di reti II: Gestione di database lato server Stefano Brocchi brocchi@dsi.unifi.it 23 marzo, 2009 Stefano Brocchi Laboratorio di reti II: Database 23 marzo, 2009 1 / 32 Uso di database lato
DettagliInterrogare una base di dati: algebra relazionale e SQL. Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor
Interrogare una base di dati: algebra relazionale e SQL Savino Castagnozzi Giorgio Macauda Michele Meomartino Salvatore Picerno Massimiliano Sartor Contesto didattico Il seguente materiale didattico è
DettagliLaboratorio di Sistemi Fondamenti di JDBC (parte1) Java. Fondamenti di JDBC
Fondamenti di JDBC Concetto di driver Il dialogo fra applicazione e DBMS non è mai gestito direttamente ma passa in genere per un opportuno modulo software chiamato driver che agisce da interfaccia fra
DettagliStructured. Language. Basi di Dati. Introduzione. DDL: Data Definition Language. Tipi di dato. Query. Modifica dei Dati
Basi di Dati Matteo Longhi Structured Query Language Introduzione Standard creato nel 1976 da IBM Aggiornato (versione 2 nel 1992 (ANSI X3.135 e ISO 9075 Consente di: DDL: definire la struttura del DB
DettagliInterrogazioni nidificate
Interrogazioni nidificate Nella clausola where si possono utilizzare valori prodotti da altre istruzioni select utilizzando any (qualsiasi) o all (tutti) insieme agli operatori di confronto Trovare nome,
DettagliSviluppo Applicazioni Mobile Lezione 12 JDBC. Dr. Paolo Casoto, Ph.D - 2012
+ Sviluppo Applicazioni Mobile Lezione 12 JDBC + Cosa vediamo nella lezione di oggi Oggi analizzeremo insieme una specifica tecnologia Java per l accesso e la manipolazione di basi di dati relazionali
DettagliCome trattare il risultato di un comando SQL (relazioni) che
USO DI SQL DA PROGRAMMI: PROBLEMI 1 Come collegarsi alla BD Come trattare gli operatori SQL Come trattare il risultato di un comando SQL (relazioni) che Come scambiare informazioni sull esito delle operazioni.
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 3 Raffaella Gentilini 1 / 52 Sommario 1 Il DML di SQL: Interrogazione di una BD 2 / 52 Data Manipulation Language (DML) Istruzioni del DML Le istruzioni del DML
DettagliSQL - Structured Query Language
SQL - Structured Query Language Lab 05 Alessandro Lori Università di Pisa 27 Aprile 2012 Riepilogo esercitazione precedente Operatori insiemistici (UNION, INTERSECT, EXCEPT) Riepilogo esercitazione precedente
DettagliBasi di dati (4) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. Argomento: select (1.
Università di Modena e Reggio Emilia Basi di dati (4) Docente: andrea.bulgarelli@gmail.com Argomento: select (1.0) 1 Panoramica Select Joins Subquery Wildcard Esempi 2 SELECT SELECT [DISTINCT] [TOP n]
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezioni 6 7 Raffaella Gentilini 1 / 46 Sommario 1 Subquery (o Interrogazioni Nidificate) Interrogazioni Annidate con Predicati di Confronto Interrogazioni Annidate con
DettagliISTITUTO PARITARIO MICHELANGELO - RIMINI- PIANO DI LAVORO
ISTITUTO PARITARIO MICHELANGELO - RIMINI- PIANO DI LAVORO ANNO SCOLASTICO 2016-2017 SETTORE Economico Classe V Sez. A MATERIA DI INSEGNAMENTO: INFORMATICA STRUMENTI Paolo Camagni, Riccardo Nikolassy (2014)
DettagliJDBC per l accesso Java a DB. Tito Flagella tito@link.it
JDBC per l accesso Java a DB Tito Flagella tito@link.it JDBC fornisce una libreria standard per l accesso a database relazionali Non è un acronimo ufficiale ma è comunemente interpretato come Java DataBase
DettagliAccesso a Database con JDBC
1 Sommario Accesso a Database con JDBC Introduzione architettura generale di riferimento flusso tipico delle applicazioni ODBC/JDBC ODBC architettura il flusso generale di un applicazione ODBC JDBC architettura
DettagliTesting delle classi. MySQL DBMS
Testing delle classi Corso di Principi di Progettazione del Software, a.a. 2015/16 17 novembre 2015 Ing. Roberto Vergallo 1 MySQL DBMS MySQL Community Server http://www.mysql.it/downloads/mysql/5.1.html
DettagliSELECT s.nome, e.data Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola
SQL SELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola SELECT s.nome As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami FROM Studenti
DettagliCorso di Laboratorio di Basi di Dati
Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs
DettagliCorso di Informatica Modulo T3 B2 - Database in rete
Corso di Informatica Modulo T3 B2 - Database in rete 1 Prerequisiti Programmazione web Applicazione web Modello OSI Architettura client/server Conoscenze generali sui database Tecnologia ADO in Visual
DettagliSELECT s.nome, e.data FROM Studenti s, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola
SQL, e.data, Esami e WHERE e.materia = 'BD' AND e.voto = 30 AND e.matricola = s.matricola As Nome, 2002 - s.annonascita As Eta, 0 As NumeroEsami WHERE NOT EXISTS (SELECT * WHERE e.matricola = s.matricola
DettagliINFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.
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
DettagliPrincipi di Progettazione del Software a.a Il linguaggio SQL. Prof. Luca Mainetti Università del Salento
Principi di Progettazione del Software a.a. 2016-2017 Prof. Università del Salento Linguaggi per DBMS Il modello relazionale definisce i concetti generali ed i vincoli per modellare e strutturare i dati
DettagliInterrogazioni nidificate
Interrogazioni nidificate Trovare nome, cognome e matricola degli studenti che non hanno fatto esami select Matricola,Nome,Cognome from studenti where matricola all (select studente group by studente)
Dettagli2011 Politecnico di Torino 1
SQL per le applicazioni Call Level Interface Le richieste sono inviate al DBMS per mezzo di funzioni del linguaggio ospite soluzione basata su interfacce predefinite API, Application Programming Interface
DettagliBasi di Dati Esercitazione JDBC. Giugno 2007
Basi di Dati Esercitazione JDBC Giugno 2007 Esercizi Considerando il seguente schema: Fornitori (CodiceFornitore, Nome, Indirizzo, Citta) Prodotti (CodiceProdotto, Tipo, Marca, Modello) Catalogo (CodiceFornitore,
DettagliSommario. Introduzione... 13
Sommario Introduzione... 13 1. Database pro e contro... 19 A cosa serve conoscere i database?...19 Le alternative alla gestione manuale...22 Quando non serve un database?...24 Domande ed esercizi...26
DettagliOpen Database Connectivity (ODBC)
Open Database Connectivity (ODBC) Open Database Connectivity (ODBC), proposto dalla Microsoft nel 1991, fornisce un interfaccia applicativa standard che permette ad una generica applicazione di accedere
DettagliJDBC. Dispense per il corso di Ingegneria del Web
JDBC Dispense per il corso di Ingegneria del Web Revisione 05/11 Giuseppe Della Penna (giuseppe.dellapenna@di.univaq.it) Dipartimento di Informatica Università degli studi dell'aquila Java Database Connectivity:
DettagliIl linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL
: fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire
DettagliASP e Database. A cura di Michele Cavalieri
ASP e Database A cura di Michele Cavalieri (fonte http://www.aspitalia.com/articoli/db/introduzione.aspx ) Un aspetto fondamentale di ASP è l'utilizzo dei componenti, che non sono altro che ActiveX come
DettagliPROVA FINALE Ingegneria del software
PROVA FINALE Ingegneria del software Ing. Jody Marca jody.marca@polimi.it Laboratorio N 4 Cos è JDBC 2 JDBC significa Java Database Connectivity Standard definito da Sun MicroSystems per connettere programmi
Dettagli<Nome Tabella>.<attributo>
Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : SQL (2) Tabelle mult., variabili, aggreg, group Prof. Alberto
DettagliI.I.S. G. COSSALI - ORZINUOVI DATABASE. Marzo 2017 Prof. Dario Tomasoni 1
I.I.S. G. COSSALI - ORZINUOVI DATABASE Marzo 2017 Prof. Dario Tomasoni 1 IMPOSTAZIONE 60 min = Database concetti + Esercizi; 10 min = pausa; 30 min = Linguaggio SQL; 30 min = Database prove LibreOffice
DettagliLinguaggio SQL seconda parte
Linguaggio SQL seconda parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Le condizioni di ricerca 2 Le condizioni di ricerca Usate nelle
DettagliSQL nei linguaggi di programmazione
SQL nei linguaggi di programmazione Atzeni, Ceri, Paraboschi, Torlone Basi Di Dati Modelli e Linguaggi di Interrogazione, McGraw-Hill Italia, Capitolo 6 SQL in Linguaggi di Programmazione L uso diretto
DettagliEsempi SQL con Access. Orazio Battaglia
con Access Orazio Battaglia Consideriamo la base di dati in figura. 2 Interrogazione 1: Selezioniamo tutti gli impiegati, vogliamo Cognome, Nome e Posizione SELECT Impiegati.Cognome, Impiegati.Nome, Impiegati.Posizione
DettagliCaricamento della classe driver. Apertura della connessione. DriverManager.getConnection() Creazione di uno statement
JDBC Programmazione in Ambienti Distribuiti V 1.4 Marco Torchiano 2006 Uso di JDBC Caricamento della classe driver Class.forName() Apertura della connessione DriverManager.getConnection() Creazione di
DettagliJava: la libreria delle classi
Java: la libreria delle classi Applet anatomia di un applet cenni di html La libreria JDBC per l accesso ai database il package java.sql 213 Applet Un applet è una applicazione Java che ha una forma particolare
DettagliBasi di dati I Prova di autovalutazione 30 ottobre 2014
Basi di dati I Prova di autovalutazione 3 ottobre 214 La prova verrà discussa in aula, prevedibilmente giovedì 6 novembre. Si consiglia di svolgerlo simulando l esame, sulla carta e senza ausilio di libri
DettagliDBMS ed Applicazioni Motivazioni
DBMS ed Applicazioni Motivazioni Sin ora abbiamo visto SQL come linguaggio per interrogare DBMS da interfaccia interattiva Nella pratica, un efficace sfruttamento delle potenzialità dei DBMS deriva dalla
DettagliSQL: DDL, VI, Aggiornamenti e Viste
SQL: DDL, VI, Aggiornamenti e Viste 1 SQL è più di un semplice linguaggio di interrogazione v Linguaggio di definizione dati (Data-definition language, DDL): Crea/distrugge/modifica relazioni e viste Definisce
DettagliEsempio di database relazionale con l utilizzo del prodotto MySQL
Esempio di database relazionale con l utilizzo del prodotto MySQL Marco Liverani Aprile 2015 In queste pagine viene riportato in sintesi il progetto di un database relazionale esemplificativo con cui viene
DettagliMY SQL Guida MySQL di base
2017 MY SQL Guida MySQL di base Progetto di Alternanza Scuola-Lavoro Anno scolastico 2016-2017 Istituto Tecnico Enrico Fermi, Siracusa Eleonora SikeWEB 15/05/2017 MySQL Collegarsi ad un database e interagire
DettagliProgramma Master Programmatore Java
Programma Master Programmatore Java PCAcademy Via Capodistria 12 Tel.: 06.97.84.22.16 06.85.34.44.76 Cell. 393.93.64.122 - Fax: 06.91.65.92.92 www.pcacademy.it info@pcacademy.it Informazioni generali La
DettagliMicrosoft Access. Microsoft Access. Maurizio Rebaudengo, Paolo Garza 1. Microsoft Access. Creazione base di dati. Apertura di una base dati
Microsoft Access Programma applicativo del pacchetto Microsoft Office per la gestione delle basi di dati. Microsoft Access 2 Creazione base di dati Apertura di una base dati Una nuova base dati si crea
DettagliSQL. Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS)
1 SQL Laboratorio di Progettazione di Basi di Dati (CdS in Informatica e TPS) a.a. 2014/2015 http://www.di.uniba.it/~lisi/courses/basi-dati/bd2014-15.htm Dott.ssa Francesca A. Lisi dott.ssa Francesca A.
DettagliBasi di dati. Linguaggio SQL: fondamenti - Introduzione. Elena Baralis 2007 Politecnico di Torino 1 D B M G 2 D B M G D B M G 4 D B M G 6
Linguaggio SQL: fondamenti Sistemi informativi Istruzione : fondamenti Interrogazioni nidificate Operatori insiemistici Istruzioni di aggiornamento Gestione delle tabelle 2 al linguaggio SQL Istruzioni
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 10 Raffaella Gentilini 1 / 46 Sommario 1 Introduzione: DB e Programmazione 2 3 2 / 46 Approcci alla Programmazione di un DB Meccanismi Disponibili 1 Linguaggi
DettagliSchema Del DB Operazionale TELEFONATE
Schema Del DB Operazionale TELEFONATE Costruire lo Schema di Fatto per analizzare le chiamate considerando come dimensioni TelefonoDA e TelefonoA, Data e Fascia, intesa come FasciaOraria della chiamata
DettagliAccesso ad un db con JDBC da java
Per accedere al database MySql abbiamo utilizzato l interfaccia mysqli messa a disposizione dal linguaggio php specificatamente per tale linguaggio, che fornisce tutte le funzioni per accedere ai dati
DettagliTipi di sottoquery SQL
Tipi di sottoquery SQL È possibile specificare subquery in numerose posizioni: Con le parole chiave IN e NOT IN. Con operatori di confronto. Con le parole chiave ANY, SOME e ALL. Con le parole chiave EXISTS
DettagliTecnologia e Applicazioni Internet 2011/12
Tecnologia e Applicazioni Internet 2011/12 Lezione 4 - Persistenza Matteo Vaccari http://matteo.vaccari.name/ matteo.vaccari@uninsubria.it Perché usare un DB relazionale? Per l accesso concorrente ai dati
DettagliLezione 7 SQL (II) Basi di dati bis Docente Mauro Minenna Pag.1
Lezione 7 SQL (II) Pag.1 Ancora sugli operatori di confronto tra insiemi Abbiamo già visto IN, EXISTS e UNIQUE. Possiamo anche usare NOT IN, NOT EXISTS e NOT UNIQUE Disponibili anche: op ANY, op ALL Trovare
DettagliIl sistema informativo deve essere di tipo centralizzato e accessibile mediante un computer server installato nella rete locale dell albergo.
PROBLEMA. Un albergo di una grande città intende gestire in modo automatizzato sia le prenotazioni sia i soggiorni e realizzare un database. Ogni cliente viene individuato, tra l altro, con i dati anagrafici,
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 9 Raffaella Gentilini 1 / 41 Sommario 1 DBMS Attivi e Triggers 2 2 / 41 DBMS Attivi DBMS Attivi I DBMS tradizionale sono passivi: Eseguono delle operazioni solo
DettagliData Management Software. Il linguaggio SQL. Query Innestate. Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003
DB2 Data Management Software Il linguaggio SQL Query Innestate Paolo Avallone Sr Consulting IT Specialist DB2, Data Management 10 Settembre 2003 LEGGERE LE SEGUENTI ATTENZIONI Le informazioni contenute
DettagliBasi di dati attive. Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger).
Basi di dati attive Una base di dati è ATTIVA quando consente la definizione e la gestione di regole di produzione (regole attive o trigger). Tali regole vengono attivate in modo automatico al verificarsi
DettagliSQL (STRUCTURED QUERY LANGUAGE)
SQL (STRUCTURED QUERY LANGUAGE) Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan SQL DDL Data Definition Language DML Data Manipulation Language DCL Data Control Language DDL Obiettivo: Definire la struttura
DettagliData Base. Master "Bio Info" Reti e Basi di Dati Lezione 6
Data Base 1 Sommario I concetti fondamentali. Database Relazionale.. Query e SQL MySql, Creazione di un db in MySQL con PHPmyAdmin Creazione database e delle Tabelle Query Inserimento Ricerca Modifica
DettagliEstensioni del linguaggio SQL per interrogazioni OLAP
Sistemi Informativi Avanzati Anno Accademico 2012/2013 Prof. Domenico Beneventano Estensioni del linguaggio SQL per interrogazioni OLAP Esempio! Esempio delle vendite con scontrino (nella tabella, per
DettagliSISTEMI OPERATIVI, RETI, INTERNET
Competenze e Unità didattica formativa capitalizzabile 4.1 SISTEMI OPERATIVI, RETI, INTERNET Comprendere il significato dell'evoluzione dei sistemi operativi. Comprendere che cosa fa un sistema operativo
DettagliIl linguaggio SQL: le viste
Il linguaggio SQL: le viste Basi di dati 1 Il linguaggio SQL: le viste Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il linguaggio SQL: le viste Basi di dati 2 Introduzione
DettagliSQL [2] Concetti avanzati di SQL. Esempi di interrogazioni
SQL [2] Concetti avanzati di SQL 2 Esempi di interrogazioni 3 Esempi di interrogazioni 4 Esempi di interrogazioni 5 Confronti che coinvolgono NULL NULL può voler dire: valore sconosciuto (esiste ma non
DettagliMicrosoft Access (parte 5) Query. Query. Query. Query. Creare una query
Microsoft Access (parte 5) Anno accademico: 2008-2009 Per estrarre informazioni da un database si utilizzano delle query : procedure di interrogazione Si può creare più query per ogni tabella Occorre avere
DettagliLezione 9. Applicazioni tradizionali
Lezione 9 Applicazioni tradizionali Pag.1 Sommario Concetti trattati in questa lezione: SQL nel codice applicativo Cursori API native ODBC Pag.2 SQL nel codice applicativo I comandi SQL possono essere
DettagliPRIMO MODULO. DURATA: 80 ore CONTENUTI
0 PRIMO MODULO DURATA: 80 ore CONTENUTI 1. Introduzione alla programmazione a. Cosa è la programmazione strutturata b. Strutture dati c. Come si affronta una problematica da risolvere d. Quali sono i passi
DettagliOracle Database 10g: Introduction to SQL - LVC
Oracle University Chiamaci: 800 672 253 Oracle Database 10g: Introduction to SQL - LVC Duration: 5 Days Description Questo corso è destinato agli utenti di Oracle8i, Oracle9i e Oracle Database 10g.In questo
DettagliBasi di dati attive. Paolo Atzeni Stefano Ceri. Basi di dati attive
Basi di dati attive Paolo Atzeni Stefano Ceri Basi di dati attive BD con componente per la gestione di regole Evento- Condizione-Azione (regole di produzione): eventi: normalmente modifiche della base
DettagliSQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
DettagliIl linguaggio SQL: autorizzazioni
Il linguaggio SQL: autorizzazioni Sistemi Informativi T Versione elettronica: 04.6.SQL.autorizzazioni.pdf Autorità e privilegi Nei DBMS SQL ogni operazione deve essere autorizzata, ovvero l utente che
DettagliLaboratorio di Basi di Dati
Laboratorio di Basi di Dati Esercitazione PostgreSQL Dopo aver lanciato il client grafico pgadmin III di PostgreSQL svolgere le operazioni descritte nel seguito, tenendo presenti i suggerimenti forniti
DettagliIndice. Java. JDBC è l interfaccia di base standard di Java ai database relaionali
Java java database connectivity -- jdbc G. Prencipe prencipe@di.unipi.it Indice JDBC: Java Data Base Connectivity connessioni a basi di dati esecuzione di statement SQL accesso ai result set JDBC: Java
DettagliSQL e applicazioni. Capitolo 8. SQL e linguaggi di programmazione. Applicazioni ed SQL: architettura. Una difficoltà importante.
SQL e applicazioni Capitolo 8 Applicazioni tradizionali In applicazioni complesse, l utente non vuole eseguire comandi SQL, ma programmi, con poche scelte SQL non basta, sono necessarie altre funzionalità,
DettagliCorso di Basi di Dati A.A. 2015/2016
Corso di Laurea in Ingegneria Gestionale Sapienza Università di Roma Corso di Basi di Dati A.A. 2015/2016 E3 - MySQL: Creazione di Schemi ed Interrogazioni Tiziana Catarci, Andrea Marrella Ultimo aggiornamento
DettagliPROGRAMMA DI CLASSE 5AI
Istituto di Istruzione Superiore Euganeo Istituto tecnico del settore tecnologico Istituto professionale del settore servizi socio-sanitari Istituto professionale del settore industria e artigianato PROGRAMMA
DettagliScheda 15 Accedere ai DataBase con JDBC
Scheda 15 Accedere ai DataBase con JDBC G IOVANNI PULITI Panoramica: che cosa è JDBC La API JDBC, introdotta per la prima volta con il JDK 1.0, è una API che permette di accedere a database relazionali
DettagliESERCIZI SQL. Esercizio 1
ESERCIZI SQL 2 Esercizio 1 3 Esercizio 1 4 Esercizio 1 Si specifichino le seguenti interrogazioni SQL sulla base di dati relazionale AZIENDA. Si mostri il risultato di ciascuna interrogazione. 1. Si restituisca
DettagliSQL. SQL: "storia. Sviluppato nella metà degli anni settanta (1974) presso il laboratorio di ricerca IBM di S.Josè. Dal 1983 ca. "standard di fatto"
SQL SQL: "storia Sviluppato nella metà degli anni settanta (194) presso il laboratorio di ricerca IBM di S.Josè Dal 1983 ca. "standard di fatto" E il linguaggio di riferimento per l interrogazione di DBMS
Dettagli