LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE

Documenti analoghi
LA REALIZZAZIONE DI APPLICAZIONI. Quattro parti: Gestione dati. Business rules. Logica applicativa. Interfaccia utente. Molte possibili architetture

Come trattare il risultato di un comando SQL (relazioni) che

PROGRAMMA CORSO Analista Programmatore JAVA - ORACLE

Oracle PL/SQL. Motivazioni

Capitoli 8 e 9. SQL embedded. Applicazioni tradizionali Applicazioni Internet. Sistemi di basi di dati Raghu Ramakrishnan, Johannes Gehrke

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Nozione ed uso. Operazioni eseguite automaticamente ogni volta che avviene un certo evento Uso:

Come trattare il risultato di un comando SQL (relazioni) che

DBMS (Data Base Management System)

Azioni. Select e join non consentono di modificare il contenuto del DB. Inserzione di nuovi dati. Azioni desiderate. Aggiornamento di dati

PL/SQL PL/SQL. Ordine degli elementi dei triggers di Oracle. Differenze nei triggers. Versione dei trigger e PSM di Oracle

Una metodologia di progettazione di applicazioni web centrate sui dati

Sistema di Gestione di Basi di Dati DataBase Management System DBMS

Procedure memorizzate SQL-2003/PSM. Forma base di PSM. Parametri in PSM

Linee guida per la programmazione di transazioni in PL/SQL

ITI M. FARADAY Programmazione modulare a.s

Il linguaggio SQL: trigger. Versione elettronica: 04.7.SQL.trigger.pdf


Suggerimenti per lo Sviluppo delle Applicazioni con PL/SQL. Simona Rotolo

JDBC versione base. Le classi/interfacce principali di JDBC

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

PL/SQL Uso di un linguaggio procedurale per un database

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

Corso di Basi di Dati. Linguaggi per basi di dati. Linguaggi per basi di dati. Linguaggi per basi di dati: Algebra Relazionale

PHP e Structured Query Language

APPENDICE. Procedure in SQL (1)

APPLICAZIONI DELLE BASI DI DATI

JDBC di base. Le classi/interfacce principali di JDBC

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

Lezione 8. Metadati, Viste e Trigger

Che cos è un DBMS? Capitolo 1. Perché usare un DBMS? DBMS. Descrizioni dei dati nei DBMS. Modelli di dati

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

Lezione 9. Applicazioni tradizionali

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

DBMS ed Applicazioni Motivazioni

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

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Stored Procedures. Antonella Poggi, Claudio Corona. Dipartimento di informatica e Sistemistica SAPIENZA Università di Roma

Sistemi di Elaborazione delle Informazioni (C.I. 15) Access

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

Corso di Informatica Modulo T3 B2 - Database in rete

Informatica per le discipline umanistiche 2 lezione 10

19. LA PROGRAMMAZIONE LATO SERVER

Capitolo 7. Esercizio 7.1

Protocolli e architetture per WIS

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

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

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

JDBC: Introduzione. Java Database Connectivity (JDBC): parte 1. Schema dei legami tra le classi principali. Principali classi/interfacce di JDBC

FUNZIONI. Dichiarazione: Definizione:

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

Informatica Generale Andrea Corradini Sistemi di Gestione delle Basi di Dati

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

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

Le Basi di Dati. Le Basi di Dati

Dispensa di database Access

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Database. Francesco Tapparo Informatica e Bioinformatica /16


PROGRAMMA DI CLASSE 5AI

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

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Indice Configurazione di PHP Test dell ambiente di sviluppo 28

Database e reti. Piero Gallo Pasquale Sirsi

Esercitazione 8. Basi di dati e web

Basi di dati (6) Docente: Andrea Bulgarelli. Università di Modena e Reggio Emilia. andrea.bulgarelli@gmail.com Argomento: T-SQL (1.

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato

Introduzione all elaborazione di database nel Web

OSSIF WEB. Manuale query builder

ASP: DOMANDE E RISPOSTE (Q&A)

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

Volumi di riferimento

SQL non è solo un linguaggio di interrogazione (Query Language), ma. Un linguaggio per la definizione di basi di dati (Data-definition language (DDL))

Basi di dati - Basi di dati e Web

Data Base in Internet

Basi di Dati: Corso di laboratorio

Corso sul linguaggio SQL

SCHEDE DI INFORMATICA GLI ARCHIVI E LE BASI DI DATI

Introduzione. 8- Programmazione di una base di dati attraverso JDBC ESEMPIO

Basi di dati e Sistemi informativi aziendali

Metodi per la Gestione dei Dati (lezioni di laboratorio)

La tecnologia ASP.NET e i database

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

1 MODULO: Visual basic.net Dati strutturati. Finalità: Gestione di dati strutturati

SQL PER LA DEFINIZIONE DI BASI DI DATI

1. BASI DI DATI: GENERALITÀ

Oracle9i. Sono le dieci di sera, state impazzendo sul database. Indietro nel tempo con. Flashback Query

Un client su arduino invia i dati acquisiti ad un database

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

Nella relazione CINEMA, Nome è chiave secondaria. Nella relazione FILM, CodRegista, e CodProtagonista sono chiavi esterne sulla tabella PERSONE.

FUNZIONI PARAMETRI DEFINIZIONI DI PROCEDURE PROCEDURE

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

Oracle - PL/SQL. Oracle: Prodotti

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

Aspetti relazionali ad oggetti di Oracle 9i. Il sistema di tipi di Oracle. Tipi oggetto

Simulazione seconda prova Esame di Stato Sito Web - Gestione di un centro agroalimentare all ingrosso (Parte seconda)

Definizione di domini

Esercitazione sulle libpq - libreria C per PostgreSQL

Progettazione Web Applicazioni client-server

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

Transcript:

LA REALIZZAZIONE DI APPLICAZIONI ALCUNE ARCHITETTURE Quattro parti: Gestione dati Client-Server Logica + interfaccia Logica + interfaccia Business rules Sistema di comunicazione Logica applicativa DBMS: Interfaccia utente Molte possibili architetture Thin Client Interfaccia Interfaccia L approccio tradizionale: uso di un linguaggio Sistema di comunicazione DBMS+ logica, PLSQL 1.1 PLSQL 1.2 THREE TIERS WEB SERVER Client: Interfaccia Client: Interfaccia web server: comunicazioni web server: comunicazioni DBMS server: DBMS server: PLSQL 1.3 PLSQL 1.4

LA NOSTRA ARCHITETTURA IL LINGUAGGIO apache con modulo mod_plsql (aka Oracle Web server) su oracle1.cli e oracle2.cli oracle DBMS server su oracle1.cli e oracle2.cli Browser (interfaccia): HTML + JScript http web server (comunicazioni): non serve programmarlo oracle*net URL rpc PL/SQL application server (): oracle server su oracle1.cli, codice in PL/SQL SQL DBMS server () codice in SQL e trigger SQL HTML (+ JScript) HTML (+ JScript) Records / eccezioni Scrivere un applicazione che visualizzi una schermata, raccolga dei dati, segnali eventuali inconsistenze con i dati nella BD oppure inserisca i nuovi dati Serve un linguaggio che possa: Effettuare I/O Effettuare interrogazioni Controllare il flusso in un modo che dipende dal risultato dell interrogazione Effettuare aggiornamenti PLSQL 1.5 PLSQL 1.6 IL LINGUAGGIO LINGUAGGIO INTEGRATO Tre soluzioni: Integrazione dei tipi di dato Linguaggio di programmazione + API Linguaggio immerso Linguaggio integrato Integrazione dello scoping Integrazione del DML PLSQL 1.7 PLSQL 1.8

UNA SOLUZIONE L ASPETTO DEL CODICE procedure prenotaif( illogin in prenota.login%type, ladata in date, lora in prenota.ora%type) is unaprenotazione prenota%rowtype; cursor c is select * from prenota where data = ladata and ora = lora; begin open c; fetch c into unaprenotazione; if c%notfound then insert into prenota values (codiceseq.nextval, illogin, ladata, lora, ilterm, ladatap, iltermp); else...; end if; end prenotaif; PLSQL 1.9 procedure creaelaborato( CodTemp AllocazioniTemp.CodTemp%type, Resp number, ) is i binary_integer; cursor callocazioni is select CodEl, Matricola, from Allocazioni where Allocazioni.CodEl = CreaElaborato.CodTemp; begin insert into Elaborati (CodEl, PassEl, CodCo) values (CodEl, PassEl, '1'); open callocazioni; loop fetch callocazioni into IlCodTemp,LaMatricola; exit when callocazioni%notfound; insert into Allocazioni (Matricola,CodEl,Responsabile) values(lamatricola,codel,'n'); end loop; close callocazioni; endcreaelaborato; PLSQL 1.10 PL/SQL STRUTTURA Un linguaggio per manipolare basi di dati che integra DML (SQL) con il linguaggio ospite Un linguaggio a blocchi con una struttura del controllo completa che contiene l SQL come sottolinguaggio Permette: Di definire variabili di tipo scalare, record (annidato), insieme di scalari, insiemi di record piatti, cursore Di definire i tipi delle variabili a partire da quelli della base di dati Di eseguire interrogazioni SQL ed esplorarne il risultato Di modificare la base di dati Il blocco: DECLARE <dichiarazioni> BEGIN <comandi> EXCEPTION <gestori> END; La procedura: PROCEDURE <parametri> IS <dichiarazioni> BEGIN <comandi> EXCEPTION <gestori> END; Di definire procedure e moduli Di gestire il flusso del controllo, le transazioni, le eccezioni PLSQL 1.11 PLSQL 1.12

Il modulo: interfaccia e implementazione CREATE PACKAGE <nome> AS... END <nome>; CREATE PACKAGE BODY <nome> AS... END <nome>; LE DICHIARAZIONI DI VARIABILI <nome> <tipo>; <nome> CONSTANT <tipo> := <expr>; CURSOR <nome> IS <query>; Operazioni: OPEN, FETCH, CLOSE Attributi di variabili e cursori: Var%TYPE, dove var è una variabile o una colonna Cur%ROWTYPE dove cur è un cursore o una tabella PLSQL 1.13 PLSQL 1.14 IL FLUSSO DEL CONTROLLO TABELLE E RECORD IF - THEN - (ELSIF THEN ) - ELSE - END IF LOOP <comandi> END LOOP (EXIT WHEN <cond>) FOR var IN seq LOOP <comandi> END LOOP GOTO label... <<label>> comandi Una tabella è un array associativo dinamico, di tipo TABLE OF <tipo> INDEX BY <tipo> I tipi record sono annidabili: RECORD (nome tipo,...,nome tipo) PLSQL 1.15 PLSQL 1.16

ECCEZIONI ARCHITETTURA DECLARE aaa EXCEPTION; RAISE aaa EXCEPTION WHEN aaa THEN... END Tre possibilità: Un programma PL\SQL può essere eseguito da uno strumento, che invia i comandi SQL al server; Un programma PL\SQL può essere inviato da uno strumento al server, il quale lo esegue; Un programma PL\SQL può risiedere nel server, che lo esegue. PLSQL 1.17 PLSQL 1.18