SQL nei linguaggi di programmazione
|
|
- Fausto Crippa
- 8 anni fa
- Visualizzazioni
Transcript
1 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 dell interprete SQL è tipicamente riservato a pochi utenti esperti. L utente generico accede alla base di dati attraverso applicazioni scritte usando linguaggi tradizionali di alto livello o speciali. I linguaggi tradizionali sono di tipo procedurale mentre SQL è un linguaggio dichiarativo. Le istruzioni SQL sono allora incapsulate nel linguaggio e passate all interprete tramite opportune chiamate. Bisognerà allora dotare il compilatore di un pre-processore per la rilevazione di tali chiamate. SQL 1 SQL in Linguaggi di Programmazione Stored Procedures SQL Uso diretto Linguaggi ad hoc In linguaggi classici Stored Prcedures Triggers SQL Embedded Call Level Interface ODBC JDBC Statica Dinamica Soluzioni Proprietarie Procedure che vengono memorizzate come parte dello schema Lo standard SQL-2 si occupa solo di procedure costituite da un solo comando SQL Procedure AssegnCitta ( :Dip varchar(20), :Citta varchar(20)) update Dipartimento set Citta = :Citta where Nome=:Dip exec AssegnaCitta( Amministrazione, Milano ).. SQL 2 SQL 3
2 Stored Procedures I sistemi commerciali estendono la sintassi prevedendo sequenze di comandi e/o (alcune) strutture di controllo mettendo di fatto a disposizione dei veri e propri linguaggi di programmazione Anche SQL-3 estende notevolmente la sintassi a disposizione Stored Procedures: PL/SQL Procedure Addebita ( codcont char(5), Prelievo integer) is AmmontarePrec integer; NuovoAmmontare integer; Limite integer; begin select ammontare, scoperto into AmmontarePrec, Limite from CC where Codice = codconto for update of Ammontare NuovoAmmontare = AmmontarePrec Prelievo if NuovoAmmontare > Scoperto then update CC set Ammontare = nuovoammontare Prelievo where Codice= codconto; else insert into T values(codconto,prelievo,sysdate); endif end Addebita SQL 4 SQL 5 Stored Procedures: SQLSERVER CREATE PROC int int OUTPUT AS SELECT * FROM authors SELECT * FROM titles RETURN(0) int EXEC OUTPUT Triggers I triggers sono (in estrema sintesi) delle stored procedures che scattano in relazione ad eventi. Evento Condizione Azione (ECA) Se c è un evento (insert, update e delete su una certa tabella) ed è verificata una certa condizione (un predicato SQL) viene eseguita una certa azione (un singolo comando SQL od una intera procedura) Definiti a livello di standard da SQL-3, ma presenti nei sistemi (con sintassi e caratteristiche diverse) già dalla fine degli anni Ottanta. SQL 6 SQL 7
3 Triggers Si possono creare delle catene di esecuzione difficili da analizzare In Oracle before, after row, statement Esempio di Trigger Oracle create trigger Ordine after update of QtaDisp on Magazzino when (new.qtadisp < new.qtasoglia) for each row declare X number; begin select count(*) into X from OrdiniPendenti where Parte = new.parte; if X =0 then insert into OrdiniPendenti values(new.parte,newqtariord, sysdate) end SQL 8 SQL 9 SQL nei linguaggi tradizionali: Il Problema del Conflitto di Impedenza Un linguaggio tradizionale scandisce gli elementi di una tabella riga per riga (approccio tuple oriented). SQL lavora su tabelle, essendo il risultato di una query una tabella (approccio set-oriented). Soluzioni: Utilizzo di Cursori. Utilizzo di linguaggi con costruttori di tipi complessi (OO). Cursori Un cursore consente ad un programma di ispezionare le riga di una tabella una per una. Viene dichiarato con riferimento ad una interrogazione declare NomeCur [scroll] cursor for SelectSql [for <read only update [Attributo {, Attributo}]>] open NomeCur fetch [Posizione from] NomeCur into ListaDiFetch SQL 10 SQL 11
4 Cursori (continua) Posizone: next, prior, first, last, absolute ExprInt, relative ExprInt Se l opzione scroll non è specificata, l unica scelta possibile è next. L opzione scroll spesso comporta che venga costruita una materializzazione completa del risultato. Se non è specificata il sistema ha più gradi di libertà e può, ad esempio, costruire il risultato una riga alla volta e passare man mano le righe al chiamante velocizzando le elaborazioni su query che restituiscono molte righe. Cursori (continua) declare CurImp for Impiegati select * from Impiegati where stip > 40. open CurImp update nometab set Attributo= <Espr null default> {, set Attributo= <Espr null default>} where current of NomeCur delete from NomeTab where current of NomeCur close NomeCur SQL 12 SQL 13 Cursori SQLSERVER DECLARE cursor_name CURSOR [LOCAL GLOBAL] [FORWARD_ONLY SCROLL] [STATIC KEYSET DYNAMIC FAST_FORWARD] [READ_ONLY SCROLL_LOCKS OPTIMISTIC] [TYPE_WARNING] FOR select_statement [FOR UPDATE [OF column_list]] Cursori SQLSERVER (cont.) Local / Global I cursori sono globali (default) per l intera connessione. Con Local indichiamo che il cursore è locale, ad esempio, alla stored procedure in cui è definito [FORWARD_ONLY SCROLL] Ha il significato descritto precedentemente. SQL 14 SQL 15
5 Cursori SQLSERVER (cont.) STATIC Sono cursori statici che cioè non riflettono modifiche sui dati (nel caso in esame si crea una copia in tempdb). Nei cursori ANSI la parola chiave è Insensitive. Il default per Static diventa Scroll (diverso dall ANSI). KEYSET Con un cursore Keyset viene mantenuta una lista dei valori di chiave che soddisfano ai criteri della query. In questo modo i cambiamenti effettuati da altri utenti sono visibili. Non sono visibili inserimenti di nuove righe che soddisfano la query. Cursori SQLSERVER (cont.) DYNAMIC In questo caso abbiamo che la Select è virtualmente riapplicata ad ogni FETCH. FAST_FORWARD Read_only + forward_only SQL 16 SQL 17 SQL embedded #include <stdio.h> main() { exec sql begin declare section; char *nomedip = manutenzione ; char *cittadip = Roma ; exec sql end declare section; exec sql connect to pippo@librodb; if (sqlca.sqlcode!= 0) { printf( errore\n ); return; } exec sql insert into dipartimento values (:nomedip, :cittadip); if (sqlca.sqlcode!= 0) { printf( errore\n ); return; } exec sql disconnect all; } SQL Dinamico Con la soluzione embedded l interrogazione deve essere nota a tempo si compilazione. Quando la struttura delle interrogazioni è molto variabile, l approccio appena descritto (SQL statico) non è più utilizzabile in modo efficiente. Si può allora consentire all utente di accedere all interprete SQL, con costi notevoli in termini di training e con problemi legati all integrazione con le applicazioni. Una possibilità alternativa è costituita dal SQL dinamico che permette di costruire programmi che effettuano interrogazioni costruite a run-time. SQL 18 SQL 19
6 SQL Dinamico (continua) comandosql = delete.. execute immediate :comandosql è utilizzabile solo se non si hanno parametri di ingresso e\o di uscita. Il vantaggio dell SQL statico: i comandi SQL sono passati ad un compilatore che li traduce nel linguaggio interno del sistema. Ogni qual volta il programma è eseguito, il comando SQL non deve essere tradotto dall interprete SQL. E in qualche modo possibile mantenere tale vantaggio nel SQL dinamico. Tale seconda forma è inoltre l unica possibile nel caso in cui esistono parametri di ingresso e\o di uscita. SQL Dinamico (continua) prepare NomCom from ComSql Analizza il comando e lo traduce nel linguaggio procedurale interno del sistema. prepare :comando from select Citta from Dipartimento where nome=? execute :comando into :citta using :dipartimento declare cursor from NomeCom deallocate prepare NomeCom SQL 20 SQL 21 Call Level Interface Mettono a disposizione del programmatore una serie di funzioni che interagiscono con il DBMS. ODBC OLE DB, ActiveX Data Object (ADO), ADO.NET JDBC Soluzioni proprietarie CLI: Passi fondamentali Ci si connette al DMBS Si invia al DBMS una stringa che rappresenta il comando SQL Si riceve il risultato in un opportuno formato Si analizza attraverso alcune primitive il risultato Si chiude la connessione SQL 22 SQL 23
7 CLI: Struttura Applicazione Connessione Connessione Connessione ODBC Open Data Base Connectivity, proposta dalla Microsoft Soluzione molto ricca e potente Comandi SQL Comandi SQL Comandi SQL SQL 24 SQL 25 JDBC Tipo 1 Il driver è scritto in formato nativo e le richieste JDBC vengono convertite Tipo 2 JDBC/ODBC bridge Middleware server Drive JAVA Package java.sql.* Connection Statement PreparedStatement ResultSet SQL 26 SQL 27
8 JDBC: Esempio import java.sql.*; public class PrimoJDBC { public static void main (String [] arg) { Connection conn = null; try{ Class. froname (sun.jdbc.odbc.jdbcodbcdriver); conn = DriverManager.getConnection( jdbc:odbc:swbd,u,p); } catch (ClassNotFoudException e) {..} catch (SQLException e) {} JDBC: Esempio try { Statement stm = conn.createstatement(); String query = select * from impiegato ; ResultSet rst = stm.executequery(query); while (rst.next()) { String matricola = rst.getstring( matr ); int stipendio = rst.getint( stipendio ); } catch (SQLEcception e ) { } }} SQL 28 SQL 29 CreateStatement Connection.createStatement() Connection.createStatement(int type, int concurrency) Type: TYPE_FORWARD_ONLY TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE Concurrency CONCUR_READ_ONLY CONCUR_UPDATABLE java.sql.statement ResultSet executquery(string query) ritorna il risultato della query in un ResultSet int executeupdate usato principalmente per insert, update, delete ritorna il numero di righe modificate/candellate/inserite o 0 de il comendo non torna nulla SQL 30 SQL 31
9 PreparedStatement Connection.prepareStatement(Strng query) Connection.prepareStatement(String quey,int type, int concurrency) Esempio PreparedStatement pstmt = con.preparestatement ("UPDATE EMPLOYEES SET SALARY =? WHERE ID =?"); pstmt.setdecimal(1, ) pstmt.setint(2, ) pstmt.execute(); SQL 32
Funzioni scalari in SQL. Capitolo 5. coalesce. nullif. Altre funzioni scalari. case
Funzioni scalari in SQL Capitolo 5 Costrutti definiti in SQL-2 che estendono la sintassi delle espressioni nella target list coalesce nullif case Prof. Stefano Paraboschi Vengono valutate per ogni riga
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à,
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
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
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.
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.
DettagliAPPENDICE. Procedure in SQL (1)
APPENDICE Procedure in SQL Transazioni in SQL Embedded SQL Remote Procedure Call Appendice 1 Procedure in SQL (1) Standard SQL2 permette di definire procedure, associate a singoli comandi SQL, memorizzate
DettagliCapitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke
Capitoli 8 e 9 Applicazioni tradizionali Applicazioni Internet SQL embedded SQL nel codice applicativo I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio ospite (ad esempio
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
DettagliSQL e linguaggi di programmazione Applicazioni ed SQL: architettura
SQL e applicazioni Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 5: SQL nei linguaggi di programmazione 21/10/2002 In applicazioni complesse, l utente non vuole eseguire
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.
DettagliSiti web centrati sui dati Architettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliJDBC 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
DettagliTriggers. Basi dati attive. Trigger. Indipendenza della conoscenza
Basi dati attive Triggers Antonella Poggi Domenico Lembo Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2009-2010 Una base di dati
DettagliArchitettura MVC-2: i JavaBeans
Siti web centrati sui dati Architettura MVC-2: i JavaBeans Alberto Belussi anno accademico 2008/2009 Limiti dell approccio SEVLET UNICA La servlet svolge tre tipi di funzioni distinte: Interazione con
DettagliBasi di dati (8) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: trigger e cursori (1.
Università di Modena e Reggio Emilia Basi di dati (8) Docente: andrea.bulgarelli@gmail.com Argomento: trigger e cursori (1.1) 1 Panoramica Trigger Creazione Tipi di trigger Tabelle inserted/deleted Esempi
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
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
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
DettagliOracle PL/SQL. Motivazioni
Oracle PLSQL Motivazioni Supponiamo che nella gestione del database Azienda ci venga chiesto di apportare le modifiche necessarie a far sì che ad ogni impiegato possa essere assegnato, alla fine di ogni
DettagliDominio applicativo. Progettazione. v SQL incluso in codice applicativo v Embedded SQL v Cursori v Dynamic SQL v JDBC v Stored procedures
Dominio applicativo (Capitolo 6) v SQL incluso in codice applicativo v Embedded SQL v Cursori v Dynamic SQL v JDBC v Stored procedures Basi di dati 1 Docente Claudia Amari 1 Progettazione PROGETTAZIONE
DettagliPL/SQL PL/SQL. Ordine degli elementi dei triggers di Oracle. Differenze nei triggers. Versione dei trigger e PSM di Oracle
Versione dei trigger e PSM di Oracle Lucidi derivati da quelli di Jeffrey D Ullman Oracle usa una variante di SQL/PSM che si chiama non consente solo di creare e memorizzare procedure e funzioni, ma puo
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
DettagliIl linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf
Il linguaggio SQL: trigger Sistemi Informativi T Versione elettronica: 04.7.SQL.trigger.pdf DBMS attivi Un DBMS si dice attivoquando dispone di un sottosistema integrato per definire e gestire regole I
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
DettagliStored Procedures. Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma
Stored Procedures Massimo Mecella Dipartimento di Ingegneria informatica automatica e gestionale Antonio Ruberti Sapienza Università di Roma Progetto di Applicazioni Software Stored Procedure e User Defined
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,
DettagliProcedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM
Procedure memorizzate SQL-2003/PSM Procedure memorizzate nel database Programmazione general-purpose Leggere sezione 8.2 di Garcia-Molina et al. Lucidi derivati da quelli di Jeffrey D. Ullman 1 Una estensione
DettagliDBMS ED APPLICAZIONI (CAPITOLO 6) SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures
1 DBMS ED APPLICAZIONI (CAPITOLO 6) SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures Progettazione 2 Dominio Applicativo PROGETTAZIONE CONCETTUALE PROGETTAZIONE
DettagliNozione ed uso. Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso:
Nozione ed uso Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso: Gestione di vincoli di integrità: Per fallimento Per modifica Auditing: Sicurezza Statistiche Valori derivati
DettagliSQL Server. SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server
SQL Server 7.0 1 SQL Server SQL server e un RDBMS di tipo client/server che utilizza Transact-SQL per gestire la comunicazione fra un client e SQL Server 2 Strumenti per la gestione Enterprise Manager
Dettagli12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
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
DettagliStored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma
Stored Procedures Antonella Poggi, Claudio Corona Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma Progetto di Applicazioni Software Anno accademico 2008-2009 Questi lucidi sono stati
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
DettagliApplicazioni tradizionali
1 BASI DI DATI Paolo Zirilli Applicazioni tradizionali Concetti di questa lezione SQL nel codice applicativo SQL incluso in codice applicativo Embedded SQL Cursori Dynamic SQL JDBC Stored procedures I
DettagliMDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC
MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal Data Access (UDA). Mette a disposizione una serie di componenti per l accesso a svariate
DettagliSQL e linguaggi di programmazione
SQL e linguaggi di programmazione Complementi di Basi di Dati 1 SQL e linguaggi di programmazione Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine SQL e linguaggi di programmazione
DettagliSQL e linguaggi di programmazione Applicazioni ed SQL: architettura
SQL e applicazioni Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, 1996-2002 Capitolo 5: SQL nei linguaggi di programmazione (versione preliminare e parziale) 16/10/2002 In applicazioni complesse,
DettagliProgrammazione Java Avanzata Spring - JDBC
Programmazione Java Avanzata Spring - JDBC Ing. Gianluca Caminiti Riferimenti Spring http://www.springsource.org/ (scaricate il reference) Beginning Spring 2 - From Novice to Professional. APress. 2008
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
DettagliLezione 8. Metadati, Viste e Trigger
Lezione 8 Metadati, Viste e Trigger Pag.1 Metadati e catalogo di sistema I metadati sono dati a proposito dei dati (quali tabelle esistono?, quali campi contengono?, quante tuple contengono?, ci sono vincoli
DettagliSviluppo di applicazioni per basi di dati
Sviluppo di applicazioni per basi di dati 1 Sviluppo di applicazioni per basi di dati Quattro parti: Gestione dati Business rules (vincoli di integrità e dati derivati) Logica applicativa Interfaccia utente
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
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: Tecnologie versione 3.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca
DettagliAPPLICAZIONI DELLE BASI DI DATI
APPLICAZIONI DELLE BASI DI DATI APPLICAZIONI TRADIZIONALI APPLICAZIONI INTERNET SQL EMBEDDED SQL nel codice applicativo! I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio
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
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
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
DettagliCapitolo 7. Esercizio 7.1
Capitolo 7 Esercizio 7.1 Dato lo schema relazionale: IMPIEGATO (Nome, Salario, DipNum) DIPARTIMENTO (DipNum, NomeManager) Definire le seguenti regole attive in Oracle e DB2: 1. una regola, che quando il
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
DettagliEsercitazione sulle libpq - libreria C per PostgreSQL
Esercitazione sulle libpq - libreria C per PostgreSQL Roberto Tronci roberto.tronci@diee.unica.it Basi di Dati A.A. 2007/2008 Tronci ( roberto.tronci@diee.unica.it ) Esercitazione libpq Basi di Dati 2007/2008
DettagliLe Basi di Dati Attive
Le Basi di Dati Attive Basi di dati: Architetture e linee di evoluzione - Seconda edizione Capitolo 5 Appunti dalle lezioni SQL in Linguaggi di programmazione L uso diretto dell interprete SQL è tipicamente
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: JDBC Concetti Fondamentali versione 1.0 G. Mecca mecca@unibas.it Università della Basilicata JDBC >> Sommario Concetti Fondamentali Introduzione
DettagliUtilizzare SQL nelle applicazioni
Uso di SQL e nei linguaggi di programmazione Nella vita reale l interazione con basi di dati utilizzando SQL non è diretta, ma mediata attraverso l uso di programmi applicativi. Oltre ai tradizionali linguaggi
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
DettagliBasi di dati (6) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: T-SQL (1.
Università di Modena e Reggio Emilia Basi di dati (6) Docente: andrea.bulgarelli@gmail.com Argomento: T-SQL (1.0) 1 Panoramica T-SQL Variabili Controllo di flusso Trattamento errori Print Operatori e funzioni
DettagliBasi di dati. Il Linguaggio SQL. K. Donno - Il Linguaggio SQL
Basi di dati Il Linguaggio SQL Data Definition Language (DDL) Data Definition Language: insieme di istruzioni utilizzate per modificare la struttura della base di dati Ne fanno parte le istruzioni di inserimento,
DettagliAzioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati
Azioni Select e join non consentono di modificare il contenuto del DB Azioni desiderate Inserzione di nuovi dati Aggiornamento di dati Cancellazione di dati Aggiunta di un record insert into utenti(nome,tel,codice_u)
Dettagli2104 volume III Programmazione
2103 SQLite Capitolo 77 77.1 Utilizzo generale................................. 2104 77.1.1 Utilizzo di sqlite3».......................... 2104 77.1.2 Copie di sicurezza............................ 2106
DettagliUso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26
Uso delle variabili di alias SQL slide aggiuntive Laurea magistrale in Scienze della mente Laurea magistrale in Psicologia dello sviluppo e dell'educazione educazione Non solo per disambiguare la notazione
DettagliCorso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 2.1 Comandi sui database 1 Prerequisiti Introduzione ai DB Linguaggi per database Tipi fondamentali di dati 2 1 Introduzione In questa Unità introduciamo il linguaggio
DettagliSuggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo
Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL Simona Rotolo 2 Questo documento, rivolto a chi sviluppa codice in PL/Sql, è stato redatto al fine di fornire degli standard di sviluppo che aiuteranno
DettagliDispensa di database Access
Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di
DettagliInformatica per le discipline umanistiche 2 lezione 10
Informatica per le discipline umanistiche 2 lezione 10 Parte III: il computer come strumento per l interazione e la comunicazione Si è parlato di identità Parte III: il computer come strumento per l interazione
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
DettagliCap. 5 Basi di dati attive
SOMMARIO 2 Cap. 5 Basi di dati attive Introduzione. 3 Trigger in SQL:999.. Esecuzione di un solo trigger... 4 Esecuzione di più trigger... Esempio di esecuzione 23 Progettazione delle regole attive....
DettagliDDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE. SQL è più di un semplice linguaggio di interrogazione
SQL DDL, VINCOLI D INTEGRITÁ, AGGIORNAMENTI E VISTE SQL è più di un semplice linguaggio di interrogazione! Linguaggio di definizione dati (Data-definition language, DDL):! Crea/distrugge/modifica relazioni
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
DettagliCorso sul linguaggio SQL
Corso sul linguaggio SQL Modulo L2B (SQL) 2.2 Comandi sulle tabelle 1 Prerequisiti Introduzione ai DB Tabelle, relazioni e attributi Chiave primaria Chiave esterna Vincoli di integrità 2 1 Introduzione
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
Dettagli19. LA PROGRAMMAZIONE LATO SERVER
19. LA PROGRAMMAZIONE LATO SERVER Introduciamo uno pseudocodice lato server che chiameremo Pserv che utilizzeremo come al solito per introdurre le problematiche da affrontare, indipendentemente dagli specifici
DettagliAccess. P a r t e p r i m a
Access P a r t e p r i m a 1 Esempio di gestione di database con MS Access 2 Cosa è Access? Access e un DBMS che permette di progettare e utilizzare DB relazionali Un DB Access e basato sui concetti di
DettagliRiccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino
Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server
DettagliBasi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008
Basi di dati e Web (Moduli: Laboratorio e Siti Web centrati sui Dati) Prova scritta del 14 luglio 2008 Avvertenze: e severamente vietato consultare libri e appunti; chiunque verrà trovato in possesso di
DettagliDefinizione di domini
Definizione di domini Come nei linguaggi ad alto livello (es. C) è possibile definire nuovi domini (tipi di dati) a partire da quelli predefiniti, anche se il costruttore è più limitato. create domain
DettagliIl linguaggio SQL. è di fatto lo standard tra i linguaggi per la gestione di data base relazionali.
(Structured Query Language) : Il linguaggio è di fatto lo standard tra i linguaggi per la gestione di data base relazionali. prima versione IBM alla fine degli anni '70 per un prototipo di ricerca (System
DettagliLe Basi di Dati Attive
Le Basi di Dati Attive Angelo Chianese, Vincenzo Moscato, Antonio Picariello, Lucio Sansone Basi di dati per la gestione dell'informazione 2/ed McGraw-Hill Capitolo 8, paragrafo 8.2 Manuale PostgreSQL
DettagliCorso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale
Corso di Basi di Dati Linguaggi per basi di dati: lgebra Relazionale Donatella Gubiani Linguaggi per basi di dati Si possono distinguere diversi tipi di linguaggi per la gestione dei dati: Linguaggio di
DettagliSQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))
SQL PER LA DEFINIZIONE DI BASI DI DATI 1 SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA
DettagliLA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE
LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE Quattro parti: Gestione dati Client-Server Logica + interfaccia Logica + interfaccia Business rules Sistema di comunicazione Logica applicativa DBMS:
DettagliLA REALIZZAZIONE DI APPLICAZIONI. Quattro parti: Gestione dati. Business rules. Logica applicativa. Interfaccia utente. Molte possibili architetture
LA REALIZZAZIONE DI APPLICAZIONI Quattro parti: Gestione dati Business rules Logica applicativa Interfaccia utente Molte possibili architetture L approccio tradizionale: uso di un linguaggio PLSQL 1.1
DettagliJDBC: Java e database.
JDBC: Java e database. Introduzione all architettura e esempi di utilizzo 1.0 INTRODUZIONE ALL ARCHITETTURA JDBC è (anche se non ufficialmente riconosciuto da Sun) l acronimo per Java DataBase Connectivity.
DettagliDatabase e reti. Piero Gallo Pasquale Sirsi
Database e reti Piero Gallo Pasquale Sirsi Approcci per l interfacciamento Il nostro obiettivo è, ora, quello di individuare i possibili approcci per integrare una base di dati gestita da un in un ambiente
DettagliTransazioni - Parte 1
Basi di dati II Lezione 3 09/10/2008 Caputo Domenico Cosimo, Francesco Pichierri Transazioni - Parte 1 Le transazioni hanno a che fare con la programmabilità delle basi di dati. Prima di trattarle è necessaria
DettagliTecnologie di Sviluppo per il Web
Tecnologie di Sviluppo per il Web Programmazione su Basi di Dati: ADO.NET versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina) G. Mecca mecca@unibas.it
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
DettagliBasi di dati (7) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: stored procedure (1.
Università di Modena e Reggio Emilia Basi di dati (7) Docente: andrea.bulgarelli@gmail.com Argomento: stored procedure (1.0) 1 Panoramica Stored procedure Creazione Chiamata Modifica Eliminazione Esempio
DettagliGli array. Gli array. Gli array. Classi di memorizzazione per array. Inizializzazione esplicita degli array. Array e puntatori
Gli array Array e puntatori Laboratorio di Informatica I un array è un insieme di elementi (valori) avente le seguenti caratteristiche: - un array è ordinato: agli elementi dell array è assegnato un ordine
DettagliJDBC: SQL NEI LINGUAGGI DI PROGRAMMAZIONE
JDBC: SQL NEI LINGUAGGI DI PROGRAMMAZIONE Disheng Qiu disheng.qiu@gmail.com SQL e Applicazioni In applicazioni complesse, l utente non vuole eseguire comandi SQL, ma programmi, con poche scelte SQL non
DettagliAtzeni, Ceri, Paraboschi, Torlone Basi di dati. Capitolo 6: SQL nei linguaggi di programmazione 27/07/2009
Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2009 Capitolo 6: SQL nei linguaggi di programmazione 27/07/2009 SQL e applicazioni In applicazioni complesse, l utente non vuole eseguire
DettagliLaboratorio di Basi di Dati e Web
Laboratorio di Basi di Dati e Web Docente: Alberto Belussi Lezione 1 SQL Structured Query Language SQL è stato definito nel 1973 ed è oggi il linguaggio più diffuso per i DBMS relazionali Il linguaggio
DettagliStructured Query Language parte 1
Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Structured Query Language parte 1 Come interrogare una base di dati relazionale ed avere la risposta esatta Docente: Gennaro Pepe
DettagliAl giorno d oggi, i sistemi per la gestione di database
Introduzione Al giorno d oggi, i sistemi per la gestione di database implementano un linguaggio standard chiamato SQL (Structured Query Language). Fra le altre cose, il linguaggio SQL consente di prelevare,
DettagliSQL PER LA DEFINIZIONE DI BASI DI DATI
SQL PER LA DEFINIZIONE DI BASI DI DATI SQL non è solo un linguaggio di interrogazione (Query Language), ma Un linguaggio per la definizione di basi di dati (Data-definition language (DDL)) CREATE SCHEMA
DettagliLaboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013
Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation
DettagliBasi di Dati: Corso di laboratorio
Basi di Dati: Corso di laboratorio Lezione 2 Raffaella Gentilini 1 / 45 Sommario 1 Il DDL di SQL: Cancellazione ed Aggiornamento di una BD Cancellazione di Schemi, Tabelle, e Domini Aggiornamento di Tabelle
DettagliChe cos è un DBMS? Capitolo 1. Perché usare un DBMS? DBMS. Descrizioni dei dati nei DBMS. Modelli di dati
Che cos è un DBMS? Capitolo 1 Introduzione ai sistemi di basi di dati Una collezione integrata molto grande di dati Modella organizzazioni del mondo reale Entità (ad esempio studenti, corsi) Relazioni
Dettagli