Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A XQuery.

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. XQuery."

Transcript

1 Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A XQuery Eufemia TINELLI

2 Contenuti XQuery come linguaggio di interrogazione di XML data Modello dei dati: Sequenze Espressioni F (For) L (Let) W (Where) O (Order) R (Return) espressioni condizionali (if then-else), confronti, operatori logici e aritmetici, quantificatori (esiste/per ogni) Funzioni Esercitazione RecipeML

3 XQuery XQuery è un linguaggio di interrogazione per dati espressi in XML, e può essere dunque utilizzato per accedere a documenti strutturati e semistrutturati E diventato una Recommendation del W3C nel gennaio 2007 Principali obiettivi di progetto: XQuery deve essere capace di trasformare e creare documenti XML essere capace di combinare informazioni provenienti da sorgenti diverse essere dichiarativo gestire i namespace compatibile con XML Schema e supportare simple e complex datatype Avere almeno una sintassi XML ed almeno una human-readable

4 XQuery, XPath e XSLT XQuery è un linguaggio case sensitive (come XML), estende l ultima versione di XPath e ha funzionalità analoghe a XSLT XQuery e XPath XQuery 1.0 è progettato per essere un superinsieme proprio di XPath 2.0 Potere espressivo: XQuery rispetto a XPath permette la combinazione di informazione proveniente da sorgenti diverse e la creazione di nuovi frammenti XML Uso di funzioni: XQuery supporta user-defined mentre XPath implementation-defined function XQuery e XSLT Entrambi sono usati per combinare e trasformare dati XML da sorgenti diverse XQuery è progettato da zero a partire da SQL ricorsione data-centric application XSLT è progettato per estendere e potenziare CSS ricorsione documentcentric application Potere espressivo: a livello tecnico equivalente ma XSLT ha implementazioni molto efficienti

5 XML e Database (1)

6 XML e Database (2) I dati relazionali corrispondo a qualche albero mentre i dati XML a tutti gli alberi Il supporto dato dal modello relazionale puro ad XML prevede dei meccanismi di mappatura delle strutture XML sulle relazioni: Document-Centric - il documento XML come tale è il dato da inserire nel DB (ricerche base tramite XPath o espressioni regolari) Data-Centric - la struttura del documento XML è parte fondamentale dei dati da conservare (XML recuperato dalle tabelle, query sofisticate, elevato numero di join) Ibrido - il documento XML viene mappato in modo data-centric, ma alcuni sottoalberi vengono trattati in maniera document-centric (implementazione complessa) Strategie di supporto per la memorizzazione (non ci sono standard) Database XML nativi - permettono di gestire documenti XML come collezioni di dati indicizzati, interrogandoli tramite XPath e XQuery (Tamino di SoftwareAG, XIndice di Apache, exist disponibile su sourceforge) Database estesi con supporto ad XML - permettono di gestire documenti XML in maniera document-centric o data-centric intero documento XML memorizzato in un unico attributo, uno per tupla, utilizzando un nuovo tipo di dato SQL (XMLType) (Oracle, IBM) documento XML è suddiviso e memorizzato in più attributi, tabelle e tuple: 1) schema relazionale ad hoc per il particolare documento o 2) schema generico adatto a tutti i documenti (MS SQL Server) Elenco completo di prodotti che offrono supporto XML

7 XQuery ed SQL I dati XML organizzati in tabelle sono più complicati da leggere ma estrarre XML a partire da tabelle è sempre possibile (qualsiasi dato rappresentabile in una tabella è anche rappresentabile in XML) Strategie per estrarre XML da database: Tramite viste predefinite (soluzione ad hoc poco flessibile) Tramite SQL, con operatori che producono output in XML (non utilizzabile per DBMS nativi, espressività ridotta) SQL/XML è un estensione di SQL per costruire dati XML come risultato di query SQL Tramite mappatura delle tabelle in XML e interrogazione tramite XQuery (poche implementazioni) Es. SQL/XML xmlelement(name, "Students", SELECT xmlelement(name,"record",xmlattributes(s.id, s.name,s.age)) FROM Students ) <Students> <record id="100026" name="joe Average age="21"/> <record id="100078" name="jack Doe age="18"/> </Students>

8 Sequenze XQuery opera su sequenze, che possono contenere: Valori atomici Nodi Un espressione XQuery riceve in input zero (nel caso di costruttori) o più sequenze e produce una sequenza Qualche proprietà Le sequenze sono in generale ordinate, per cui: (1, 2) è diversa da (2, 1). Le sequenze non sono annidate, per cui: (( ), 1, (2, 3)) è uguale a (1, 2, 3). Non c è differenza tra un item e una sequenza con lo stesso item: (1) è uguale a

9 Operatori Per manipolare le sequenze XQuery mette a disposizione i seguenti operatori:, (virgola) e to Es. di sintassi alternative (1, 2, 3) (1, (), (2, 3)) (1 to 3) (1, 2 to 3) union (anche nella forma equivalente ), intersect, except (A) union (A, B) -> (A, B) (A, B) intersect (B, C) -> (B) (A, B) except (B) -> (A)

10 XQuery: : Prologo + query Una query può essere preceduta da un prologo, in cui vengono dichiarate informazioni necessarie per la sua esecuzione Dichiarazioni di parametri e setting per processore XQuery Dichiarazioni implicitamente definite in qualsiasi implementazione di XQuery

11 Espressioni racchiuse Le espressioni XML possono essere calcolate dinamicamente mediante l uso di espressioni racchiuse : { expr } Le espressioni racchiuse possono essere utilizzate nei costruttori

12 Costruttori di tipo espliciti

13 FLWOR (pronuncia flower ) Una espressione FLWOR è simile ad uno statement SQL (Select-From- Where) ed è definita in termini di binding di variabili E composta da 5 parti, tutte opzionali tranne l ultima: For: lega una variabile ad ogni elemento restituito dall espressione XPath; la clausola for è una iterazione; possono esserci più clausole for in una espressione FLWOR Let: associa ad una variabile il risultato di una espressione XPath For e Let generano sequenza ossia creano un elenco con tutte le associazioni possibili, chiamate anche tuple nella specifica di XQuery Where: filtra l elenco di associazioni in base ad una condizione Order by: ordina l elenco di associazioni Return: costruisce il risultato dell espressione FLWOR Queste espressioni, così come ogni altra espressione XQuery, possono essere commentate utilizzando i simboli (: e :) Es. (: Questo è un commento (: con un commento annidato :) :)

14 Clausola FOR: esempio Query: Per ogni libro della collezione elenca anno e titolo for $b in doc("esempio.xml")/bib/libro return <libro anno="{ }"> { $b/titolo } </libro> OSS. 1 - Le parentesi graffe delimitano un espressione XQuery, che deve essere valutata per creare il risultato OSS. 2 - All interno della clausola RETURN puo essere specificata una qualsiasi espressione XQuery. In questo caso, stiamo utilizzando costruttori che generano XML, e che si scrivono direttamente utilizzando la sintassi XML

15 Clausola FOR: Esecuzione 1. Si selezionano tutti i libri (doc("esempio.xml")/bib/libro) 2. Valutazione espressione del for si ottiene una sequenza di nodi Ciascun nodo (libro in questo esempio )che viene associata alla variabile $b 1. Per ogni associazione ($b) è restituita l espressione in return

16 Clausola FOR: Esempio di più variabili utilizzate in un'unica espressione for $i in (10, 20), $j in (1, 2) return ($i + $j) Ci sono due sequenze in input (10, 20) associata alla variabile $i (1, 2) associata alla variabile $j Per ogni coppia <$i,$j> viene valutato il risultato ($i + $j) L elenco di associazioni è dato dal prodotto cartesiano dei possibili valori delle variabili Il risultato è la sequenza (11, 12, 21, 22)

17 XQuery: Esempio

18 FOR vs LET: esempi N.B. Ogni clausola for e let può far riferimento a variabili legate in clausole precedenti: in questo modo si può effettuare il join tra documenti XML

19 Query annidate: esempio

20 Ordinamento: esempio

21 Funzioni (1) E possibile importare librerie di funzioni: built-in o definite dall utente XQuery include più di 100 funzioni built-in. Vi sono funzioni per le stringhe, i valori numerici, manipolazione di sequenze, ecc. --> L URI del namespace per le funzioni XQuery è mentre il prefisso di default del namespace delle funzioni è fn Es. import module namespace math = "http://sisinflab.poliba.it/funzmath" <risultato> { for $cerchio in doc( figure.xml )//cerchio return <area> {math:area($cerchio/raggio)} </area> } </risultato>

22 Funzioni (2) Nel prologo è possibile definire funzioni proprie (quando non abbiamo a disposizione le librerie che ci occorrerebbero oppure per rendere il codice più leggibile) Definizione delle funzioni declare function nomefunz ($x1, $x2,, $xk) { espr } Le variabili $x1, $x2,, $xk sono visibili all interno dell espressione espr Chiamata nomefunz (espr1, espr2,, esprk) Es. declare function area($base, $altezza) { $base * $altezza / 2 } <risultato> { for $tr in doc( figure.xml )//triangolo return <area>{area($tr/base, $tr/altezza)}</area> } </risultato>

23 Espressioni Condizionali: Esempi if ($prodotto1/prezzo < $prodotto2/prezzo) then $prodotto2 else $prodotto1 L espressione ritorna il valore della variabile $prodottox che contiene il prezzo più alto if then $prodotto/ingrosso else $prodotto/dettaglio L espressione valuta l esistenza di un attributo e di conseguenza sceglie gli elementi da selezionare L espressione ritorna il valore numerico associato ad ogni voto (A, A+, A-, ecc.) in modo da poter calcolare la media dei voti di ogni studente

24 Espressioni con quantificatori: some & every Quando le variabili sono associate a insiemi di oggetti è utile disporre di operatori che verifichino le proprietà di insiemi di oggetti Logica: (1) some ed every come for associano una sequenza di oggetti a ciascuna variabile; (2) Per ogni oggetto viene verificata la condizione Booleana di satisfies some $x in (1, 2, 3), $y in (2, 3, 4) satisfies $x + $y = 4 True Se almeno una volta la condizione risulta vera, l intera espressione e vera every $x in (1, 2, 3), $y in (2, 3, 4) satisfies $x + $y = 4 Se la condizione risulta sempre vera,l intera espressione e vera False

25 Esercitazione RecipeML

26 RecipeML DTD

27 RecipeML Example <collection> <recipe> <title>beef Parmesan with Garlic Angel Hair Pasta</title> <ingredient name="beef cube steak" amount="1.5" unit="pound" /> <ingredient name="onion, sliced into thin rings" amount="1" /> <ingredient name="green bell pepper, sliced in rings" amount="1" /> <ingredient name="italian seasoned bread crumbs" amount="1" unit="cup" /> <ingredient name="grated Parmesan cheese" amount="0.5" unit="cup" /> <ingredient name="olive oil" amount="2" unit="tablespoon" /> <ingredient name="spaghetti sauce" amount="1" unit="jar" /> <ingredient name="shredded mozzarella cheese" amount="0.5" unit="cup" /> <ingredient name="angel hair pasta" amount="12" unit="ounce" /> <ingredient name="minced garlic" amount="2" unit="teaspoon" /> <ingredient name="butter" amount="0.25" unit="cup" /> <preparation> <step>preheat oven to 350 degrees F (175 degrees C).</step> <step>cut cube steak into serving size pieces. Coat meat with the bread crumbs and parmesan cheese. Heat olive oil in a large frying pan, and saute 1 teaspoon of the garlic for 3 minutes. Quick fry (brown quickly on both sides) meat. Place meat in a casserole baking dish, slightly overlapping edges. Place onion rings and peppers on top of meat, and pour marinara sauce over all.</step> <step>bake at 350 degrees F (175 degrees C) for 30 to 45 minutes, depending on the thickness of the meat. Sprinkle mozzarella over meat and leave in the oven till bubbly.</step> <step>boil pasta al dente. Drain, and toss in butter and 1 teaspoon garlic. For a stronger garlic taste, season with garlic powder. Top with grated parmesan and parsley for color. Serve meat and sauce atop a mound of pasta!</step> </preparation> <comment>make the meat ahead of time, and refrigerate over night, the acid in the tomato sauce will tenderize the meat even more. If you do this, save the mozzarella till the last minute.</comment> <nutrition calories="1167" fat="23%" carbohydrates="45%" protein="32%" /> </recipe>

28 Query cap. 6 Testo consigliato 1. I titoli delle ricette che usano l olio di oliva 2. I titoli delle ricette restituite come stringhe 3. I titoli delle ricette che hanno meno di 500 calorie 4. Le ricette ordinate per numero di ingredienti semplici ascendente e a parità di ingredienti per il minor numero di calorie 5. Le ricette che usano più burro che olio di oliva 6. Genera le ricette (<ricetta>) aventi il titolo come attributo e gli ingredienti come elemento di testo (<ingrediente>)

29 Riferimenti Specifiche Testo consigliato e Materiale esercitazioni A. Moller and M. Schwartzbach, An Introduction to XML and Web Technologies, Addison Wesley, 2006 [cap. 6]

XML e Database. Giuseppe Della Penna Università degli Studi di L Aquila. Giuseppe.DellaPenna@univaq.it http://www.di.univaq.

XML e Database. Giuseppe Della Penna Università degli Studi di L Aquila. Giuseppe.DellaPenna@univaq.it http://www.di.univaq. XML e Database Giuseppe Della Penna Università degli Studi di L Aquila Giuseppe.DellaPenna@univaq.it http://www.di.univaq.it/gdellape Engineering IgTechnology Info92 Maggioli Informatica Micron Technology

Dettagli

Introduzione ai Sistemi di Gestione di Basi di Dati XML

Introduzione ai Sistemi di Gestione di Basi di Dati XML Introduzione ai Sistemi di Gestione di Basi di Dati Introduzione ai Sistemi di Gestione di Basi di Dati Obiettivi Memorizzare ed estrarre documenti da RDBMS. Trasformare dati tabellari in dati e viceversa.

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Linguaggi e Tecnologie Web A. A. 2011-2012. Language) Stylesheet. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XSL (extensible( Stylesheet Language) Eufemia TINELLI Contenuti XSL = XSLT + XSL-FO (+ XPath)

Dettagli

XML e Sistemi per la Gestione di Basi di Dati Relazionali

XML e Sistemi per la Gestione di Basi di Dati Relazionali Basi di Dati Distribuite a.a. 2004/2005 XML e Sistemi per la Gestione di Basi di Dati Relazionali Luca Noce - luxnox2000@yahoo.it Elisa Marino - marino_elisa@hotmail.com Obiettivi Necessità di conciliare

Dettagli

Settimana I...1. Giorno 1 - Introduzione all XSLT...3

Settimana I...1. Giorno 1 - Introduzione all XSLT...3 Settimana I...1 Giorno 1 - Introduzione all XSLT...3 Generalità su XSLT...3 Introduzione a XML e XSLT... 4 Cos è XSLT?... 5 Che cosa fa XSLT?... 6 Come si presenta XSLT?... 6 XSLT e la famiglia di XML...

Dettagli

Dati relazionali e XML

Dati relazionali e XML Dati relazionali e Introduzione (1) Memorizzazione dei dati Utilizzo dei dati Applicazione DBMS relazionale Applicazione Applicazione 2 Introduzione (2) Memorizzazione dei dati Utilizzo dei dati Applicazione

Dettagli

XML Schema Definition (XSD)

XML Schema Definition (XSD) Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011-2012 XML Schema Definition (XSD) Eufemia TINELLI Contenuti XML Schema e DTD Formato XML Schema Tipi

Dettagli

Uso delle variabili di alias. SQL slide aggiuntive. Interrogazione 25. Interrogazione 26

Uso 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

Dettagli

XQuery in DB2, Oracle ed SQL Server

XQuery in DB2, Oracle ed SQL Server XQuery in DB2, Oracle ed SQL Server Introduzione l Analizziamo il supporto allo standard XQuery fornito dai DBMS più diffusi, evidenziando eventuali differenze tra lo standard e le sue implementazioni.

Dettagli

Tecnologie per XML. Tecnologie per XML

Tecnologie per XML. Tecnologie per XML Progetto di sistemi informatici 2004 - Tecnologie per XML Paolo Papotti papotti@dia.uniroma3.it Lab. basi di dati Cosa vedremo oggi Richiami di XML Rappresentazione dati Sintassi Schemi Tecnologie per

Dettagli

4 - XML e basi di dati

4 - XML e basi di dati Sommario 4 - XML e basi di dati 1. Introduzione. 2. Dati strutturati, semistrutturati e non strutturati. 3. Modello dei dati gerarchico (Albero) di XML. 4. Documenti XML, DTD, e schema XML. 5. Documenti

Dettagli

RDBMS: panorama attuale. RDBMS: panorama attuale

RDBMS: panorama attuale. RDBMS: panorama attuale RDBMS: panorama attuale Gestiscono e manipolano dati semplici (tabellari) Hanno un linguaggio di interrogazione (SQL) semplice, dichiarativo e standard Tool consolidati per lo sviluppo di applicazioni

Dettagli

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi

Query. Query (Interrogazioni) SQL SQL. Significato dell interrogazione. Sintassi Query (Interrogazioni) Ultima modifica: 5/4/2012 SQL Materiale aggiuntivo per il corso di laurea in Lingue e Culture per il Turismo classe L-15! È necessario un modo per interrogare le basi di dati, cioè

Dettagli

DBMS (Data Base Management System)

DBMS (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

Dettagli

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

Il 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ù

Dettagli

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

Procedure 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

Dettagli

XQuery. è lo standard adottato dal W3C per la XML. - Consente di iterare sugli elementi di un documento - Consente di ristrutturare i contenuti XML

XQuery. è lo standard adottato dal W3C per la XML. - Consente di iterare sugli elementi di un documento - Consente di ristrutturare i contenuti XML ;4XHU\ XQuery Il linguaggio XQuery è lo standard adottato dal W3C per la manipolazione e ristrutturazione di documentid XML. - Consente di iterare sugli elementi di un documento - Consente di ristrutturare

Dettagli

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

Obiettivi 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

Dettagli

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

Dettagli

Corso di Laboratorio di Basi di Dati

Corso di Laboratorio di Basi di Dati Corso di Laboratorio di Basi di Dati F1I072 - INF/01 a.a 2009/2010 Pierluigi Pierini Technolabs S.p.a. Pierluigi.Pierini@technolabs.it Università degli Studi di L Aquila Dipartimento di Informatica Technolabs

Dettagli

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9

Indice Prefazione... 1 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 Vincoli e Trigger... 9 Prefazione... 1 Contenuti... 1 Ringraziamenti... 2 1 SQL Procedurale/SQL-PSM (Persistent Stored Modules)... 3 1.1 Dichiarazione di funzioni e procedure... 3 1.2 Istruzioni PSM... 4 2 Vincoli e Trigger...

Dettagli

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12

SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I. Anno accademico 2011/12 SQL prima parte D O C E N T E P R O F. A L B E R T O B E L U S S I Anno accademico 2011/12 DEFINIZIONE Il concetto di vista 2 È una relazione derivata. Si specifica l espressione che genera il suo contenuto.

Dettagli

Istituto Angioy Informatica BASI DI DATI. Prof. Ciaschetti

Istituto Angioy Informatica BASI DI DATI. Prof. Ciaschetti Istituto Angioy Informatica BASI DI DATI Prof. Ciaschetti Introduzione e prime definizioni Una Base di dati o Database è un archivio elettronico opportunamente organizzato per reperire in modo efficiente

Dettagli

Structured Query Language parte 1

Structured 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

Dettagli

XSLT WWW. Fabio Vitali 14 aprile 2000

XSLT WWW. Fabio Vitali 14 aprile 2000 XSLT Fabio Vitali 14 aprile 2000 Introduzione Oggi esaminiamo in breve: XSLT, ovvero il linguaggio di stile di XML. 2 XSL: un linguaggio di stylesheet Poiché nessun elemento di XML possiede un significato

Dettagli

ASP: DOMANDE E RISPOSTE (Q&A)

ASP: DOMANDE E RISPOSTE (Q&A) Autore: Classe: Nicola Ceccon QUINTA INFORMATICA (5IA) Anno scolastico: 2003/2004 Scuola: Itis Euganeo ASP: DOMANDE E RISPOSTE (Q&A) Dispensa La dispensa presenta i contenuti fondamentali di ASP nella

Dettagli

SQL IL LINGUAGGIO DI INTERROGAZIONE

SQL IL LINGUAGGIO DI INTERROGAZIONE SQL IL LINGUAGGIO DI INTERROGAZIONE SQL! Originato da SEQUEL-XRM e System-R (1974-1977) dell IBM! Significato originario Structured Query Language! Standard de facto! Attuale standard ANSI/ISO è SQL:1999

Dettagli

Istruzioni DML di SQL

Istruzioni DML di SQL Istruzioni DML di SQL Pag. 99 par.4 1 Sintassi: Costrutto: INSERT INTO (Inserimento di dati in tabelle) INSERT INTO [(, ,, )] VALUES (, ,

Dettagli

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

Al 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,

Dettagli

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale

Modelli relazionali. Esistono diversi modi di modellare un database. Il modello piu' usato al momento e' il modello relazionale Cenni sui DATABASE Cos'e' un database Un database puo' essere definito come una collezione strutturata di record (dati) I dati sono memorizzati su un computer in modo opportuno e possono essere recuperati

Dettagli

Tecniche Multimediali

Tecniche Multimediali Un programma di computer fa quello che gli dici, non quello che vuoi. Legge di Greer (Leggi di Murphy applicate all informatica) Tecniche Multimediali Corso di Laurea in «Informatica» - aa 2010-2011 Prof.

Dettagli

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

Dettagli

Corso di Informatica Generale 1 IN1. Linguaggio SQL

Corso di Informatica Generale 1 IN1. Linguaggio SQL Università Roma Tre Facoltà di Scienze M.F.N. di Laurea in Matematica di Informatica Generale 1 Linguaggio SQL Marco (liverani@mat.uniroma3.it) Sommario Prima parte: le basi dati relazionali Basi di dati:

Dettagli

PL/SQL Uso di un linguaggio procedurale per un database

PL/SQL Uso di un linguaggio procedurale per un database PL/SQL Uso di un linguaggio procedurale per un database Roberto Basili Corso di Basi Di Dati 1 a.a. 2000-2001 Abstract Questa breve dispensa descrive piu etesamente i contenuti della esercitazione del

Dettagli

JAVASCRIPT. Tale file è associato alla pagina web mediante il tag