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



Documenti analoghi
LA REALIZZAZIONE DI APPLICAZIONI ALCUNE 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


JDBC versione base. Le classi/interfacce principali di JDBC

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

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

PHP e Structured Query Language

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

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.

DBMS ed Applicazioni Motivazioni

Lezione 9. Applicazioni tradizionali

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

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

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

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

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

Corso di Informatica Modulo T3 B2 - Database in rete

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

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:

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

Triggers. Basi dati attive. Trigger. Indipendenza della conoscenza

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

Dispensa di database Access

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

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Le Basi di Dati. Le Basi di Dati

Database. Francesco Tapparo Informatica e Bioinformatica /16


PROGRAMMA DI CLASSE 5AI

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

Indice Configurazione di PHP Test dell ambiente di sviluppo 28

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Esercitazione 8. Basi di dati e web

Database e reti. Piero Gallo Pasquale Sirsi

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

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

ASP: DOMANDE E RISPOSTE (Q&A)

Introduzione all elaborazione di database nel Web

OSSIF WEB. Manuale query builder

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

Basi di dati - Basi di dati e Web

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))

Data Base in Internet

Basi di Dati: Corso di laboratorio

SCHEDE DI INFORMATICA GLI ARCHIVI E LE BASI DI DATI

Corso sul linguaggio SQL

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

La tecnologia ASP.NET e i database

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

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Basi di dati e Sistemi informativi aziendali

Un client su arduino invia i dati acquisiti ad un database

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

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

FUNZIONI PARAMETRI DEFINIZIONI DI PROCEDURE PROCEDURE

SQL PER LA DEFINIZIONE DI BASI DI DATI

1. BASI DI DATI: GENERALITÀ

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.

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)

Progettazione Web Applicazioni client-server

Definizione di domini

Esercitazione sulle libpq - libreria C per PostgreSQL

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

Transcript:

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

ALCUNE ARCHITETTURE Client-Server Logica + interfaccia Logica + interfaccia Sistema di comunicazione DBMS: dati e business rules Thin Client Interfaccia Interfaccia Sistema di comunicazione DBMS+application server: logica, dati e business rules PLSQL 1.2

THREE TIERS Client: Interfaccia Client: Interfaccia application server: logica applicativa DBMS server: dati e business rules PLSQL 1.3

WEB SERVER Client: Browser Client: Browser Client: Browser web server: comunicazioni web server: comunicazioni application server: logica applicativa application server: logica applicativa DBMS server: dati e business rules PLSQL 1.4

LA NOSTRA ARCHITETTURA Browser (interfaccia): HTML + JScript apache con modulo mod_plsql (aka Oracle Web server) su oracle1.cli e oracle2.cli http web server (comunicazioni): non serve programmarlo oracle*net URL rpc PL/SQL HTML (+ JScript) HTML (+ JScript) oracle DBMS server su oracle1.cli e oracle2.cli application server (logica applicativa): oracle server su oracle1.cli, codice in PL/SQL SQL Records / eccezioni DBMS server (dati e business rules) codice in SQL e trigger SQL PLSQL 1.5

IL LINGUAGGIO 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.6

IL LINGUAGGIO Tre soluzioni: Linguaggio di programmazione + API Linguaggio immerso Linguaggio integrato PLSQL 1.7

LINGUAGGIO INTEGRATO Integrazione dei tipi di dato Integrazione dello scoping Integrazione del DML PLSQL 1.8

UNA SOLUZIONE 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

L ASPETTO DEL CODICE 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 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 Di definire procedure e moduli Di gestire il flusso del controllo, le transazioni, le eccezioni PLSQL 1.11

STRUTTURA Il blocco: DECLARE <dichiarazioni> BEGIN <comandi> EXCEPTION <gestori> END; La procedura: PROCEDURE <parametri> IS <dichiarazioni> BEGIN <comandi> EXCEPTION <gestori> END; PLSQL 1.12

Il modulo: interfaccia e implementazione CREATE PACKAGE <nome> AS... END <nome>; CREATE PACKAGE BODY <nome> AS... END <nome>; PLSQL 1.13

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.14

IL FLUSSO DEL CONTROLLO 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 PLSQL 1.15

TABELLE E RECORD 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.16

ECCEZIONI DECLARE aaa EXCEPTION; RAISE aaa EXCEPTION WHEN aaa THEN... END PLSQL 1.17

ARCHITETTURA 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.18