APPLICAZIONI DELLE BASI DI DATI
|
|
- Giorgina Fortunato
- 8 anni fa
- Visualizzazioni
Transcript
1 APPLICAZIONI DELLE BASI DI DATI APPLICAZIONI TRADIZIONALI APPLICAZIONI INTERNET SQL EMBEDDED
2 SQL nel codice applicativo! I comandi SQL possono essere chiamati dall interno di un programma in un linguaggio ospite (ad esempio C++ o Java)! I comandi SQL possono far riferimento a variabili dell ospite (incluse variabili speciali usate per restituire uno status)! Deve essere incluso un comando per connettersi alla base di dati! Due principali approcci all integrazione! Incorporare l SQL nel linguaggio ospite (SQL incapsulato, ad es., SQLJ)! Creare una speciale API per chiamare i comandi SQL (ad es., JDBC) Giorgio Giacinto 2010 Database 3 SQL incapsulato (embedded)! Approccio: incapsulare l SQL nel linguaggio ospite.! Un preprocessore converte i comandi SQL in speciali chiamate all API! Successivamente un normale compilatore viene usato per compilare il codice! Costrutti del linguaggio! connessione a una base di dati EXEC SQL CONNECT! Dichiarazione di variabili EXEC SQL BEGIN (END) DECLARE SECTION! Comandi EXEC SQL comando Giorgio Giacinto 2010 Database 4
3 SQL incapsulato: variabili EXEC SQL BEGIN DECLARE SECTION Char c_vnome[20]; Long c_vid; Short c_esperienza; Float c_età; EXEC SQL END DECLARE SECTION! Inserimento di una riga EXEC SQL INSERT INTO Velisti VALUES(:c_vnome,:c_vid,:c_esperienza,:c_età); Giorgio Giacinto 2010 Database 5 SQL incapsulato: variabili errore! Due speciali variabili errore! SQLCODE (long) se negativa si è verificato un errore! SQLSTATE char[6] codici predefiniti per errori comuni Giorgio Giacinto 2010 Database 6
4 SQL nel codice applicativo Cursori Disadattamento di impedenza! Le relazioni SQL sono (multi-)insiemi di record senza un numero di record fissato a priori. Nessuna struttura di questo tipo esiste tradizionalmente in linguaggi di programmazione procedurali come il C++! SQL supporta un meccanismo chiamato cursore per gestire questa situazione Giorgio Giacinto 2010 Database 7 SQL incapsulato SELECT senza cursori EXEC SQL SELECT V.vnome,V.età INTO :c_vnome, :c_età FROM Velisti V WHERE V.vid = :c_vid; Questa SELECT restituisce al più una sola tupla non è necessario definire un cursore Giorgio Giacinto 2010 Database 8
5 Cursori! Si può dichiarare un cursore su una relazione o un comando di interrogazione! Si può aprire un cursore, e ripetutamente prelevare una tupla, poi muovere il cursore fino a quando tutte le tuple siano state lette.! Si può usare ORDER BY nelle interrogazioni cui si accede tramite cursore, per controllare l ordine in cui le tuple sono restituite! I campi nella clausola ORDER BY devono apparire anche nella clausola SELECT! ORDER BYè permessa solo nel contesto di un cursore! Si può anche modificare/cancellare la tupla puntata dal cursore Giorgio Giacinto 2010 Database 9 Cursori che leggono in ordine alfabetico i nomi dei velisti che hanno prenotato una barca rossa EXEC SQL DECLARE vinfo CURSOR FOR SELECT V.vnome FROM Velisti V, Barche B, Prenota P WHERE V.vid = P.vid AND P.bid = B.bid AND B.colore = rosso ORDER BY V.vnome Giorgio Giacinto 2010 Database 10
6 Incapsulare l SQL in C: un esempio char SQLSTATE[6]; EXEC SQL BEGIN DECLARE SECTION char c_vnome[20]; short c_minesperienza; float c_età; EXEC SQL END DECLARE SECTION c_minesperienza = random(); EXEC SQL DECLARE vinfo CURSOR FOR SELECT V.vnome, V.età FROM Velisti V WHERE V.esperienza > :c_minesperienza ORDER BY V.vnome; EXEC SQL OPEN vinfo; do { EXEC SQL FETCH vinfo INTO :c_vnome, :v_età; printf( %s ha %d anni\n, c_vnome, c_età); } WHILE (SQLSTATE!= ); EXEC SQL CLOSE vinfo; Giorgio Giacinto 2010 Database 11 Proprietà dei cursori! Un cursore può essere dichiarato! Sola lettura! Aggiornabile (per usare UPDATE e DELETE)! SCROLL CURSOR! Flessibilità nel posizionamento di FETCH! INSENSITIVE! Il cursore è come se agisse su una copia privata della relazione risultato! WITH HOLD! Il cursore non viene chiuso al termine di una transazione Giorgio Giacinto 2010 Database 12
7 SQL dinamico! Le stringhe di interrogazione SQL non sono sempre note al momento della compilazione (ad esempio fogli di lavoro o frontend grafici per il DBMS) Il linguaggio SQL consente di costruire comandi SQL al volo! Esempio: char c_stringasql[]= { DELETE FROM Velisti WHERE esperienza > 5 }; EXEC SQL PREPARE pronti FROM :c_stringasql; EXEC SQL EXECUTE pronti; Giorgio Giacinto 2010 Database 13 API per basi di dati alternative all incapsulamento! Piuttosto che modificare il compilatore, si possono aggiungere librerie con chiamate alla base di dati (API)! Speciale interfaccia standardizzata: procedure/oggetti! Si passano le stringhe SQL dal linguaggio, si presentano gli insiemi risultato in maniera comprensibile! JDBC della Sun: API Java! Generalmente neutre rispetto al DBMS! Un driver rileva le chiamate e le traduce in codice specifico per il DBMS! La base di dati può essere distribuita Giorgio Giacinto 2010 Database 14
8 Uso di Call Level Interface (CLI)! I DBMS sono eseguiti come processi server! Processi attivi che offrono dei servizi a richiesta! Per fruire dei servizi occorre connettersi al DBMS! Interfacce fra DBMS e altri programmi Applicazione Interfaccia (ADO, RDO, ) Driver (DBD,ODBC, ) Database (Oracle,MySQL, ) Giorgio Giacinto 2010 Database 15 STORED PROCEDURE
9 Stored procedure! Cos è una stored procedure! Programma eseguito tramite un singolo comando SQL! Eseguito nello spazio del processo sul server! Vantaggi! Può incapsulare la logica dell applicazione rimanendo al contempo vicino ai dati! Riutilizzo della logica dell applicazione da parte di utenti diversi! Evita la lettura dei record tupla-per-tupla tramite i cursori Giorgio Giacinto 2010 Database 17 Stored procedure: esempi CREATE PROCEDURE MostraNumPrenotazione SELECT V.vid, V.vnome, COUNT(*) FROM Velisti V, Prenota P WHERE V.vid = P.vid GROUP BY V.vid, V.vnome Le stored procedure possono avere parametri! Tre modi differenti: IN, OUT, INOUT CREATE PROCEDURE AumentaEsperienza( IN velista_vid INTEGER, IN aumento INTEGER) UPDATE Velisti SET esperienza = esperienza + aumento WHERE vid = velista_vid Giorgio Giacinto 2010 Database 18
10 Stored procedure: esempi (segue) Le stored procedure non devono necessariamente essere scritte in SQL CREATE PROCEDURE VelistiTop(IN num INTEGER) LANGUAGE JAVA EXTERNAL NAME file://c:/storedprocs/rank.jar Giorgio Giacinto 2010 Database 19 Chiamare le stored procedure EXEC SQL BEGIN DECLARE SECTION int vid; int esperienza; EXEC SQL END DECLARE SECTION // ora aumenta l esperienza di questo velista EXEC CALL AumentaEsperienza(:vid, :esperienza); Giorgio Giacinto 2010 Database 20
11 SQL/PSM La maggior parte dei DBMS consente agli utenti di scrivere stored procedure in un linguaggio semplice e general-purpose (vicino all SQL) lo standard SQL/PSM ne è un esempio Dichiarare una stored procedure: CREATE PROCEDURE nome(p1, p2,... pn) Dichiarazioni di variabili locali Codice della procedura; Dichiarare una funzione: CREATE FUNCTION nome(p1,..., pn) RETURNS TipoDatoSQL Dichiarazione di variabili locali Codice della funzione; Giorgio Giacinto 2010 Database 21 Principali costrutti SQL/PSM CREATE FUNCTION valuta Velista (IN velistaid INTEGER) RETURNS INTEGER DECLARE esperienza INTEGER DECLARE numris INTEGER SET numris = (SELECT COUNT(*) FROM Prenota P WHERE P.vid = velistaid) IF (numris > 10) then esperienza = 1; ELSE esperienza = 0; END IF RETURN esperienza; Giorgio Giacinto 2010 Database 22
12 APPLICAZIONI VERTICALI Sistemi informativi e basi di dati! Le basi di dati sono il componente di base di un sistema informativo! Gestiscono la memorizzazione e il recupero efficiente e efficace dei dati! Nel corso dei decenni sono stati sviluppati diversi applicativi verticali! Orientati a applicazioni aziendali specifiche! Oggi molti produttori di DBMS hanno acquisito società specializzate nella produzione di applicazioni verticali Giorgio Giacinto 2010 Database 24
13 Processi Aziendali! HR Human Resources Management! Finance Management! Procurement! CRM Customer Relationship Management Giorgio Giacinto 2010 Database 25 Gestione della produzione! ERP Enterprise Resource Planning! SCM Supply Chain Management! PLM Product Lifecycle Management Giorgio Giacinto 2010 Database 26
14 APPLICAZIONI INTERNET Basi di Dati e Reti! La diffusione del protocollo http per lo scambio di dati ha modificato tutte le applicazioni delle basi di dati! Non più client dedicati, ma browser web per accedere ai processi aziendali! Internet ha permesso la nascita del cosiddetto commercio elettronico! Richiede accessi in lettura e scrittura a diverse basi di dati! Prodotti del venditore! Mediatore per l acquisto Giorgio Giacinto 2010 Database 28
15 Internet e Basi di Dati! Le stesse informazioni messe a disposizione sui siti Internet sono sempre più spesso organizzate come basi di dati! Dall HTML a XML! Questo approccio semplifica le operazioni di inserimento, aggiornamento, cancellazione di dati Giorgio Giacinto 2010 Database 29 Web-service! E una applicazione che fornisce un servizio ben definito! Un insieme di procedure richiamabili in remoto tramite Internet! Le applicazioni possono essere scritte in linguaggi diversi! Ma scambiano informazioni attraverso formati standard - XML! SOAP: standard per chiamate basate su XML di servizi remoti Argomenti trattati nel corso TARI Giorgio Giacinto 2010 Database 30
16 Componenti dei sistemi data-intensive! Tre tipi separati di funzionalità! gestione dei dati! logica di applicazione! presentazione! L architettura del sistema determina se queste tre componenti risiedono su un singolo sistema (tier) oppure se sono distribuite su diversi tier! Evoluzione delle architetture dipendente da! Evoluzione tecnologia! Riduzione costi (diffusione PC, ecc.) Giorgio Giacinto 2010 Database 31 Architettura a livello singolo! Tutte le funzionalità sono combinate in un singolo tier, generalmente un mainframe! Accesso utente tramite terminali non intelligenti! Vantaggi! facilità di manutenzione e amministrazione! Svantaggi! Gli utenti si aspettano interfacce di tipo grafico! Il calcolo centralizzato di tutte le interfacce grafiche è troppo costoso per un singolo sistema Client Logica dell Applicazione DBMS Giorgio Giacinto 2010 Database 32
17 Architetture client-server thin client! Il client implementa solo l interfaccia utente grafica! Il server implementa la logica dell applicazione e la gestione dei dati Logica dell Applicazione Client Rete DBMS Client Giorgio Giacinto 2010 Database 33 Architetture client-server thick client! Il client implementa sia l interfaccia grafica che (parte de) la logica dell applicazione! Il server implementa la gestione dei dati Client Logica dell Applicazione DBMS Rete Client Logica dell Applicazione Giorgio Giacinto 2010 Database 34
18 Architetture client-server (segue)! Svantaggi dei thick client! Nessun luogo centralizzato per aggiornare la logica dell applicazione! Problemi di sicurezza: il server deve fidarsi dei client! Il controllo di accesso e l autenticazione devono essere gestiti dal server! I client devono lasciare la base di dati del server in uno stato consistente! Una possibilità: incapsulare tutti gli accessi alla base di dati in stored procedure! Non scalabile a più di un centinaio di client! Grossi trasferimenti di dati tra server e client! Più di un server crea un problema: x client, y server: x*y connessioni Giorgio Giacinto 2010 Database 35 L architettura a tre livelli Livello di presentazione Programma client (browser web) Livello intermedio Application Server Livello di gestione dati Sistema di base di dati Giorgio Giacinto 2010 Database 36
19 I tre livelli! Livello di presentazione! Interfaccia primaria con l utente (moduli HTML )! Deve adattarsi a diversi dispositivi di visualizzazione (PC, PDA, telefoni cellulari, accesso vocale?)! Livello intermedio! Implementa la logica dell applicazione (implementa azioni complesse, mantiene lo stato tra diversi passi di un flusso di lavoro)! Accede a diversi sistemi di gestione dei dati! Livello di gestione dei dati! Uno o più sistemi standard per la gestione di basi di dati Giorgio Giacinto 2010 Database 37 Tecnologie Programma client (Browser web ) HTML Javascript XSLT Application Server (Tomcat, Apache) JSP Servlets Cookies CGI Sistema di basi di dati (MySQL, ORACLE) XML Stored Procedures Giorgio Giacinto 2010 Database 38
20 Archietture client-server three tier Client DBMS Rete Logica dell Applicazione Rete Client Giorgio Giacinto 2010 Database 39 Vantaggi architetture a tre livelli! Sistemi eterogenei! Thin client! Accesso integrato ai dati! Scalabilità rispetto al numero di client! Benefici nello sviluppo del software! Interazioni fra livelli attraverso API standardizzate Giorgio Giacinto 2010 Database 40
21 Esempio 1: prenotazioni aeree! Costruire un sistema per prenotazioni aeree! Cosa viene fatto dai vari livelli?! Sistema di basi di dati! Informazioni sulle aerolinee, posti disponibili, informazioni sui clienti, etc.! Application server! Logica per effettuare le prenotazioni, cancellare le prenotazioni, aggiungere nuove aerolinee, etc.! Programma client! Log in dei vari utenti, visualizzazione di moduli e output in forma leggibile Giorgio Giacinto 2010 Database 41 Esempio 2: iscrizione a corsi! Costruire un sistema usando il quale degli studenti possono iscriversi a dei corsi! Sistema di base di dati! Informazioni sugli studenti, informazioni sui corsi, informazioni sui docenti, disponibilità dei corsi, pre-requisiti, etc.! Application server! Logica per modificare un corso, cancellare un corso, creare un nuovo corso, etc.! Programma client! Login dei vari utenti (studenti, personale, professori), visualizzazione di moduli e output in forma leggibile Giorgio Giacinto 2010 Database 42
Capitoli 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
DettagliLABORATORIO di INFORMATICA
Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto APPLICAZIONI DELLE BASI DI DATI
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
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
DettagliApplicazioni e Architetture Internet. T. Catarci, M. Scannapieco, Corso di Basi di Dati, A.A. 2008/2009, Sapienza Università di Roma
Applicazioni e Architetture Internet 1 Introduzione Introduzione alle architetture a tre livelli Formati di dati per il Web HTML, XML, DTD 2 Componenti dei sistemi dataintensive Tre tipi separati di funzionalità:
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
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.
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
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
DettagliIntroduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
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
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
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,
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
DettagliProtocolli e architetture per WIS
Protocolli e architetture per WIS Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di informazioni e servizi Le architetture moderne dei WIS
DettagliUna metodologia di progettazione di applicazioni web centrate sui dati
Una metodologia di progettazione di applicazioni web centrate sui dati A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 1 / 2 0 1 2 Progettazione logica di un sito web centrato sui dati Si
DettagliInformatica Generale Andrea Corradini. 19 - Sistemi di Gestione delle Basi di Dati
Informatica Generale Andrea Corradini 19 - Sistemi di Gestione delle Basi di Dati Sommario Concetti base di Basi di Dati Il modello relazionale Relazioni e operazioni su relazioni Il linguaggio SQL Integrità
DettagliProgetto di Applicazioni Software
Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2008/2009 Questi lucidi sono stati prodotti sulla
DettagliBasi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti
Basi di dati Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti Anno Accademico 2008/2009 Introduzione alle basi di dati Docente Pierangelo
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. 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,
DettagliProgetto di Applicazioni Software
Progetto di Applicazioni Software Antonella Poggi Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Anno Accademico 2010/2011 Questi lucidi sono stati prodotti sulla
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
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
DettagliObiettivi d esame PHP Developer Fundamentals on MySQL Environment
Obiettivi d esame PHP Developer Fundamentals on MySQL Environment 1.0 Ambiente di sviluppo 1.1 Web server e database MySQL Comprendere la definizione dei processi che si occupano di fornire i servizi web
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
DettagliCapitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
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
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
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
DettagliSiti web centrati sui dati (Data-centric web applications)
Siti web centrati sui dati (Data-centric web applications) 1 A L B E R T O B E L U S S I A N N O A C C A D E M I C O 2 0 1 2 / 2 0 1 3 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente
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
DettagliIl DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari
Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più
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
DettagliBASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015
BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare
DettagliSistemi informativi secondo prospettive combinate
Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da
DettagliAbilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere
Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report Facoltà di Lingue e Letterature Straniere Le QUERY 2 Che cos è una Query? Una Query rappresenta uno strumento per interrogare un database.
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
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
DettagliProgettazione Web Applicazioni client-server
Progettazione Web Applicazioni client-server Sviluppo di un'applicazione Web integrando: HTML MySQL PHP Apache Applicativi utilizzabili: gestione database: JDER, MySQL Workbench, HeidiSQL (Win), DBeaver
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
DettagliCome funziona il WWW. Architettura client-server. Web: client-server. Il protocollo
Come funziona il WWW Il funzionamento del World Wide Web non differisce molto da quello delle altre applicazioni Internet Anche in questo caso il sistema si basa su una interazione tra un computer client
DettagliPROGRAMMA CORSO Analista Programmatore JAVA - ORACLE
PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE 1. JAVA 1.1 Introduzione a Java Introduzione Cosa è Java 1.2 Sintassi e programmazione strutturata variabili e metodi tipi di dati, array operatori
DettagliDATABASE IN RETE E PROGRAMMAZIONE LATO SERVER
DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono
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
DettagliSWIM v2 Design Document
PROGETTO DI INGEGNERIA DEL SOFTWARE 2 SWIM v2 DD Design Document Matteo Danelli Daniel Cantoni 22 Dicembre 2012 1 Indice Progettazione concettuale Modello ER Entità e relazioni nel dettaglio User Feedback
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
DettagliOrganizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
DettagliCorso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP
Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP Accademia Futuro info@accademiafuturo.it Programma Generale del Corso Analista Programmatore Web PHP Tematiche Trattate
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
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
DettagliEsercitazione 8. Basi di dati e web
Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una
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
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
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
DettagliArchitetture Informatiche. Dal Mainframe al Personal Computer
Architetture Informatiche Dal Mainframe al Personal Computer Architetture Le architetture informatiche definiscono le modalità secondo le quali sono collegati tra di loro i diversi sistemi ( livello fisico
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
DettagliUso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni
Uso dei data bases con PHP Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni MDAC MDAC è l acronimo di Microsoft Data Access Component e fa parte della tecnologia Microsoft denominata Universal
DettagliIndice Introduzione Elementi di base dei database Il linguaggio SQL (Structured Query Language)
Indice Introduzione XI Capitolo 1 Elementi di base dei database 1 1.1 Che cos è un database 1 1.2 L architettura di Oracle Database 10g 3 Progetto 1.1 L architettura di Oracle Database 10g 8 1.3 I tipi
DettagliGERARCHIE RICORSIVE - SQL SERVER 2008
GERARCHIE RICORSIVE - SQL SERVER 2008 DISPENSE http://dbgroup.unimo.it/sia/gerarchiericorsive/ L obiettivo è quello di realizzare la tabella di navigazione tramite una query ricorsiva utilizzando SQL SERVER
DettagliApplicazioni web centrati sui dati (Data-centric web applications)
Applicazioni web centrati sui dati (Data-centric web applications) 1 ALBERTO BELUSSI ANNO ACCADEMICO 2009/2010 WEB La tecnologia del World Wide Web (WWW) costituisce attualmente lo strumento di riferimento
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
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
DettagliDBMS (Data Base Management System)
Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire
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
Dettagli@2011 Politecnico di Torino. Pag. 1. Architettura distribuita. Architetture Client/Server. Architettura centralizzata. Architettura distribuita
Architettura client/ stazioni utente Basi di ati Architetture /Server B locali M BG Architettura centralizzata Un architettura è centralizzata quando i dati e le (programmi) risiedono in un unico Tutta
DettagliCONCETTO DI ANNIDAMENTO
LEZIONE14 SQL ANNIDAMENTI PAG. 1 / 5 PROF. ANDREA ZOCCHEDDU LEZIONE14 SQL ANNIDAMENTI CONCETTO DI ANNIDAMENTO LINGUAGGIO SQL QUERY ANNIDATE Per annidamento si intende la possibilità che, all interno di
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
DettagliConcetti base. Impianti Informatici. Web application
Concetti base Web application La diffusione del World Wide Web 2 Supporto ai ricercatori Organizzazione documentazione Condivisione informazioni Scambio di informazioni di qualsiasi natura Chat Forum Intranet
DettagliLe Basi di Dati. Le Basi di Dati
Le Basi di Dati 20/05/02 Prof. Carlo Blundo 1 Le Basi di Dati Le Base di Dati (database) sono un insieme di tabelle di dati strutturate in maniera da favorire la ricerca di informazioni specializzate per
DettagliDATABASE. www.andreavai.it
Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni
DettagliMODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it
MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo
DettagliMODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML
MODA-ML: Esempi di XSL (Extensible Stylesheet Language) Vocabolario di supporto alla creazione di un set di Schemi di documenti XML Thomas Imolesi imolesi@libero.it fti@bologna.enea.it XML un linguaggio
DettagliTecnologia dei Sistemi Informativi. architettura s.i. 1
Tecnologia dei Sistemi Informativi architettura s.i. 1 Sistema Informativo comprende risorse umane è fortemente integrato con il sistema organizzativo è essenziale per il funzionamento dell'azienda architettura
DettagliGestione dei File in C
Gestione dei File in C Maurizio Palesi DIIT Università di Catania Viale Andrea Doria 6, 95125 Catania mpalesi@diit.unict.it http://www.diit.unict.it/users/mpalesi Sommario In questo documento saranno introdotte
DettagliApplication Server per sviluppare applicazioni Java Enterprise
Application Server per sviluppare applicazioni Java Enterprise Con il termine Application Server si fa riferimento ad un contenitore, composto da diversi moduli, che offre alle applicazioni Web un ambiente
DettagliWeb Application Libro Firme Autorizzate
Web Application Libro Firme Autorizzate Sommario 1 CONTESTO APPLICATIVO... 2 2 ARCHITETTURA APPLICATIVA... 3 2.1 Acquisizione Firme... 3 2.2 Applicazione Web... 3 2.3 Architettura Web... 4 3 SICUREZZA...
DettagliBusiness Intelligence
Business Intelligence La business intelligence è l area dell informatica gestionale che si occupa di elaborare statistiche e report sui dati aziendali. Tra i principali settori aziendali interessati ci
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
DettagliDBMS e Linguaggi di programmazione nell'era di Internet
DBMS e Linguaggi di programmazione nell'era di Internet Crippa Francesco fcrippa@tiscalinet.it Crippa Francesco (GPL) 1 Programma del corso DBMS nati per il WEB: MySQL Postgres Il cuore del WWW, il web
DettagliEsercitazione 4 JDBC
JDBC Obiettivi dell esercitazione Familiarizzare con l'organizzazione dell'ambiente di lavoro per la realizzazione di applicazioni Java Utilizzare i costrutti di base della libreria JDBC per 1. la gestione
DettagliIntroduzione all elaborazione di database nel Web
Introduzione all elaborazione di database nel Web Prof.ssa M. Cesa 1 Concetti base del Web Il Web è formato da computer nella rete Internet connessi fra loro in una modalità particolare che consente un
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
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
DettagliDATABASE. A cura di Massimiliano Buschi
DATABASE A cura di Massimiliano Buschi Introduzione Con Microsoft Access: Immissione dati e interrogazione Interfaccia per applicazioni e report Ma prima bisogna definire alcune conoscenze di base sui
DettagliProtocolli applicativi: FTP
Protocolli applicativi: FTP FTP: File Transfer Protocol. Implementa un meccanismo per il trasferimento di file tra due host. Prevede l accesso interattivo al file system remoto; Prevede un autenticazione
DettagliCorso di Laboratorio di Applicazioni Informatiche. Progetti di Basi di Dati a.a. 2008-9
Corso di Laboratorio di Applicazioni Informatiche Progetti di Basi di Dati a.a. 2008-9 Outline Obbiettivi Tecnologie Struttura di un progetto Esempi Deadlines Conlusioni Obbiettivi Applicare le conoscenze
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)
DettagliSIEBEL CRM ON DEMAND MARKETING
SIEBEL CRM ON DEMAND MARKETING Siebel CRM On Demand Marketing include 11 strumenti integrati per migliorare le attività di marketing dell azienda. Questi strumenti permettono di conoscere meglio i destinatari,
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
DettagliQuesiti 6 e 7) - 9 - Creiamo il file query4.php su una piattaforma OPEN SOURCE usando in linguaggio PHP ospitato su un webserver APACHE per interrogare un database MYSQL. Tale file verrà attivato cliccando
DettagliSISTEMI OPERATIVI DISTRIBUITI
SISTEMI OPERATIVI DISTRIBUITI E FILE SYSTEM DISTRIBUITI 12.1 Sistemi Distribuiti Sistemi operativi di rete Sistemi operativi distribuiti Robustezza File system distribuiti Naming e Trasparenza Caching
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
DettagliICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA
ICT (Information and Communication Technology): ELEMENTI DI TECNOLOGIA Obiettivo Richiamare quello che non si può non sapere Fare alcune precisazioni terminologiche IL COMPUTER La struttura, i componenti
DettagliStandard Nazionale di Comunicazione Mercato Gas
Standard Nazionale di Comunicazione Mercato Gas Istruzioni per l uso del modulo di comunicazione DGCOMM 1 CONFIGURAZIONE LOCALE Nel PC che il Venditore utilizzerà per connettersi, dovrà essere preventivamente
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
DettagliLe query. Lezione 6 a cura di Maria Novella Mosciatti
Lezione 6 a cura di Maria Novella Mosciatti Le query Le query sono oggetti del DB che consentono di visualizzare, modificare e analizzare i dati in modi diversi. Si possono utilizzare query come origine
DettagliComponenti di una applicazione. Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali:
Componenti di una applicazione Un programma applicativo è strutturato come un insieme organizzato di tre componenti funzionali: Un sottosistema di interfaccia con l utente (IU, user interface o anche presentation
Dettagli